diff --git a/4dev/composer/sync-to-composer-all-folder.sh b/4dev/composer/sync-to-composer-all-folder.sh old mode 100644 new mode 100755 diff --git a/4dev/sync/sync_template.sh b/4dev/sync/sync_template.sh index 1d8b4de1..589f563f 100755 --- a/4dev/sync/sync_template.sh +++ b/4dev/sync/sync_template.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash # create path path=$(pwd)"/"$0; @@ -10,6 +10,11 @@ TARGET_HOST_WEB="@"; TMP_DIR=$LOCAL_BASE_DIR"/4dev/tmp/"; tmpf_web=$TMP_DIR"sync.exclude.tmp"; +if [ ! -d "$LOCAL_BASE_DIR" ]; then + echo "Folder: $LOCAL_BASE_DIR not found"; + exit; +fi; + # if vendor be sure group folder is +x chmod -R ug+rX ${LOCAL_DIR}/vender/ diff --git a/composer.json b/composer.json index 57141339..082fc3e1 100644 --- a/composer.json +++ b/composer.json @@ -6,7 +6,8 @@ "require-dev": { "phpstan/phpstan": "^1.10", "phan/phan": "^5.4", - "phpstan/extension-installer": "^1.2" + "phpstan/extension-installer": "^1.2", + "vimeo/psalm": "^5.7" }, "config": { "allow-plugins": { diff --git a/composer.lock b/composer.lock index 24cc6b0a..0ba146ed 100644 --- a/composer.lock +++ b/composer.lock @@ -4,9 +4,248 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "d84c6906d304080e843d28d1b447cf8c", + "content-hash": "0394d224d0f07a238818542e4602ba86", "packages": [], "packages-dev": [ + { + "name": "amphp/amp", + "version": "v2.6.2", + "source": { + "type": "git", + "url": "https://github.com/amphp/amp.git", + "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", + "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1", + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^7 | ^8 | ^9", + "psalm/phar": "^3.11@dev", + "react/promise": "^2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "files": [ + "lib/functions.php", + "lib/Internal/functions.php" + ], + "psr-4": { + "Amp\\": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "https://amphp.org/amp", + "keywords": [ + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" + ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v2.6.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2022-02-20T17:52:18+00:00" + }, + { + "name": "amphp/byte-stream", + "version": "v1.8.1", + "source": { + "type": "git", + "url": "https://github.com/amphp/byte-stream.git", + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", + "shasum": "" + }, + "require": { + "amphp/amp": "^2", + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1.4", + "friendsofphp/php-cs-fixer": "^2.3", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^6 || ^7 || ^8", + "psalm/phar": "^3.11.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Amp\\ByteStream\\": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "http://amphp.org/byte-stream", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" + ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/v1.8.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2021-03-30T17:13:30+00:00" + }, + { + "name": "composer/package-versions-deprecated", + "version": "1.11.99.5", + "source": { + "type": "git", + "url": "https://github.com/composer/package-versions-deprecated.git", + "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d", + "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0 || ^2.0", + "php": "^7 || ^8" + }, + "replace": { + "ocramius/package-versions": "1.11.99" + }, + "require-dev": { + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13", + "phpunit/phpunit": "^6.5 || ^7" + }, + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-01-17T14:14:24+00:00" + }, { "name": "composer/pcre", "version": "3.1.0", @@ -225,6 +464,43 @@ ], "time": "2022-02-25T21:32:43+00:00" }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "type": "library", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, + "time": "2019-12-04T15:06:13+00:00" + }, { "name": "felixfbecker/advanced-json-rpc", "version": "v3.2.1", @@ -270,6 +546,123 @@ }, "time": "2021-06-11T22:34:44+00:00" }, + { + "name": "felixfbecker/language-server-protocol", + "version": "v1.5.2", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842", + "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "*", + "squizlabs/php_codesniffer": "^3.1", + "vimeo/psalm": "^4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "LanguageServerProtocol\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "PHP classes for the Language Server Protocol", + "keywords": [ + "language", + "microsoft", + "php", + "server" + ], + "support": { + "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2" + }, + "time": "2022-03-02T22:36:06+00:00" + }, + { + "name": "fidry/cpu-core-counter", + "version": "0.5.1", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.26 || ^8.5.31", + "theofidry/php-cs-fixer-config": "^1.0", + "webmozarts/strict-phpunit": "^7.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "time": "2022-12-24T12:35:10+00:00" + }, { "name": "microsoft/tolerant-php-parser", "version": "v0.1.2", @@ -366,6 +759,62 @@ }, "time": "2022-12-08T20:46:14+00:00" }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "time": "2023-03-05T19:49:14+00:00" + }, { "name": "phan/phan", "version": "5.4.2", @@ -656,16 +1105,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.3", + "version": "1.10.5", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "5419375b5891add97dc74be71e6c1c34baaddf64" + "reference": "1fb6f494d82455151ecf15c5c191923f5d84324e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/5419375b5891add97dc74be71e6c1c34baaddf64", - "reference": "5419375b5891add97dc74be71e6c1c34baaddf64", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1fb6f494d82455151ecf15c5c191923f5d84324e", + "reference": "1fb6f494d82455151ecf15c5c191923f5d84324e", "shasum": "" }, "require": { @@ -695,7 +1144,7 @@ ], "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.10.3" + "source": "https://github.com/phpstan/phpstan/tree/1.10.5" }, "funding": [ { @@ -711,7 +1160,7 @@ "type": "tidelift" } ], - "time": "2023-02-25T14:47:13+00:00" + "time": "2023-03-07T16:48:45+00:00" }, { "name": "psr/container", @@ -882,6 +1331,135 @@ }, "time": "2021-11-04T06:51:17+00:00" }, + { + "name": "sebastian/diff", + "version": "5.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "70dd1b20bc198da394ad542e988381b44e64e39f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/70dd1b20bc198da394ad542e988381b44e64e39f", + "reference": "70dd1b20bc198da394ad542e988381b44e64e39f", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T07:00:31+00:00" + }, + { + "name": "spatie/array-to-xml", + "version": "3.1.5", + "source": { + "type": "git", + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], + "support": { + "source": "https://github.com/spatie/array-to-xml/tree/3.1.5" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2022-12-24T13:43:51+00:00" + }, { "name": "symfony/console", "version": "v6.2.7", @@ -1045,6 +1623,69 @@ ], "time": "2023-03-01T10:25:55+00:00" }, + { + "name": "symfony/filesystem", + "version": "v6.2.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "82b6c62b959f642d000456f08c6d219d749215b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3", + "reference": "82b6c62b959f642d000456f08c6d219d749215b3", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-02-14T08:44:56+00:00" + }, { "name": "symfony/polyfill-ctype", "version": "v1.27.0", @@ -1691,6 +2332,111 @@ }, "time": "2022-08-31T12:59:22+00:00" }, + { + "name": "vimeo/psalm", + "version": "5.7.7", + "source": { + "type": "git", + "url": "https://github.com/vimeo/psalm.git", + "reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/e028ba46ba0d7f9a78bc3201c251e137383e145f", + "reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f", + "shasum": "" + }, + "require": { + "amphp/amp": "^2.4.2", + "amphp/byte-stream": "^1.5", + "composer/package-versions-deprecated": "^1.10.0", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", + "dnoegel/php-xdg-base-dir": "^0.1.1", + "ext-ctype": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-tokenizer": "*", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "nikic/php-parser": "^4.13", + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "sebastian/diff": "^4.0 || ^5.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", + "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0" + }, + "suggest": { + "ext-curl": "In order to send data to shepherd", + "ext-igbinary": "^2.0.5 is required, used to serialize caching data" + }, + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalter" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev", + "dev-4.x": "4.x-dev", + "dev-3.x": "3.x-dev", + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psalm\\": "src/Psalm/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthew Brown" + } + ], + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": [ + "code", + "inspection", + "php", + "static analysis" + ], + "support": { + "issues": "https://github.com/vimeo/psalm/issues", + "source": "https://github.com/vimeo/psalm/tree/5.7.7" + }, + "time": "2023-02-25T01:05:07+00:00" + }, { "name": "webmozart/assert", "version": "1.11.0", diff --git a/vendor/amphp/amp/LICENSE b/vendor/amphp/amp/LICENSE new file mode 100644 index 00000000..2b431ba0 --- /dev/null +++ b/vendor/amphp/amp/LICENSE @@ -0,0 +1,23 @@ + +The MIT License (MIT) + +Copyright (c) 2015-2019 amphp +Copyright (c) 2016 PHP Asynchronous Interoperability Group + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/amphp/amp/composer.json b/vendor/amphp/amp/composer.json new file mode 100644 index 00000000..c50a2bdc --- /dev/null +++ b/vendor/amphp/amp/composer.json @@ -0,0 +1,74 @@ +{ + "name": "amphp/amp", + "homepage": "https://amphp.org/amp", + "description": "A non-blocking concurrency framework for PHP applications.", + "keywords": [ + "async", + "asynchronous", + "concurrency", + "promise", + "awaitable", + "future", + "non-blocking", + "event", + "event-loop" + ], + "license": "MIT", + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "require": { + "php": ">=7.1" + }, + "require-dev": { + "ext-json": "*", + "amphp/phpunit-util": "^1", + "amphp/php-cs-fixer-config": "dev-master", + "react/promise": "^2", + "phpunit/phpunit": "^7 | ^8 | ^9", + "psalm/phar": "^3.11@dev", + "jetbrains/phpstorm-stubs": "^2019.3" + }, + "autoload": { + "psr-4": { + "Amp\\": "lib" + }, + "files": [ + "lib/functions.php", + "lib/Internal/functions.php" + ] + }, + "autoload-dev": { + "psr-4": { + "Amp\\Test\\": "test" + } + }, + "support": { + "issues": "https://github.com/amphp/amp/issues", + "irc": "irc://irc.freenode.org/amphp" + }, + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "scripts": { + "test": "@php -dzend.assertions=1 -dassert.exception=1 ./vendor/bin/phpunit", + "code-style": "@php ./vendor/bin/php-cs-fixer fix" + } +} diff --git a/vendor/amphp/amp/lib/CallableMaker.php b/vendor/amphp/amp/lib/CallableMaker.php new file mode 100644 index 00000000..8fa8cff7 --- /dev/null +++ b/vendor/amphp/amp/lib/CallableMaker.php @@ -0,0 +1,80 @@ +getMethod($method); + } + + return self::$__reflectionMethods[$method]->getClosure($this); + } + + /** + * Creates a callable from a protected or private static method that may be invoked by methods requiring a + * publicly invokable callback. + * + * @param string $method Static method name. + * + * @return callable + * + * @psalm-suppress MixedInferredReturnType + */ + private static function callableFromStaticMethod(string $method): callable + { + if (!isset(self::$__reflectionMethods[$method])) { + if (self::$__reflectionClass === null) { + self::$__reflectionClass = new \ReflectionClass(self::class); + } + self::$__reflectionMethods[$method] = self::$__reflectionClass->getMethod($method); + } + + return self::$__reflectionMethods[$method]->getClosure(); + } + } +} else { + /** @psalm-suppress DuplicateClass */ + trait CallableMaker + { + /** + * @deprecated Use \Closure::fromCallable() instead of this method in PHP 7.1. + */ + private function callableFromInstanceMethod(string $method): callable + { + return \Closure::fromCallable([$this, $method]); + } + + /** + * @deprecated Use \Closure::fromCallable() instead of this method in PHP 7.1. + */ + private static function callableFromStaticMethod(string $method): callable + { + return \Closure::fromCallable([self::class, $method]); + } + } +} // @codeCoverageIgnoreEnd diff --git a/vendor/amphp/amp/lib/CancellationToken.php b/vendor/amphp/amp/lib/CancellationToken.php new file mode 100644 index 00000000..b802994d --- /dev/null +++ b/vendor/amphp/amp/lib/CancellationToken.php @@ -0,0 +1,49 @@ +getToken(); + * + * $response = yield $httpClient->request("https://example.com/stream", $token); + * $responseBody = $response->getBody(); + * + * while (($chunk = yield $response->read()) !== null) { + * // consume $chunk + * + * if ($noLongerInterested) { + * $cancellationTokenSource->cancel(); + * break; + * } + * } + * ``` + * + * @see CancellationToken + * @see CancelledException + */ +final class CancellationTokenSource +{ + /** @var CancellationToken */ + private $token; + + /** @var callable|null */ + private $onCancel; + + public function __construct() + { + $onCancel = null; + + $this->token = new class($onCancel) implements CancellationToken { + /** @var string */ + private $nextId = "a"; + + /** @var callable[] */ + private $callbacks = []; + + /** @var \Throwable|null */ + private $exception; + + /** + * @param mixed $onCancel + * @param-out callable $onCancel + */ + public function __construct(&$onCancel) + { + /** @psalm-suppress MissingClosureReturnType We still support PHP 7.0 */ + $onCancel = function (\Throwable $exception) { + $this->exception = $exception; + + $callbacks = $this->callbacks; + $this->callbacks = []; + + foreach ($callbacks as $callback) { + $this->invokeCallback($callback); + } + }; + } + + /** + * @param callable $callback + * + * @return void + */ + private function invokeCallback(callable $callback) + { + // No type declaration to prevent exception outside the try! + try { + /** @var mixed $result */ + $result = $callback($this->exception); + + if ($result instanceof \Generator) { + /** @psalm-var \Generator $result */ + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + Loop::defer(static function () use ($exception) { + throw $exception; + }); + } + } + + public function subscribe(callable $callback): string + { + $id = $this->nextId++; + + if ($this->exception) { + $this->invokeCallback($callback); + } else { + $this->callbacks[$id] = $callback; + } + + return $id; + } + + public function unsubscribe(string $id) + { + unset($this->callbacks[$id]); + } + + public function isRequested(): bool + { + return isset($this->exception); + } + + public function throwIfRequested() + { + if (isset($this->exception)) { + throw $this->exception; + } + } + }; + + $this->onCancel = $onCancel; + } + + public function getToken(): CancellationToken + { + return $this->token; + } + + /** + * @param \Throwable|null $previous Exception to be used as the previous exception to CancelledException. + * + * @return void + */ + public function cancel(\Throwable $previous = null) + { + if ($this->onCancel === null) { + return; + } + + $onCancel = $this->onCancel; + $this->onCancel = null; + $onCancel(new CancelledException($previous)); + } +} diff --git a/vendor/amphp/amp/lib/CancelledException.php b/vendor/amphp/amp/lib/CancelledException.php new file mode 100644 index 00000000..25f8c400 --- /dev/null +++ b/vendor/amphp/amp/lib/CancelledException.php @@ -0,0 +1,17 @@ +exception; + $thatCallbacks = &$this->callbacks; + + foreach ($tokens as $token) { + $id = $token->subscribe(static function (CancelledException $exception) use (&$thatException, &$thatCallbacks) { + $thatException = $exception; + + $callbacks = $thatCallbacks; + $thatCallbacks = []; + + foreach ($callbacks as $callback) { + asyncCall($callback, $thatException); + } + }); + + $this->tokens[] = [$token, $id]; + } + } + + public function __destruct() + { + foreach ($this->tokens as list($token, $id)) { + /** @var CancellationToken $token */ + $token->unsubscribe($id); + } + } + + /** @inheritdoc */ + public function subscribe(callable $callback): string + { + $id = $this->nextId++; + + if ($this->exception) { + asyncCall($callback, $this->exception); + } else { + $this->callbacks[$id] = $callback; + } + + return $id; + } + + /** @inheritdoc */ + public function unsubscribe(string $id) + { + unset($this->callbacks[$id]); + } + + /** @inheritdoc */ + public function isRequested(): bool + { + foreach ($this->tokens as list($token)) { + if ($token->isRequested()) { + return true; + } + } + + return false; + } + + /** @inheritdoc */ + public function throwIfRequested() + { + foreach ($this->tokens as list($token)) { + $token->throwIfRequested(); + } + } +} diff --git a/vendor/amphp/amp/lib/Coroutine.php b/vendor/amphp/amp/lib/Coroutine.php new file mode 100644 index 00000000..5a3b4aa8 --- /dev/null +++ b/vendor/amphp/amp/lib/Coroutine.php @@ -0,0 +1,160 @@ + + */ +final class Coroutine implements Promise +{ + use Internal\Placeholder; + + /** + * Attempts to transform the non-promise yielded from the generator into a promise, otherwise returns an instance + * `Amp\Failure` failed with an instance of `Amp\InvalidYieldError`. + * + * @param mixed $yielded Non-promise yielded from generator. + * @param \Generator $generator No type for performance, we already know the type. + * + * @return Promise + */ + private static function transform($yielded, $generator): Promise + { + $exception = null; // initialize here, see https://github.com/vimeo/psalm/issues/2951 + + try { + if (\is_array($yielded)) { + return Promise\all($yielded); + } + + if ($yielded instanceof ReactPromise) { + return Promise\adapt($yielded); + } + + // No match, continue to returning Failure below. + } catch (\Throwable $exception) { + // Conversion to promise failed, fall-through to returning Failure below. + } + + return new Failure(new InvalidYieldError( + $generator, + \sprintf( + "Unexpected yield; Expected an instance of %s or %s or an array of such instances", + Promise::class, + ReactPromise::class + ), + $exception + )); + } + + /** + * @param \Generator $generator + * @psalm-param \Generator,mixed,Promise|ReactPromise|TReturn> $generator + */ + public function __construct(\Generator $generator) + { + try { + $yielded = $generator->current(); + + if (!$yielded instanceof Promise) { + if (!$generator->valid()) { + $this->resolve($generator->getReturn()); + return; + } + + $yielded = self::transform($yielded, $generator); + } + } catch (\Throwable $exception) { + $this->fail($exception); + return; + } + + /** + * @param \Throwable|null $e Exception to be thrown into the generator. + * @param mixed $v Value to be sent into the generator. + * + * @return void + * + * @psalm-suppress MissingClosureParamType + * @psalm-suppress MissingClosureReturnType + */ + $onResolve = function (\Throwable $e = null, $v) use ($generator, &$onResolve) { + /** @var bool $immediate Used to control iterative coroutine continuation. */ + static $immediate = true; + + /** @var \Throwable|null $exception Promise failure reason when executing next coroutine step, null at all other times. */ + static $exception; + + /** @var mixed $value Promise success value when executing next coroutine step, null at all other times. */ + static $value; + + $exception = $e; + /** @psalm-suppress MixedAssignment */ + $value = $v; + + if (!$immediate) { + $immediate = true; + return; + } + + try { + try { + do { + if ($exception) { + // Throw exception at current execution point. + $yielded = $generator->throw($exception); + } else { + // Send the new value and execute to next yield statement. + $yielded = $generator->send($value); + } + + if (!$yielded instanceof Promise) { + if (!$generator->valid()) { + $this->resolve($generator->getReturn()); + $onResolve = null; + return; + } + + $yielded = self::transform($yielded, $generator); + } + + $immediate = false; + $yielded->onResolve($onResolve); + } while ($immediate); + + $immediate = true; + } catch (\Throwable $exception) { + $this->fail($exception); + $onResolve = null; + } finally { + $exception = null; + $value = null; + } + } catch (\Throwable $e) { + Loop::defer(static function () use ($e) { + throw $e; + }); + } + }; + + try { + $yielded->onResolve($onResolve); + + unset($generator, $yielded, $onResolve); + } catch (\Throwable $e) { + Loop::defer(static function () use ($e) { + throw $e; + }); + } + } +} diff --git a/vendor/amphp/amp/lib/Deferred.php b/vendor/amphp/amp/lib/Deferred.php new file mode 100644 index 00000000..cec1c5a4 --- /dev/null +++ b/vendor/amphp/amp/lib/Deferred.php @@ -0,0 +1,76 @@ + Has public resolve and fail methods. */ + private $resolver; + + /** @var Promise Hides placeholder methods */ + private $promise; + + public function __construct() + { + $this->resolver = new class implements Promise { + use Internal\Placeholder { + resolve as public; + fail as public; + isResolved as public; + } + }; + + $this->promise = new Internal\PrivatePromise($this->resolver); + } + + /** + * @return Promise + */ + public function promise(): Promise + { + return $this->promise; + } + + /** + * Fulfill the promise with the given value. + * + * @param mixed $value + * + * @psalm-param TValue|Promise $value + * + * @return void + */ + public function resolve($value = null) + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->resolver->resolve($value); + } + + /** + * Fails the promise the the given reason. + * + * @param \Throwable $reason + * + * @return void + */ + public function fail(\Throwable $reason) + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->resolver->fail($reason); + } + + /** + * @return bool True if the promise has been resolved. + */ + public function isResolved(): bool + { + return $this->resolver->isResolved(); + } +} diff --git a/vendor/amphp/amp/lib/Delayed.php b/vendor/amphp/amp/lib/Delayed.php new file mode 100644 index 00000000..ec9b4202 --- /dev/null +++ b/vendor/amphp/amp/lib/Delayed.php @@ -0,0 +1,58 @@ + + */ +final class Delayed implements Promise +{ + use Internal\Placeholder; + + /** @var string|null Event loop watcher identifier. */ + private $watcher; + + /** + * @param int $time Milliseconds before succeeding the promise. + * @param TReturn $value Succeed the promise with this value. + */ + public function __construct(int $time, $value = null) + { + $this->watcher = Loop::delay($time, function () use ($value) { + $this->watcher = null; + $this->resolve($value); + }); + } + + /** + * References the internal watcher in the event loop, keeping the loop running while this promise is pending. + * + * @return self + */ + public function reference(): self + { + if ($this->watcher !== null) { + Loop::reference($this->watcher); + } + + return $this; + } + + /** + * Unreferences the internal watcher in the event loop, allowing the loop to stop while this promise is pending if + * no other events are pending in the loop. + * + * @return self + */ + public function unreference(): self + { + if ($this->watcher !== null) { + Loop::unreference($this->watcher); + } + + return $this; + } +} diff --git a/vendor/amphp/amp/lib/Emitter.php b/vendor/amphp/amp/lib/Emitter.php new file mode 100644 index 00000000..cd6b7e54 --- /dev/null +++ b/vendor/amphp/amp/lib/Emitter.php @@ -0,0 +1,84 @@ + Has public emit, complete, and fail methods. */ + private $emitter; + + /** @var Iterator Hides producer methods. */ + private $iterator; + + public function __construct() + { + $this->emitter = new class implements Iterator { + use Internal\Producer { + emit as public; + complete as public; + fail as public; + } + }; + + $this->iterator = new Internal\PrivateIterator($this->emitter); + } + + /** + * @return Iterator + * @psalm-return Iterator + */ + public function iterate(): Iterator + { + return $this->iterator; + } + + /** + * Emits a value to the iterator. + * + * @param mixed $value + * + * @psalm-param TValue $value + * + * @return Promise + * @psalm-return Promise + * @psalm-suppress MixedInferredReturnType + * @psalm-suppress MixedReturnStatement + */ + public function emit($value): Promise + { + /** @psalm-suppress UndefinedInterfaceMethod */ + return $this->emitter->emit($value); + } + + /** + * Completes the iterator. + * + * @return void + */ + public function complete() + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->emitter->complete(); + } + + /** + * Fails the iterator with the given reason. + * + * @param \Throwable $reason + * + * @return void + */ + public function fail(\Throwable $reason) + { + /** @psalm-suppress UndefinedInterfaceMethod */ + $this->emitter->fail($reason); + } +} diff --git a/vendor/amphp/amp/lib/Failure.php b/vendor/amphp/amp/lib/Failure.php new file mode 100644 index 00000000..4c1ea62d --- /dev/null +++ b/vendor/amphp/amp/lib/Failure.php @@ -0,0 +1,52 @@ + + */ +final class Failure implements Promise +{ + /** @var \Throwable $exception */ + private $exception; + + /** + * @param \Throwable $exception Rejection reason. + */ + public function __construct(\Throwable $exception) + { + $this->exception = $exception; + } + + /** + * {@inheritdoc} + */ + public function onResolve(callable $onResolved) + { + try { + /** @var mixed $result */ + $result = $onResolved($this->exception, null); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Throwable $exception) { + Loop::defer(static function () use ($exception) { + throw $exception; + }); + } + } +} diff --git a/vendor/amphp/amp/lib/Internal/Placeholder.php b/vendor/amphp/amp/lib/Internal/Placeholder.php new file mode 100644 index 00000000..dccf6067 --- /dev/null +++ b/vendor/amphp/amp/lib/Internal/Placeholder.php @@ -0,0 +1,187 @@ +, mixed, + * mixed>|null)|callable(\Throwable|null, mixed): void */ + private $onResolved; + + /** @var null|array */ + private $resolutionTrace; + + /** + * @inheritdoc + */ + public function onResolve(callable $onResolved) + { + if ($this->resolved) { + if ($this->result instanceof Promise) { + $this->result->onResolve($onResolved); + return; + } + + try { + /** @var mixed $result */ + $result = $onResolved(null, $this->result); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Throwable $exception) { + Loop::defer(static function () use ($exception) { + throw $exception; + }); + } + return; + } + + if (null === $this->onResolved) { + $this->onResolved = $onResolved; + return; + } + + if (!$this->onResolved instanceof ResolutionQueue) { + /** @psalm-suppress InternalClass */ + $this->onResolved = new ResolutionQueue($this->onResolved); + } + + /** @psalm-suppress InternalMethod */ + $this->onResolved->push($onResolved); + } + + public function __destruct() + { + try { + $this->result = null; + } catch (\Throwable $e) { + Loop::defer(static function () use ($e) { + throw $e; + }); + } + } + + /** + * @param mixed $value + * + * @return void + * + * @throws \Error Thrown if the promise has already been resolved. + */ + private function resolve($value = null) + { + if ($this->resolved) { + $message = "Promise has already been resolved"; + + if (isset($this->resolutionTrace)) { + $trace = formatStacktrace($this->resolutionTrace); + $message .= ". Previous resolution trace:\n\n{$trace}\n\n"; + } else { + // @codeCoverageIgnoreStart + $message .= ", define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions " + . "for a stacktrace of the previous resolution."; + // @codeCoverageIgnoreEnd + } + + throw new \Error($message); + } + + \assert((function () { + $env = \getenv("AMP_DEBUG") ?: "0"; + if (($env !== "0" && $env !== "false") || (\defined("AMP_DEBUG") && \AMP_DEBUG)) { + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS); + \array_shift($trace); // remove current closure + $this->resolutionTrace = $trace; + } + + return true; + })()); + + if ($value instanceof ReactPromise) { + $value = Promise\adapt($value); + } + + $this->resolved = true; + $this->result = $value; + + if ($this->onResolved === null) { + return; + } + + $onResolved = $this->onResolved; + $this->onResolved = null; + + if ($this->result instanceof Promise) { + $this->result->onResolve($onResolved); + return; + } + + try { + /** @var mixed $result */ + $result = $onResolved(null, $this->result); + $onResolved = null; // allow garbage collection of $onResolved, to catch any exceptions from destructors + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Throwable $exception) { + Loop::defer(static function () use ($exception) { + throw $exception; + }); + } + } + + /** + * @param \Throwable $reason Failure reason. + * + * @return void + */ + private function fail(\Throwable $reason) + { + $this->resolve(new Failure($reason)); + } + + /** + * @return bool True if the placeholder has been resolved. + */ + private function isResolved(): bool + { + return $this->resolved; + } +} diff --git a/vendor/amphp/amp/lib/Internal/PrivateIterator.php b/vendor/amphp/amp/lib/Internal/PrivateIterator.php new file mode 100644 index 00000000..7a14b243 --- /dev/null +++ b/vendor/amphp/amp/lib/Internal/PrivateIterator.php @@ -0,0 +1,45 @@ + + */ +final class PrivateIterator implements Iterator +{ + /** @var Iterator */ + private $iterator; + + /** + * @param Iterator $iterator + * + * @psalm-param Iterator $iterator + */ + public function __construct(Iterator $iterator) + { + $this->iterator = $iterator; + } + + /** + * @return Promise + */ + public function advance(): Promise + { + return $this->iterator->advance(); + } + + /** + * @psalm-return TValue + */ + public function getCurrent() + { + return $this->iterator->getCurrent(); + } +} diff --git a/vendor/amphp/amp/lib/Internal/PrivatePromise.php b/vendor/amphp/amp/lib/Internal/PrivatePromise.php new file mode 100644 index 00000000..3bd568a8 --- /dev/null +++ b/vendor/amphp/amp/lib/Internal/PrivatePromise.php @@ -0,0 +1,25 @@ +promise = $promise; + } + + public function onResolve(callable $onResolved) + { + $this->promise->onResolve($onResolved); + } +} diff --git a/vendor/amphp/amp/lib/Internal/Producer.php b/vendor/amphp/amp/lib/Internal/Producer.php new file mode 100644 index 00000000..c955755a --- /dev/null +++ b/vendor/amphp/amp/lib/Internal/Producer.php @@ -0,0 +1,212 @@ + + */ + public function advance(): Promise + { + if ($this->waiting !== null) { + throw new \Error("The prior promise returned must resolve before invoking this method again"); + } + + unset($this->values[$this->consumePosition]); + + $position = ++$this->consumePosition; + + if (\array_key_exists($position, $this->values)) { + \assert(isset($this->backPressure[$position])); + $deferred = $this->backPressure[$position]; + unset($this->backPressure[$position]); + $deferred->resolve(); + + return new Success(true); + } + + if ($this->complete) { + return $this->complete; + } + + $this->waiting = new Deferred; + + return $this->waiting->promise(); + } + + /** + * {@inheritdoc} + * + * @return TValue + */ + public function getCurrent() + { + if (empty($this->values) && $this->complete) { + throw new \Error("The iterator has completed"); + } + + if (!\array_key_exists($this->consumePosition, $this->values)) { + throw new \Error("Promise returned from advance() must resolve before calling this method"); + } + + return $this->values[$this->consumePosition]; + } + + /** + * Emits a value from the iterator. The returned promise is resolved once the emitted value has been consumed. + * + * @param mixed $value + * + * @return Promise + * @psalm-return Promise + * + * @throws \Error If the iterator has completed. + */ + private function emit($value): Promise + { + if ($this->complete) { + throw new \Error("Iterators cannot emit values after calling complete"); + } + + if ($value instanceof ReactPromise) { + $value = Promise\adapt($value); + } + + if ($value instanceof Promise) { + $deferred = new Deferred; + $value->onResolve(function ($e, $v) use ($deferred) { + if ($this->complete) { + $deferred->fail( + new \Error("The iterator was completed before the promise result could be emitted") + ); + return; + } + + if ($e) { + $this->fail($e); + $deferred->fail($e); + return; + } + + $deferred->resolve($this->emit($v)); + }); + + return $deferred->promise(); + } + + $position = ++$this->emitPosition; + + $this->values[$position] = $value; + + if ($this->waiting !== null) { + $waiting = $this->waiting; + $this->waiting = null; + $waiting->resolve(true); + return new Success; // Consumer was already waiting for a new value, so back-pressure is unnecessary. + } + + $this->backPressure[$position] = $pressure = new Deferred; + + return $pressure->promise(); + } + + /** + * Completes the iterator. + * + * @return void + * + * @throws \Error If the iterator has already been completed. + */ + private function complete() + { + if ($this->complete) { + $message = "Iterator has already been completed"; + + if (isset($this->resolutionTrace)) { + $trace = formatStacktrace($this->resolutionTrace); + $message .= ". Previous completion trace:\n\n{$trace}\n\n"; + } else { + // @codeCoverageIgnoreStart + $message .= ", define environment variable AMP_DEBUG or const AMP_DEBUG = true and enable assertions " + . "for a stacktrace of the previous resolution."; + // @codeCoverageIgnoreEnd + } + + throw new \Error($message); + } + + \assert((function () { + $env = \getenv("AMP_DEBUG") ?: "0"; + if (($env !== "0" && $env !== "false") || (\defined("AMP_DEBUG") && \AMP_DEBUG)) { + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS); + \array_shift($trace); // remove current closure + $this->resolutionTrace = $trace; + } + + return true; + })()); + + $this->complete = new Success(false); + + if ($this->waiting !== null) { + $waiting = $this->waiting; + $this->waiting = null; + $waiting->resolve($this->complete); + } + } + + /** + * @param \Throwable $exception + * + * @return void + */ + private function fail(\Throwable $exception) + { + $this->complete = new Failure($exception); + + if ($this->waiting !== null) { + $waiting = $this->waiting; + $this->waiting = null; + $waiting->resolve($this->complete); + } + } +} diff --git a/vendor/amphp/amp/lib/Internal/ResolutionQueue.php b/vendor/amphp/amp/lib/Internal/ResolutionQueue.php new file mode 100644 index 00000000..353a8b93 --- /dev/null +++ b/vendor/amphp/amp/lib/Internal/ResolutionQueue.php @@ -0,0 +1,90 @@ +, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void> */ + private $queue = []; + + /** + * @param callable|null $callback Initial callback to add to queue. + * + * @psalm-param null|callable(\Throwable|null, mixed): (Promise|\React\Promise\PromiseInterface|\Generator, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void $callback + */ + public function __construct(callable $callback = null) + { + if ($callback !== null) { + $this->push($callback); + } + } + + /** + * Unrolls instances of self to avoid blowing up the call stack on resolution. + * + * @param callable $callback + * + * @psalm-param callable(\Throwable|null, mixed): (Promise|\React\Promise\PromiseInterface|\Generator, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void $callback + * + * @return void + */ + public function push(callable $callback) + { + if ($callback instanceof self) { + $this->queue = \array_merge($this->queue, $callback->queue); + return; + } + + $this->queue[] = $callback; + } + + /** + * Calls each callback in the queue, passing the provided values to the function. + * + * @param \Throwable|null $exception + * @param mixed $value + * + * @return void + */ + public function __invoke($exception, $value) + { + foreach ($this->queue as $callback) { + try { + $result = $callback($exception, $value); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Throwable $exception) { + Loop::defer(static function () use ($exception) { + throw $exception; + }); + } + } + } +} diff --git a/vendor/amphp/amp/lib/Internal/functions.php b/vendor/amphp/amp/lib/Internal/functions.php new file mode 100644 index 00000000..eee9af20 --- /dev/null +++ b/vendor/amphp/amp/lib/Internal/functions.php @@ -0,0 +1,117 @@ + $trace Output of + * `debug_backtrace()`. + * + * @return string Formatted stacktrace. + * + * @codeCoverageIgnore + * @internal + */ +function formatStacktrace(array $trace): string +{ + return \implode("\n", \array_map(static function ($e, $i) { + $line = "#{$i} "; + + if (isset($e["file"])) { + $line .= "{$e['file']}:{$e['line']} "; + } + + if (isset($e["type"])) { + $line .= $e["class"] . $e["type"]; + } + + return $line . $e["function"] . "()"; + }, $trace, \array_keys($trace))); +} + +/** + * Creates a `TypeError` with a standardized error message. + * + * @param string[] $expected Expected types. + * @param mixed $given Given value. + * + * @return \TypeError + * + * @internal + */ +function createTypeError(array $expected, $given): \TypeError +{ + $givenType = \is_object($given) ? \sprintf("instance of %s", \get_class($given)) : \gettype($given); + + if (\count($expected) === 1) { + $expectedType = "Expected the following type: " . \array_pop($expected); + } else { + $expectedType = "Expected one of the following types: " . \implode(", ", $expected); + } + + return new \TypeError("{$expectedType}; {$givenType} given"); +} + +/** + * Returns the current time relative to an arbitrary point in time. + * + * @return int Time in milliseconds. + */ +function getCurrentTime(): int +{ + /** @var int|null $startTime */ + static $startTime; + /** @var int|null $nextWarning */ + static $nextWarning; + + if (\PHP_INT_SIZE === 4) { + // @codeCoverageIgnoreStart + if ($startTime === null) { + $startTime = \PHP_VERSION_ID >= 70300 ? \hrtime(false)[0] : \time(); + $nextWarning = \PHP_INT_MAX - 86400 * 7; + } + + if (\PHP_VERSION_ID >= 70300) { + list($seconds, $nanoseconds) = \hrtime(false); + $seconds -= $startTime; + + if ($seconds >= $nextWarning) { + $timeToOverflow = (\PHP_INT_MAX - $seconds * 1000) / 1000; + \trigger_error( + "getCurrentTime() will overflow in $timeToOverflow seconds, please restart the process before that. " . + "You're using a 32 bit version of PHP, so time will overflow about every 24 days. Regular restarts are required.", + \E_USER_WARNING + ); + + /** @psalm-suppress PossiblyNullOperand */ + $nextWarning += 600; // every 10 minutes + } + + return (int) ($seconds * 1000 + $nanoseconds / 1000000); + } + + $seconds = \microtime(true) - $startTime; + if ($seconds >= $nextWarning) { + $timeToOverflow = (\PHP_INT_MAX - $seconds * 1000) / 1000; + \trigger_error( + "getCurrentTime() will overflow in $timeToOverflow seconds, please restart the process before that. " . + "You're using a 32 bit version of PHP, so time will overflow about every 24 days. Regular restarts are required.", + \E_USER_WARNING + ); + + /** @psalm-suppress PossiblyNullOperand */ + $nextWarning += 600; // every 10 minutes + } + + return (int) ($seconds * 1000); + // @codeCoverageIgnoreEnd + } + + if (\PHP_VERSION_ID >= 70300) { + list($seconds, $nanoseconds) = \hrtime(false); + return (int) ($seconds * 1000 + $nanoseconds / 1000000); + } + + return (int) (\microtime(true) * 1000); +} diff --git a/vendor/amphp/amp/lib/InvalidYieldError.php b/vendor/amphp/amp/lib/InvalidYieldError.php new file mode 100644 index 00000000..8785708e --- /dev/null +++ b/vendor/amphp/amp/lib/InvalidYieldError.php @@ -0,0 +1,39 @@ +current(); + $prefix .= \sprintf( + "; %s yielded at key %s", + \is_object($yielded) ? \get_class($yielded) : \gettype($yielded), + \var_export($generator->key(), true) + ); + + if (!$generator->valid()) { + parent::__construct($prefix, 0, $previous); + return; + } + + $reflGen = new \ReflectionGenerator($generator); + $exeGen = $reflGen->getExecutingGenerator(); + if ($isSubgenerator = ($exeGen !== $generator)) { + $reflGen = new \ReflectionGenerator($exeGen); + } + + parent::__construct(\sprintf( + "%s on line %s in %s", + $prefix, + $reflGen->getExecutingLine(), + $reflGen->getExecutingFile() + ), 0, $previous); + } +} diff --git a/vendor/amphp/amp/lib/Iterator.php b/vendor/amphp/amp/lib/Iterator.php new file mode 100644 index 00000000..fee9b76b --- /dev/null +++ b/vendor/amphp/amp/lib/Iterator.php @@ -0,0 +1,34 @@ + + * + * @throws \Error If the prior promise returned from this method has not resolved. + * @throws \Throwable The exception used to fail the iterator. + */ + public function advance(): Promise; + + /** + * Gets the last emitted value or throws an exception if the iterator has completed. + * + * @return mixed Value emitted from the iterator. + * @psalm-return TValue + * + * @throws \Error If the iterator has resolved or advance() was not called before calling this method. + * @throws \Throwable The exception used to fail the iterator. + */ + public function getCurrent(); +} diff --git a/vendor/amphp/amp/lib/LazyPromise.php b/vendor/amphp/amp/lib/LazyPromise.php new file mode 100644 index 00000000..96be33f5 --- /dev/null +++ b/vendor/amphp/amp/lib/LazyPromise.php @@ -0,0 +1,44 @@ +promisor = $promisor; + } + + /** + * {@inheritdoc} + */ + public function onResolve(callable $onResolved) + { + if ($this->promise === null) { + \assert($this->promisor !== null); + + $provider = $this->promisor; + $this->promisor = null; + $this->promise = call($provider); + } + + \assert($this->promise !== null); + + $this->promise->onResolve($onResolved); + } +} diff --git a/vendor/amphp/amp/lib/Loop.php b/vendor/amphp/amp/lib/Loop.php new file mode 100644 index 00000000..d89d2101 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop.php @@ -0,0 +1,456 @@ +defer($callback); + } + + self::$driver->run(); + } + + /** + * Stop the event loop. + * + * When an event loop is stopped, it continues with its current tick and exits the loop afterwards. Multiple calls + * to stop MUST be ignored and MUST NOT raise an exception. + * + * @return void + */ + public static function stop() + { + self::$driver->stop(); + } + + /** + * Defer the execution of a callback. + * + * The deferred callable MUST be executed before any other type of watcher in a tick. Order of enabling MUST be + * preserved when executing the callbacks. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param callable(string $watcherId, mixed $data) $callback The callback to defer. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function defer(callable $callback, $data = null): string + { + return self::$driver->defer($callback, $data); + } + + /** + * Delay the execution of a callback. + * + * The delay is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be determined by which + * timers expire first, but timers with the same expiration time MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $delay The amount of time, in milliseconds, to delay the execution for. + * @param callable(string $watcherId, mixed $data) $callback The callback to delay. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function delay(int $delay, callable $callback, $data = null): string + { + return self::$driver->delay($delay, $callback, $data); + } + + /** + * Repeatedly execute a callback. + * + * The interval between executions is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be + * determined by which timers expire first, but timers with the same expiration time MAY be executed in any order. + * The first execution is scheduled after the first interval period. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $interval The time interval, in milliseconds, to wait between executions. + * @param callable(string $watcherId, mixed $data) $callback The callback to repeat. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function repeat(int $interval, callable $callback, $data = null): string + { + return self::$driver->repeat($interval, $callback, $data); + } + + /** + * Execute a callback when a stream resource becomes readable or is closed for reading. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable(string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function onReadable($stream, callable $callback, $data = null): string + { + return self::$driver->onReadable($stream, $callback, $data); + } + + /** + * Execute a callback when a stream resource becomes writable or is closed for writing. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable(string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public static function onWritable($stream, callable $callback, $data = null): string + { + return self::$driver->onWritable($stream, $callback, $data); + } + + /** + * Execute a callback when a signal is received. + * + * Warning: Installing the same signal on different instances of this interface is deemed undefined behavior. + * Implementations MAY try to detect this, if possible, but are not required to. This is due to technical + * limitations of the signals being registered globally per process. + * + * Multiple watchers on the same signal MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $signo The signal number to monitor. + * @param callable(string $watcherId, int $signo, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the $data parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + * + * @throws UnsupportedFeatureException If signal handling is not supported. + */ + public static function onSignal(int $signo, callable $callback, $data = null): string + { + return self::$driver->onSignal($signo, $callback, $data); + } + + /** + * Enable a watcher to be active starting in the next tick. + * + * Watchers MUST immediately be marked as enabled, but only be activated (i.e. callbacks can be called) right before + * the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public static function enable(string $watcherId) + { + self::$driver->enable($watcherId); + } + + /** + * Disable a watcher immediately. + * + * A watcher MUST be disabled immediately, e.g. if a defer watcher disables a later defer watcher, the second defer + * watcher isn't executed in this tick. + * + * Disabling a watcher MUST NOT invalidate the watcher. Calling this function MUST NOT fail, even if passed an + * invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public static function disable(string $watcherId) + { + if (\PHP_VERSION_ID < 70200 && !isset(self::$driver)) { + // Prior to PHP 7.2, self::$driver may be unset during destruct. + // See https://github.com/amphp/amp/issues/212. + return; + } + + self::$driver->disable($watcherId); + } + + /** + * Cancel a watcher. + * + * This will detatch the event loop from all resources that are associated to the watcher. After this operation the + * watcher is permanently invalid. Calling this function MUST NOT fail, even if passed an invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public static function cancel(string $watcherId) + { + if (\PHP_VERSION_ID < 70200 && !isset(self::$driver)) { + // Prior to PHP 7.2, self::$driver may be unset during destruct. + // See https://github.com/amphp/amp/issues/212. + return; + } + + self::$driver->cancel($watcherId); + } + + /** + * Reference a watcher. + * + * This will keep the event loop alive whilst the watcher is still being monitored. Watchers have this state by + * default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public static function reference(string $watcherId) + { + self::$driver->reference($watcherId); + } + + /** + * Unreference a watcher. + * + * The event loop should exit the run method when only unreferenced watchers are still being monitored. Watchers + * are all referenced by default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public static function unreference(string $watcherId) + { + if (\PHP_VERSION_ID < 70200 && !isset(self::$driver)) { + // Prior to PHP 7.2, self::$driver may be unset during destruct. + // See https://github.com/amphp/amp/issues/212. + return; + } + + self::$driver->unreference($watcherId); + } + + /** + * Returns the current loop time in millisecond increments. Note this value does not necessarily correlate to + * wall-clock time, rather the value returned is meant to be used in relative comparisons to prior values returned + * by this method (intervals, expiration calculations, etc.) and is only updated once per loop tick. + * + * @return int + */ + public static function now(): int + { + return self::$driver->now(); + } + + /** + * Stores information in the loop bound registry. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * @param mixed $value The value to be stored. + * + * @return void + */ + public static function setState(string $key, $value) + { + self::$driver->setState($key, $value); + } + + /** + * Gets information stored bound to the loop. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * + * @return mixed The previously stored value or `null` if it doesn't exist. + */ + public static function getState(string $key) + { + return self::$driver->getState($key); + } + + /** + * Set a callback to be executed when an error occurs. + * + * The callback receives the error as the first and only parameter. The return value of the callback gets ignored. + * If it can't handle the error, it MUST throw the error. Errors thrown by the callback or during its invocation + * MUST be thrown into the `run` loop and stop the driver. + * + * Subsequent calls to this method will overwrite the previous handler. + * + * @param callable(\Throwable $error)|null $callback The callback to execute. `null` will clear the + * current handler. + * + * @return callable(\Throwable $error)|null The previous handler, `null` if there was none. + */ + public static function setErrorHandler(callable $callback = null) + { + return self::$driver->setErrorHandler($callback); + } + + /** + * Retrieve an associative array of information about the event loop driver. + * + * The returned array MUST contain the following data describing the driver's currently registered watchers: + * + * [ + * "defer" => ["enabled" => int, "disabled" => int], + * "delay" => ["enabled" => int, "disabled" => int], + * "repeat" => ["enabled" => int, "disabled" => int], + * "on_readable" => ["enabled" => int, "disabled" => int], + * "on_writable" => ["enabled" => int, "disabled" => int], + * "on_signal" => ["enabled" => int, "disabled" => int], + * "enabled_watchers" => ["referenced" => int, "unreferenced" => int], + * "running" => bool + * ]; + * + * Implementations MAY optionally add more information in the array but at minimum the above `key => value` format + * MUST always be provided. + * + * @return array Statistics about the loop in the described format. + */ + public static function getInfo(): array + { + return self::$driver->getInfo(); + } + + /** + * Retrieve the event loop driver that is in scope. + * + * @return Driver + */ + public static function get(): Driver + { + return self::$driver; + } +} + +// Default factory, don't move this to a file loaded by the composer "files" autoload mechanism, otherwise custom +// implementations might have issues setting a default loop, because it's overridden by us then. + +// @codeCoverageIgnoreStart +Loop::set((new DriverFactory)->create()); +// @codeCoverageIgnoreEnd diff --git a/vendor/amphp/amp/lib/Loop/Driver.php b/vendor/amphp/amp/lib/Loop/Driver.php new file mode 100644 index 00000000..448bab62 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/Driver.php @@ -0,0 +1,742 @@ +running = true; + + try { + while ($this->running) { + if ($this->isEmpty()) { + return; + } + $this->tick(); + } + } finally { + $this->stop(); + } + } + + /** + * @return bool True if no enabled and referenced watchers remain in the loop. + */ + private function isEmpty(): bool + { + foreach ($this->watchers as $watcher) { + if ($watcher->enabled && $watcher->referenced) { + return false; + } + } + + return true; + } + + /** + * Executes a single tick of the event loop. + * + * @return void + */ + private function tick() + { + if (empty($this->deferQueue)) { + $this->deferQueue = $this->nextTickQueue; + } else { + $this->deferQueue = \array_merge($this->deferQueue, $this->nextTickQueue); + } + $this->nextTickQueue = []; + + $this->activate($this->enableQueue); + $this->enableQueue = []; + + foreach ($this->deferQueue as $watcher) { + if (!isset($this->deferQueue[$watcher->id])) { + continue; // Watcher disabled by another defer watcher. + } + + unset($this->watchers[$watcher->id], $this->deferQueue[$watcher->id]); + + try { + /** @var mixed $result */ + $result = ($watcher->callback)($watcher->id, $watcher->data); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + } + + /** @psalm-suppress RedundantCondition */ + $this->dispatch(empty($this->nextTickQueue) && empty($this->enableQueue) && $this->running && !$this->isEmpty()); + } + + /** + * Activates (enables) all the given watchers. + * + * @param Watcher[] $watchers + * + * @return void + */ + abstract protected function activate(array $watchers); + + /** + * Dispatches any pending read/write, timer, and signal events. + * + * @param bool $blocking + * + * @return void + */ + abstract protected function dispatch(bool $blocking); + + /** + * Stop the event loop. + * + * When an event loop is stopped, it continues with its current tick and exits the loop afterwards. Multiple calls + * to stop MUST be ignored and MUST NOT raise an exception. + * + * @return void + */ + public function stop() + { + $this->running = false; + } + + /** + * Defer the execution of a callback. + * + * The deferred callable MUST be executed before any other type of watcher in a tick. Order of enabling MUST be + * preserved when executing the callbacks. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param callable (string $watcherId, mixed $data) $callback The callback to defer. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function defer(callable $callback, $data = null): string + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher; + $watcher->type = Watcher::DEFER; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->data = $data; + + $this->watchers[$watcher->id] = $watcher; + $this->nextTickQueue[$watcher->id] = $watcher; + + return $watcher->id; + } + + /** + * Delay the execution of a callback. + * + * The delay is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be determined by which + * timers expire first, but timers with the same expiration time MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $delay The amount of time, in milliseconds, to delay the execution for. + * @param callable (string $watcherId, mixed $data) $callback The callback to delay. The `$watcherId` will be + * invalidated before the callback call. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function delay(int $delay, callable $callback, $data = null): string + { + if ($delay < 0) { + throw new \Error("Delay must be greater than or equal to zero"); + } + + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher; + $watcher->type = Watcher::DELAY; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $delay; + $watcher->expiration = $this->now() + $delay; + $watcher->data = $data; + + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + + return $watcher->id; + } + + /** + * Repeatedly execute a callback. + * + * The interval between executions is a minimum and approximate, accuracy is not guaranteed. Order of calls MUST be + * determined by which timers expire first, but timers with the same expiration time MAY be executed in any order. + * The first execution is scheduled after the first interval period. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $interval The time interval, in milliseconds, to wait between executions. + * @param callable (string $watcherId, mixed $data) $callback The callback to repeat. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function repeat(int $interval, callable $callback, $data = null): string + { + if ($interval < 0) { + throw new \Error("Interval must be greater than or equal to zero"); + } + + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher; + $watcher->type = Watcher::REPEAT; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $interval; + $watcher->expiration = $this->now() + $interval; + $watcher->data = $data; + + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + + return $watcher->id; + } + + /** + * Execute a callback when a stream resource becomes readable or is closed for reading. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable (string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function onReadable($stream, callable $callback, $data = null): string + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher; + $watcher->type = Watcher::READABLE; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $stream; + $watcher->data = $data; + + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + + return $watcher->id; + } + + /** + * Execute a callback when a stream resource becomes writable or is closed for writing. + * + * Warning: Closing resources locally, e.g. with `fclose`, might not invoke the callback. Be sure to `cancel` the + * watcher when closing the resource locally. Drivers MAY choose to notify the user if there are watchers on invalid + * resources, but are not required to, due to the high performance impact. Watchers on closed resources are + * therefore undefined behavior. + * + * Multiple watchers on the same stream MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param resource $stream The stream to monitor. + * @param callable (string $watcherId, resource $stream, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the `$data` parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + */ + public function onWritable($stream, callable $callback, $data = null): string + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher; + $watcher->type = Watcher::WRITABLE; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $stream; + $watcher->data = $data; + + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + + return $watcher->id; + } + + /** + * Execute a callback when a signal is received. + * + * Warning: Installing the same signal on different instances of this interface is deemed undefined behavior. + * Implementations MAY try to detect this, if possible, but are not required to. This is due to technical + * limitations of the signals being registered globally per process. + * + * Multiple watchers on the same signal MAY be executed in any order. + * + * The created watcher MUST immediately be marked as enabled, but only be activated (i.e. callback can be called) + * right before the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param int $signo The signal number to monitor. + * @param callable (string $watcherId, int $signo, mixed $data) $callback The callback to execute. + * @param mixed $data Arbitrary data given to the callback function as the $data parameter. + * + * @return string An unique identifier that can be used to cancel, enable or disable the watcher. + * + * @throws UnsupportedFeatureException If signal handling is not supported. + */ + public function onSignal(int $signo, callable $callback, $data = null): string + { + /** @psalm-var Watcher $watcher */ + $watcher = new Watcher; + $watcher->type = Watcher::SIGNAL; + $watcher->id = $this->nextId++; + $watcher->callback = $callback; + $watcher->value = $signo; + $watcher->data = $data; + + $this->watchers[$watcher->id] = $watcher; + $this->enableQueue[$watcher->id] = $watcher; + + return $watcher->id; + } + + /** + * Enable a watcher to be active starting in the next tick. + * + * Watchers MUST immediately be marked as enabled, but only be activated (i.e. callbacks can be called) right before + * the next tick. Callbacks of watchers MUST NOT be called in the tick they were enabled. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public function enable(string $watcherId) + { + if (!isset($this->watchers[$watcherId])) { + throw new InvalidWatcherError($watcherId, "Cannot enable an invalid watcher identifier: '{$watcherId}'"); + } + + $watcher = $this->watchers[$watcherId]; + + if ($watcher->enabled) { + return; // Watcher already enabled. + } + + $watcher->enabled = true; + + switch ($watcher->type) { + case Watcher::DEFER: + $this->nextTickQueue[$watcher->id] = $watcher; + break; + + case Watcher::REPEAT: + case Watcher::DELAY: + \assert(\is_int($watcher->value)); + + $watcher->expiration = $this->now() + $watcher->value; + $this->enableQueue[$watcher->id] = $watcher; + break; + + default: + $this->enableQueue[$watcher->id] = $watcher; + break; + } + } + + /** + * Cancel a watcher. + * + * This will detach the event loop from all resources that are associated to the watcher. After this operation the + * watcher is permanently invalid. Calling this function MUST NOT fail, even if passed an invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public function cancel(string $watcherId) + { + $this->disable($watcherId); + unset($this->watchers[$watcherId]); + } + + /** + * Disable a watcher immediately. + * + * A watcher MUST be disabled immediately, e.g. if a defer watcher disables a later defer watcher, the second defer + * watcher isn't executed in this tick. + * + * Disabling a watcher MUST NOT invalidate the watcher. Calling this function MUST NOT fail, even if passed an + * invalid watcher. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public function disable(string $watcherId) + { + if (!isset($this->watchers[$watcherId])) { + return; + } + + $watcher = $this->watchers[$watcherId]; + + if (!$watcher->enabled) { + return; // Watcher already disabled. + } + + $watcher->enabled = false; + $id = $watcher->id; + + switch ($watcher->type) { + case Watcher::DEFER: + if (isset($this->nextTickQueue[$id])) { + // Watcher was only queued to be enabled. + unset($this->nextTickQueue[$id]); + } else { + unset($this->deferQueue[$id]); + } + break; + + default: + if (isset($this->enableQueue[$id])) { + // Watcher was only queued to be enabled. + unset($this->enableQueue[$id]); + } else { + $this->deactivate($watcher); + } + break; + } + } + + /** + * Deactivates (disables) the given watcher. + * + * @param Watcher $watcher + * + * @return void + */ + abstract protected function deactivate(Watcher $watcher); + + /** + * Reference a watcher. + * + * This will keep the event loop alive whilst the watcher is still being monitored. Watchers have this state by + * default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + * + * @throws InvalidWatcherError If the watcher identifier is invalid. + */ + public function reference(string $watcherId) + { + if (!isset($this->watchers[$watcherId])) { + throw new InvalidWatcherError($watcherId, "Cannot reference an invalid watcher identifier: '{$watcherId}'"); + } + + $this->watchers[$watcherId]->referenced = true; + } + + /** + * Unreference a watcher. + * + * The event loop should exit the run method when only unreferenced watchers are still being monitored. Watchers + * are all referenced by default. + * + * @param string $watcherId The watcher identifier. + * + * @return void + */ + public function unreference(string $watcherId) + { + if (!isset($this->watchers[$watcherId])) { + return; + } + + $this->watchers[$watcherId]->referenced = false; + } + + /** + * Stores information in the loop bound registry. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * @param mixed $value The value to be stored. + * + * @return void + */ + final public function setState(string $key, $value) + { + if ($value === null) { + unset($this->registry[$key]); + } else { + $this->registry[$key] = $value; + } + } + + /** + * Gets information stored bound to the loop. + * + * Stored information is package private. Packages MUST NOT retrieve the stored state of other packages. Packages + * MUST use their namespace as prefix for keys. They may do so by using `SomeClass::class` as key. + * + * If packages want to expose loop bound state to consumers other than the package, they SHOULD provide a dedicated + * interface for that purpose instead of sharing the storage key. + * + * @param string $key The namespaced storage key. + * + * @return mixed The previously stored value or `null` if it doesn't exist. + */ + final public function getState(string $key) + { + return isset($this->registry[$key]) ? $this->registry[$key] : null; + } + + /** + * Set a callback to be executed when an error occurs. + * + * The callback receives the error as the first and only parameter. The return value of the callback gets ignored. + * If it can't handle the error, it MUST throw the error. Errors thrown by the callback or during its invocation + * MUST be thrown into the `run` loop and stop the driver. + * + * Subsequent calls to this method will overwrite the previous handler. + * + * @param callable(\Throwable $error):void|null $callback The callback to execute. `null` will clear the + * current handler. + * + * @return callable(\Throwable $error):void|null The previous handler, `null` if there was none. + */ + public function setErrorHandler(callable $callback = null) + { + $previous = $this->errorHandler; + $this->errorHandler = $callback; + return $previous; + } + + /** + * Invokes the error handler with the given exception. + * + * @param \Throwable $exception The exception thrown from a watcher callback. + * + * @return void + * @throws \Throwable If no error handler has been set. + */ + protected function error(\Throwable $exception) + { + if ($this->errorHandler === null) { + throw $exception; + } + + ($this->errorHandler)($exception); + } + + /** + * Returns the current loop time in millisecond increments. Note this value does not necessarily correlate to + * wall-clock time, rather the value returned is meant to be used in relative comparisons to prior values returned + * by this method (intervals, expiration calculations, etc.) and is only updated once per loop tick. + * + * Extending classes should override this function to return a value cached once per loop tick. + * + * @return int + */ + public function now(): int + { + return (int) (\microtime(true) * self::MILLISEC_PER_SEC); + } + + /** + * Get the underlying loop handle. + * + * Example: the `uv_loop` resource for `libuv` or the `EvLoop` object for `libev` or `null` for a native driver. + * + * Note: This function is *not* exposed in the `Loop` class. Users shall access it directly on the respective loop + * instance. + * + * @return null|object|resource The loop handle the event loop operates on. `null` if there is none. + */ + abstract public function getHandle(); + + /** + * Returns the same array of data as getInfo(). + * + * @return array + */ + public function __debugInfo() + { + // @codeCoverageIgnoreStart + return $this->getInfo(); + // @codeCoverageIgnoreEnd + } + + /** + * Retrieve an associative array of information about the event loop driver. + * + * The returned array MUST contain the following data describing the driver's currently registered watchers: + * + * [ + * "defer" => ["enabled" => int, "disabled" => int], + * "delay" => ["enabled" => int, "disabled" => int], + * "repeat" => ["enabled" => int, "disabled" => int], + * "on_readable" => ["enabled" => int, "disabled" => int], + * "on_writable" => ["enabled" => int, "disabled" => int], + * "on_signal" => ["enabled" => int, "disabled" => int], + * "enabled_watchers" => ["referenced" => int, "unreferenced" => int], + * "running" => bool + * ]; + * + * Implementations MAY optionally add more information in the array but at minimum the above `key => value` format + * MUST always be provided. + * + * @return array Statistics about the loop in the described format. + */ + public function getInfo(): array + { + $watchers = [ + "referenced" => 0, + "unreferenced" => 0, + ]; + + $defer = $delay = $repeat = $onReadable = $onWritable = $onSignal = [ + "enabled" => 0, + "disabled" => 0, + ]; + + foreach ($this->watchers as $watcher) { + switch ($watcher->type) { + case Watcher::READABLE: + $array = &$onReadable; + break; + case Watcher::WRITABLE: + $array = &$onWritable; + break; + case Watcher::SIGNAL: + $array = &$onSignal; + break; + case Watcher::DEFER: + $array = &$defer; + break; + case Watcher::DELAY: + $array = &$delay; + break; + case Watcher::REPEAT: + $array = &$repeat; + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + + if ($watcher->enabled) { + ++$array["enabled"]; + + if ($watcher->referenced) { + ++$watchers["referenced"]; + } else { + ++$watchers["unreferenced"]; + } + } else { + ++$array["disabled"]; + } + } + + return [ + "enabled_watchers" => $watchers, + "defer" => $defer, + "delay" => $delay, + "repeat" => $repeat, + "on_readable" => $onReadable, + "on_writable" => $onWritable, + "on_signal" => $onSignal, + "running" => (bool) $this->running, + ]; + } +} diff --git a/vendor/amphp/amp/lib/Loop/DriverFactory.php b/vendor/amphp/amp/lib/Loop/DriverFactory.php new file mode 100644 index 00000000..0ce16524 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/DriverFactory.php @@ -0,0 +1,73 @@ +createDriverFromEnv()) { + return $driver; + } + + if (UvDriver::isSupported()) { + return new UvDriver; + } + + if (EvDriver::isSupported()) { + return new EvDriver; + } + + if (EventDriver::isSupported()) { + return new EventDriver; + } + + return new NativeDriver; + })(); + + if (\getenv("AMP_DEBUG_TRACE_WATCHERS")) { + return new TracingDriver($driver); + } + + return $driver; + } + + /** + * @return Driver|null + */ + private function createDriverFromEnv() + { + $driver = \getenv("AMP_LOOP_DRIVER"); + + if (!$driver) { + return null; + } + + if (!\class_exists($driver)) { + throw new \Error(\sprintf( + "Driver '%s' does not exist.", + $driver + )); + } + + if (!\is_subclass_of($driver, Driver::class)) { + throw new \Error(\sprintf( + "Driver '%s' is not a subclass of '%s'.", + $driver, + Driver::class + )); + } + + return new $driver; + } +} +// @codeCoverageIgnoreEnd diff --git a/vendor/amphp/amp/lib/Loop/EvDriver.php b/vendor/amphp/amp/lib/Loop/EvDriver.php new file mode 100644 index 00000000..401bb3ba --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/EvDriver.php @@ -0,0 +1,317 @@ +handle = new \EvLoop; + $this->nowOffset = getCurrentTime(); + $this->now = \random_int(0, $this->nowOffset); + $this->nowOffset -= $this->now; + + if (self::$activeSignals === null) { + self::$activeSignals = &$this->signals; + } + + /** + * @param \EvIO $event + * + * @return void + */ + $this->ioCallback = function (\EvIO $event) { + /** @var Watcher $watcher */ + $watcher = $event->data; + + try { + $result = ($watcher->callback)($watcher->id, $watcher->value, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + + /** + * @param \EvTimer $event + * + * @return void + */ + $this->timerCallback = function (\EvTimer $event) { + /** @var Watcher $watcher */ + $watcher = $event->data; + + if ($watcher->type & Watcher::DELAY) { + $this->cancel($watcher->id); + } elseif ($watcher->value === 0) { + // Disable and re-enable so it's not executed repeatedly in the same tick + // See https://github.com/amphp/amp/issues/131 + $this->disable($watcher->id); + $this->enable($watcher->id); + } + + try { + $result = ($watcher->callback)($watcher->id, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + + /** + * @param \EvSignal $event + * + * @return void + */ + $this->signalCallback = function (\EvSignal $event) { + /** @var Watcher $watcher */ + $watcher = $event->data; + + try { + $result = ($watcher->callback)($watcher->id, $watcher->value, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + } + + /** + * {@inheritdoc} + */ + public function cancel(string $watcherId) + { + parent::cancel($watcherId); + unset($this->events[$watcherId]); + } + + public function __destruct() + { + foreach ($this->events as $event) { + /** @psalm-suppress all */ + if ($event !== null) { // Events may have been nulled in extension depending on destruct order. + $event->stop(); + } + } + + // We need to clear all references to events manually, see + // https://bitbucket.org/osmanov/pecl-ev/issues/31/segfault-in-ev_timer_stop + $this->events = []; + } + + /** + * {@inheritdoc} + */ + public function run() + { + $active = self::$activeSignals; + + \assert($active !== null); + + foreach ($active as $event) { + $event->stop(); + } + + self::$activeSignals = &$this->signals; + + foreach ($this->signals as $event) { + $event->start(); + } + + try { + parent::run(); + } finally { + foreach ($this->signals as $event) { + $event->stop(); + } + + self::$activeSignals = &$active; + + foreach ($active as $event) { + $event->start(); + } + } + } + + /** + * {@inheritdoc} + */ + public function stop() + { + $this->handle->stop(); + parent::stop(); + } + + /** + * {@inheritdoc} + */ + public function now(): int + { + $this->now = getCurrentTime() - $this->nowOffset; + + return $this->now; + } + + /** + * {@inheritdoc} + */ + public function getHandle(): \EvLoop + { + return $this->handle; + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function dispatch(bool $blocking) + { + $this->handle->run($blocking ? \Ev::RUN_ONCE : \Ev::RUN_ONCE | \Ev::RUN_NOWAIT); + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + $this->handle->nowUpdate(); + $now = $this->now(); + + foreach ($watchers as $watcher) { + if (!isset($this->events[$id = $watcher->id])) { + switch ($watcher->type) { + case Watcher::READABLE: + \assert(\is_resource($watcher->value)); + + $this->events[$id] = $this->handle->io($watcher->value, \Ev::READ, $this->ioCallback, $watcher); + break; + + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + + $this->events[$id] = $this->handle->io( + $watcher->value, + \Ev::WRITE, + $this->ioCallback, + $watcher + ); + break; + + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + + $interval = $watcher->value / self::MILLISEC_PER_SEC; + $this->events[$id] = $this->handle->timer( + \max(0, ($watcher->expiration - $now) / self::MILLISEC_PER_SEC), + ($watcher->type & Watcher::REPEAT) ? $interval : 0, + $this->timerCallback, + $watcher + ); + break; + + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + + $this->events[$id] = $this->handle->signal($watcher->value, $this->signalCallback, $watcher); + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + } else { + $this->events[$id]->start(); + } + + if ($watcher->type === Watcher::SIGNAL) { + /** @psalm-suppress PropertyTypeCoercion */ + $this->signals[$id] = $this->events[$id]; + } + } + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + if (isset($this->events[$id = $watcher->id])) { + $this->events[$id]->stop(); + + if ($watcher->type === Watcher::SIGNAL) { + unset($this->signals[$id]); + } + } + } +} diff --git a/vendor/amphp/amp/lib/Loop/EventDriver.php b/vendor/amphp/amp/lib/Loop/EventDriver.php new file mode 100644 index 00000000..c4a9b9b5 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/EventDriver.php @@ -0,0 +1,367 @@ +requireFeatures(\EventConfig::FEATURE_FDS); + } + + $this->handle = new \EventBase($config); + $this->nowOffset = getCurrentTime(); + $this->now = \random_int(0, $this->nowOffset); + $this->nowOffset -= $this->now; + + if (self::$activeSignals === null) { + self::$activeSignals = &$this->signals; + } + + /** + * @param $resource + * @param $what + * @param Watcher $watcher + * + * @return void + */ + $this->ioCallback = function ($resource, $what, Watcher $watcher) { + \assert(\is_resource($watcher->value)); + + try { + $result = ($watcher->callback)($watcher->id, $watcher->value, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + + /** + * @param $resource + * @param $what + * @param Watcher $watcher + * + * @return void + */ + $this->timerCallback = function ($resource, $what, Watcher $watcher) { + \assert(\is_int($watcher->value)); + + if ($watcher->type & Watcher::DELAY) { + $this->cancel($watcher->id); + } else { + $this->events[$watcher->id]->add($watcher->value / self::MILLISEC_PER_SEC); + } + + try { + $result = ($watcher->callback)($watcher->id, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + + /** + * @param $signum + * @param $what + * @param Watcher $watcher + * + * @return void + */ + $this->signalCallback = function ($signum, $what, Watcher $watcher) { + try { + $result = ($watcher->callback)($watcher->id, $watcher->value, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + } + + /** + * {@inheritdoc} + */ + public function cancel(string $watcherId) + { + parent::cancel($watcherId); + + if (isset($this->events[$watcherId])) { + $this->events[$watcherId]->free(); + unset($this->events[$watcherId]); + } + } + + public static function isSupported(): bool + { + return \extension_loaded("event"); + } + + /** + * @codeCoverageIgnore + */ + public function __destruct() + { + // Unset here, otherwise $event->del() in the loop may fail with a warning, because __destruct order isn't defined. + // Related https://github.com/amphp/amp/issues/159. + $events = $this->events; + $this->events = []; + + foreach ($events as $event) { + if ($event !== null) { // Events may have been nulled in extension depending on destruct order. + $event->free(); + } + } + + // Manually free the loop handle to fully release loop resources. + // See https://github.com/amphp/amp/issues/177. + if ($this->handle !== null) { + $this->handle->free(); + $this->handle = null; + } + } + + /** + * {@inheritdoc} + */ + public function run() + { + $active = self::$activeSignals; + + \assert($active !== null); + + foreach ($active as $event) { + $event->del(); + } + + self::$activeSignals = &$this->signals; + + foreach ($this->signals as $event) { + /** @psalm-suppress TooFewArguments https://github.com/JetBrains/phpstorm-stubs/pull/763 */ + $event->add(); + } + + try { + parent::run(); + } finally { + foreach ($this->signals as $event) { + $event->del(); + } + + self::$activeSignals = &$active; + + foreach ($active as $event) { + /** @psalm-suppress TooFewArguments https://github.com/JetBrains/phpstorm-stubs/pull/763 */ + $event->add(); + } + } + } + + /** + * {@inheritdoc} + */ + public function stop() + { + $this->handle->stop(); + parent::stop(); + } + + /** + * {@inheritdoc} + */ + public function now(): int + { + $this->now = getCurrentTime() - $this->nowOffset; + + return $this->now; + } + + /** + * {@inheritdoc} + */ + public function getHandle(): \EventBase + { + return $this->handle; + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function dispatch(bool $blocking) + { + $this->handle->loop($blocking ? \EventBase::LOOP_ONCE : \EventBase::LOOP_ONCE | \EventBase::LOOP_NONBLOCK); + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + $now = $this->now(); + + foreach ($watchers as $watcher) { + if (!isset($this->events[$id = $watcher->id])) { + switch ($watcher->type) { + case Watcher::READABLE: + \assert(\is_resource($watcher->value)); + + $this->events[$id] = new \Event( + $this->handle, + $watcher->value, + \Event::READ | \Event::PERSIST, + $this->ioCallback, + $watcher + ); + break; + + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + + $this->events[$id] = new \Event( + $this->handle, + $watcher->value, + \Event::WRITE | \Event::PERSIST, + $this->ioCallback, + $watcher + ); + break; + + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + + $this->events[$id] = new \Event( + $this->handle, + -1, + \Event::TIMEOUT, + $this->timerCallback, + $watcher + ); + break; + + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + + $this->events[$id] = new \Event( + $this->handle, + $watcher->value, + \Event::SIGNAL | \Event::PERSIST, + $this->signalCallback, + $watcher + ); + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + } + + switch ($watcher->type) { + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + + $interval = \max(0, $watcher->expiration - $now); + $this->events[$id]->add($interval > 0 ? $interval / self::MILLISEC_PER_SEC : 0); + break; + + case Watcher::SIGNAL: + $this->signals[$id] = $this->events[$id]; + // no break + + default: + /** @psalm-suppress TooFewArguments https://github.com/JetBrains/phpstorm-stubs/pull/763 */ + $this->events[$id]->add(); + break; + } + } + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + if (isset($this->events[$id = $watcher->id])) { + $this->events[$id]->del(); + + if ($watcher->type === Watcher::SIGNAL) { + unset($this->signals[$id]); + } + } + } +} diff --git a/vendor/amphp/amp/lib/Loop/Internal/TimerQueue.php b/vendor/amphp/amp/lib/Loop/Internal/TimerQueue.php new file mode 100644 index 00000000..f2be704c --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/Internal/TimerQueue.php @@ -0,0 +1,169 @@ +data[$node]; + while ($node !== 0 && $entry->expiration < $this->data[$parent = ($node - 1) >> 1]->expiration) { + $this->swap($node, $parent); + $node = $parent; + } + } + + /** + * @param int $node Rebuild the data array from the given node downward. + * + * @return void + */ + private function heapifyDown(int $node) + { + $length = \count($this->data); + while (($child = ($node << 1) + 1) < $length) { + if ($this->data[$child]->expiration < $this->data[$node]->expiration + && ($child + 1 >= $length || $this->data[$child]->expiration < $this->data[$child + 1]->expiration) + ) { + // Left child is less than parent and right child. + $swap = $child; + } elseif ($child + 1 < $length && $this->data[$child + 1]->expiration < $this->data[$node]->expiration) { + // Right child is less than parent and left child. + $swap = $child + 1; + } else { // Left and right child are greater than parent. + break; + } + + $this->swap($node, $swap); + $node = $swap; + } + } + + private function swap(int $left, int $right) + { + $temp = $this->data[$left]; + + $this->data[$left] = $this->data[$right]; + $this->pointers[$this->data[$right]->id] = $left; + + $this->data[$right] = $temp; + $this->pointers[$temp->id] = $right; + } + + /** + * Inserts the watcher into the queue. Time complexity: O(log(n)). + * + * @param Watcher $watcher + * + * @psalm-param Watcher $watcher + * + * @return void + */ + public function insert(Watcher $watcher) + { + \assert($watcher->expiration !== null); + \assert(!isset($this->pointers[$watcher->id])); + + $node = \count($this->data); + $this->data[$node] = $watcher; + $this->pointers[$watcher->id] = $node; + + $this->heapifyUp($node); + } + + /** + * Removes the given watcher from the queue. Time complexity: O(log(n)). + * + * @param Watcher $watcher + * + * @psalm-param Watcher $watcher + * + * @return void + */ + public function remove(Watcher $watcher) + { + $id = $watcher->id; + + if (!isset($this->pointers[$id])) { + return; + } + + $this->removeAndRebuild($this->pointers[$id]); + } + + /** + * Deletes and returns the Watcher on top of the heap if it has expired, otherwise null is returned. + * Time complexity: O(log(n)). + * + * @param int $now Current loop time. + * + * @return Watcher|null Expired watcher at the top of the heap or null if the watcher has not expired. + * + * @psalm-return Watcher|null + */ + public function extract(int $now) + { + if (empty($this->data)) { + return null; + } + + $watcher = $this->data[0]; + + if ($watcher->expiration > $now) { + return null; + } + + $this->removeAndRebuild(0); + + return $watcher; + } + + /** + * Returns the expiration time value at the top of the heap. Time complexity: O(1). + * + * @return int|null Expiration time of the watcher at the top of the heap or null if the heap is empty. + */ + public function peek() + { + return isset($this->data[0]) ? $this->data[0]->expiration : null; + } + + /** + * @param int $node Remove the given node and then rebuild the data array. + * + * @return void + */ + private function removeAndRebuild(int $node) + { + $length = \count($this->data) - 1; + $id = $this->data[$node]->id; + $left = $this->data[$node] = $this->data[$length]; + $this->pointers[$left->id] = $node; + unset($this->data[$length], $this->pointers[$id]); + + if ($node < $length) { // don't need to do anything if we removed the last element + $parent = ($node - 1) >> 1; + if ($parent >= 0 && $this->data[$node]->expiration < $this->data[$parent]->expiration) { + $this->heapifyUp($node); + } else { + $this->heapifyDown($node); + } + } + } +} diff --git a/vendor/amphp/amp/lib/Loop/InvalidWatcherError.php b/vendor/amphp/amp/lib/Loop/InvalidWatcherError.php new file mode 100644 index 00000000..4842ecf5 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/InvalidWatcherError.php @@ -0,0 +1,32 @@ +watcherId = $watcherId; + parent::__construct($message); + } + + /** + * @return string The watcher identifier. + */ + public function getWatcherId() + { + return $this->watcherId; + } +} diff --git a/vendor/amphp/amp/lib/Loop/NativeDriver.php b/vendor/amphp/amp/lib/Loop/NativeDriver.php new file mode 100644 index 00000000..1a1302e3 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/NativeDriver.php @@ -0,0 +1,445 @@ +timerQueue = new Internal\TimerQueue; + $this->signalHandling = \extension_loaded("pcntl"); + $this->nowOffset = getCurrentTime(); + $this->now = \random_int(0, $this->nowOffset); + $this->nowOffset -= $this->now; + $this->streamSelectErrorHandler = function ($errno, $message) { + // Casing changed in PHP 8 from 'unable' to 'Unable' + if (\stripos($message, "stream_select(): unable to select [4]: ") === 0) { // EINTR + $this->streamSelectIgnoreResult = true; + + return; + } + + if (\strpos($message, 'FD_SETSIZE') !== false) { + $message = \str_replace(["\r\n", "\n", "\r"], " ", $message); + $pattern = '(stream_select\(\): You MUST recompile PHP with a larger value of FD_SETSIZE. It is set to (\d+), but you have descriptors numbered at least as high as (\d+)\.)'; + + if (\preg_match($pattern, $message, $match)) { + $helpLink = 'https://amphp.org/amp/event-loop/#implementations'; + + $message = 'You have reached the limits of stream_select(). It has a FD_SETSIZE of ' . $match[1] + . ', but you have file descriptors numbered at least as high as ' . $match[2] . '. ' + . "You can install one of the extensions listed on {$helpLink} to support a higher number of " + . "concurrent file descriptors. If a large number of open file descriptors is unexpected, you " + . "might be leaking file descriptors that aren't closed correctly."; + } + } + + throw new \Exception($message, $errno); + }; + } + + /** + * {@inheritdoc} + * + * @throws \Amp\Loop\UnsupportedFeatureException If the pcntl extension is not available. + */ + public function onSignal(int $signo, callable $callback, $data = null): string + { + if (!$this->signalHandling) { + throw new UnsupportedFeatureException("Signal handling requires the pcntl extension"); + } + + return parent::onSignal($signo, $callback, $data); + } + + /** + * {@inheritdoc} + */ + public function now(): int + { + $this->now = getCurrentTime() - $this->nowOffset; + + return $this->now; + } + + /** + * {@inheritdoc} + */ + public function getHandle() + { + return null; + } + + /** + * @param bool $blocking + * + * @return void + * + * @throws \Throwable + */ + protected function dispatch(bool $blocking) + { + $this->selectStreams( + $this->readStreams, + $this->writeStreams, + $blocking ? $this->getTimeout() : 0 + ); + + $now = $this->now(); + + while ($watcher = $this->timerQueue->extract($now)) { + if ($watcher->type & Watcher::REPEAT) { + $watcher->enabled = false; // Trick base class into adding to enable queue when calling enable() + $this->enable($watcher->id); + } else { + $this->cancel($watcher->id); + } + + try { + // Execute the timer. + $result = ($watcher->callback)($watcher->id, $watcher->data); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + } + + if ($this->signalHandling) { + \pcntl_signal_dispatch(); + } + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + foreach ($watchers as $watcher) { + switch ($watcher->type) { + case Watcher::READABLE: + \assert(\is_resource($watcher->value)); + + $streamId = (int) $watcher->value; + $this->readWatchers[$streamId][$watcher->id] = $watcher; + $this->readStreams[$streamId] = $watcher->value; + break; + + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + + $streamId = (int) $watcher->value; + $this->writeWatchers[$streamId][$watcher->id] = $watcher; + $this->writeStreams[$streamId] = $watcher->value; + break; + + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + $this->timerQueue->insert($watcher); + break; + + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + + if (!isset($this->signalWatchers[$watcher->value])) { + if (!@\pcntl_signal($watcher->value, $this->callableFromInstanceMethod('handleSignal'))) { + $message = "Failed to register signal handler"; + if ($error = \error_get_last()) { + $message .= \sprintf("; Errno: %d; %s", $error["type"], $error["message"]); + } + throw new \Error($message); + } + } + + $this->signalWatchers[$watcher->value][$watcher->id] = $watcher; + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + } + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + switch ($watcher->type) { + case Watcher::READABLE: + $streamId = (int) $watcher->value; + unset($this->readWatchers[$streamId][$watcher->id]); + if (empty($this->readWatchers[$streamId])) { + unset($this->readWatchers[$streamId], $this->readStreams[$streamId]); + } + break; + + case Watcher::WRITABLE: + $streamId = (int) $watcher->value; + unset($this->writeWatchers[$streamId][$watcher->id]); + if (empty($this->writeWatchers[$streamId])) { + unset($this->writeWatchers[$streamId], $this->writeStreams[$streamId]); + } + break; + + case Watcher::DELAY: + case Watcher::REPEAT: + $this->timerQueue->remove($watcher); + break; + + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + + if (isset($this->signalWatchers[$watcher->value])) { + unset($this->signalWatchers[$watcher->value][$watcher->id]); + + if (empty($this->signalWatchers[$watcher->value])) { + unset($this->signalWatchers[$watcher->value]); + @\pcntl_signal($watcher->value, \SIG_DFL); + } + } + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + } + + /** + * @param resource[] $read + * @param resource[] $write + * @param int $timeout + * + * @return void + */ + private function selectStreams(array $read, array $write, int $timeout) + { + $timeout /= self::MILLISEC_PER_SEC; + + if (!empty($read) || !empty($write)) { // Use stream_select() if there are any streams in the loop. + if ($timeout >= 0) { + $seconds = (int) $timeout; + $microseconds = (int) (($timeout - $seconds) * self::MICROSEC_PER_SEC); + } else { + $seconds = null; + $microseconds = null; + } + + // Failed connection attempts are indicated via except on Windows + // @link https://github.com/reactphp/event-loop/blob/8bd064ce23c26c4decf186c2a5a818c9a8209eb0/src/StreamSelectLoop.php#L279-L287 + // @link https://docs.microsoft.com/de-de/windows/win32/api/winsock2/nf-winsock2-select + $except = null; + if (\DIRECTORY_SEPARATOR === '\\') { + $except = $write; + } + + \set_error_handler($this->streamSelectErrorHandler); + + try { + $result = \stream_select($read, $write, $except, $seconds, $microseconds); + } finally { + \restore_error_handler(); + } + + if ($this->streamSelectIgnoreResult || $result === 0) { + $this->streamSelectIgnoreResult = false; + return; + } + + if (!$result) { + $this->error(new \Exception('Unknown error during stream_select')); + return; + } + + foreach ($read as $stream) { + $streamId = (int) $stream; + if (!isset($this->readWatchers[$streamId])) { + continue; // All read watchers disabled. + } + + foreach ($this->readWatchers[$streamId] as $watcher) { + if (!isset($this->readWatchers[$streamId][$watcher->id])) { + continue; // Watcher disabled by another IO watcher. + } + + try { + $result = ($watcher->callback)($watcher->id, $stream, $watcher->data); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + } + } + + \assert(\is_array($write)); // See https://github.com/vimeo/psalm/issues/3036 + + if ($except) { + foreach ($except as $key => $socket) { + $write[$key] = $socket; + } + } + + foreach ($write as $stream) { + $streamId = (int) $stream; + if (!isset($this->writeWatchers[$streamId])) { + continue; // All write watchers disabled. + } + + foreach ($this->writeWatchers[$streamId] as $watcher) { + if (!isset($this->writeWatchers[$streamId][$watcher->id])) { + continue; // Watcher disabled by another IO watcher. + } + + try { + $result = ($watcher->callback)($watcher->id, $stream, $watcher->data); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + } + } + + return; + } + + if ($timeout < 0) { // Only signal watchers are enabled, so sleep indefinitely. + \usleep(\PHP_INT_MAX); + return; + } + + if ($timeout > 0) { // Sleep until next timer expires. + \usleep((int) ($timeout * self::MICROSEC_PER_SEC)); + } + } + + /** + * @return int Milliseconds until next timer expires or -1 if there are no pending times. + */ + private function getTimeout(): int + { + $expiration = $this->timerQueue->peek(); + + if ($expiration === null) { + return -1; + } + + $expiration -= getCurrentTime() - $this->nowOffset; + + return $expiration > 0 ? $expiration : 0; + } + + /** + * @param int $signo + * + * @return void + */ + private function handleSignal(int $signo) + { + foreach ($this->signalWatchers[$signo] as $watcher) { + if (!isset($this->signalWatchers[$signo][$watcher->id])) { + continue; + } + + try { + $result = ($watcher->callback)($watcher->id, $signo, $watcher->data); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + } + } +} diff --git a/vendor/amphp/amp/lib/Loop/TracingDriver.php b/vendor/amphp/amp/lib/Loop/TracingDriver.php new file mode 100644 index 00000000..7b787548 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/TracingDriver.php @@ -0,0 +1,251 @@ +driver = $driver; + } + + public function run() + { + $this->driver->run(); + } + + public function stop() + { + $this->driver->stop(); + } + + public function defer(callable $callback, $data = null): string + { + $id = $this->driver->defer(function (...$args) use ($callback) { + $this->cancel($args[0]); + return $callback(...$args); + }, $data); + + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = true; + + return $id; + } + + public function delay(int $delay, callable $callback, $data = null): string + { + $id = $this->driver->delay($delay, function (...$args) use ($callback) { + $this->cancel($args[0]); + return $callback(...$args); + }, $data); + + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = true; + + return $id; + } + + public function repeat(int $interval, callable $callback, $data = null): string + { + $id = $this->driver->repeat($interval, $callback, $data); + + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = true; + + return $id; + } + + public function onReadable($stream, callable $callback, $data = null): string + { + $id = $this->driver->onReadable($stream, $callback, $data); + + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = true; + + return $id; + } + + public function onWritable($stream, callable $callback, $data = null): string + { + $id = $this->driver->onWritable($stream, $callback, $data); + + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = true; + + return $id; + } + + public function onSignal(int $signo, callable $callback, $data = null): string + { + $id = $this->driver->onSignal($signo, $callback, $data); + + $this->creationTraces[$id] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + $this->enabledWatchers[$id] = true; + + return $id; + } + + public function enable(string $watcherId) + { + try { + $this->driver->enable($watcherId); + $this->enabledWatchers[$watcherId] = true; + } catch (InvalidWatcherError $e) { + throw new InvalidWatcherError( + $watcherId, + $e->getMessage() . "\r\n\r\n" . $this->getTraces($watcherId) + ); + } + } + + public function cancel(string $watcherId) + { + $this->driver->cancel($watcherId); + + if (!isset($this->cancelTraces[$watcherId])) { + $this->cancelTraces[$watcherId] = formatStacktrace(\debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS)); + } + + unset($this->enabledWatchers[$watcherId], $this->unreferencedWatchers[$watcherId]); + } + + public function disable(string $watcherId) + { + $this->driver->disable($watcherId); + unset($this->enabledWatchers[$watcherId]); + } + + public function reference(string $watcherId) + { + try { + $this->driver->reference($watcherId); + unset($this->unreferencedWatchers[$watcherId]); + } catch (InvalidWatcherError $e) { + throw new InvalidWatcherError( + $watcherId, + $e->getMessage() . "\r\n\r\n" . $this->getTraces($watcherId) + ); + } + } + + public function unreference(string $watcherId) + { + $this->driver->unreference($watcherId); + $this->unreferencedWatchers[$watcherId] = true; + } + + public function setErrorHandler(callable $callback = null) + { + return $this->driver->setErrorHandler($callback); + } + + /** @inheritdoc */ + public function getHandle() + { + $this->driver->getHandle(); + } + + public function dump(): string + { + $dump = "Enabled, referenced watchers keeping the loop running: "; + + foreach ($this->enabledWatchers as $watcher => $_) { + if (isset($this->unreferencedWatchers[$watcher])) { + continue; + } + + $dump .= "Watcher ID: " . $watcher . "\r\n"; + $dump .= $this->getCreationTrace($watcher); + $dump .= "\r\n\r\n"; + } + + return \rtrim($dump); + } + + public function getInfo(): array + { + return $this->driver->getInfo(); + } + + public function __debugInfo() + { + return $this->driver->__debugInfo(); + } + + public function now(): int + { + return $this->driver->now(); + } + + protected function error(\Throwable $exception) + { + $this->driver->error($exception); + } + + /** + * @inheritdoc + * + * @return void + */ + protected function activate(array $watchers) + { + // nothing to do in a decorator + } + + /** + * @inheritdoc + * + * @return void + */ + protected function dispatch(bool $blocking) + { + // nothing to do in a decorator + } + + /** + * @inheritdoc + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + // nothing to do in a decorator + } + + private function getTraces(string $watcherId): string + { + return "Creation Trace:\r\n" . $this->getCreationTrace($watcherId) . "\r\n\r\n" . + "Cancellation Trace:\r\n" . $this->getCancelTrace($watcherId); + } + + private function getCreationTrace(string $watcher): string + { + if (!isset($this->creationTraces[$watcher])) { + return 'No creation trace, yet.'; + } + + return $this->creationTraces[$watcher]; + } + + private function getCancelTrace(string $watcher): string + { + if (!isset($this->cancelTraces[$watcher])) { + return 'No cancellation trace, yet.'; + } + + return $this->cancelTraces[$watcher]; + } +} diff --git a/vendor/amphp/amp/lib/Loop/UnsupportedFeatureException.php b/vendor/amphp/amp/lib/Loop/UnsupportedFeatureException.php new file mode 100644 index 00000000..e767cbe1 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/UnsupportedFeatureException.php @@ -0,0 +1,12 @@ +handle = \uv_loop_new(); + + /** + * @param $event + * @param $status + * @param $events + * @param $resource + * + * @return void + */ + $this->ioCallback = function ($event, $status, $events, $resource) { + $watchers = $this->watchers[(int) $event]; + + switch ($status) { + case 0: // OK + break; + + default: // Invoke the callback on errors, as this matches behavior with other loop back-ends. + // Re-enable watcher as libuv disables the watcher on non-zero status. + $flags = 0; + foreach ($watchers as $watcher) { + $flags |= $watcher->enabled ? $watcher->type : 0; + } + \uv_poll_start($event, $flags, $this->ioCallback); + break; + } + + foreach ($watchers as $watcher) { + // $events is OR'ed with 4 to trigger watcher if no events are indicated (0) or on UV_DISCONNECT (4). + // http://docs.libuv.org/en/v1.x/poll.html + if (!($watcher->enabled && ($watcher->type & $events || ($events | 4) === 4))) { + continue; + } + + try { + $result = ($watcher->callback)($watcher->id, $resource, $watcher->data); + + if ($result === null) { + continue; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + } + }; + + /** + * @param $event + * + * @return void + */ + $this->timerCallback = function ($event) { + $watcher = $this->watchers[(int) $event][0]; + + if ($watcher->type & Watcher::DELAY) { + unset($this->events[$watcher->id], $this->watchers[(int) $event]); // Avoid call to uv_is_active(). + $this->cancel($watcher->id); // Remove reference to watcher in parent. + } elseif ($watcher->value === 0) { + // Disable and re-enable so it's not executed repeatedly in the same tick + // See https://github.com/amphp/amp/issues/131 + $this->disable($watcher->id); + $this->enable($watcher->id); + } + + try { + $result = ($watcher->callback)($watcher->id, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + + /** + * @param $event + * @param $signo + * + * @return void + */ + $this->signalCallback = function ($event, $signo) { + $watcher = $this->watchers[(int) $event][0]; + + try { + $result = ($watcher->callback)($watcher->id, $signo, $watcher->data); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + rethrow($result); + } + } catch (\Throwable $exception) { + $this->error($exception); + } + }; + } + + /** + * {@inheritdoc} + */ + public function cancel(string $watcherId) + { + parent::cancel($watcherId); + + if (!isset($this->events[$watcherId])) { + return; + } + + $event = $this->events[$watcherId]; + $eventId = (int) $event; + + if (isset($this->watchers[$eventId][0])) { // All except IO watchers. + unset($this->watchers[$eventId]); + } elseif (isset($this->watchers[$eventId][$watcherId])) { + $watcher = $this->watchers[$eventId][$watcherId]; + unset($this->watchers[$eventId][$watcherId]); + + if (empty($this->watchers[$eventId])) { + unset($this->watchers[$eventId], $this->streams[(int) $watcher->value]); + } + } + + unset($this->events[$watcherId]); + } + + public static function isSupported(): bool + { + return \extension_loaded("uv"); + } + + /** + * {@inheritdoc} + */ + public function now(): int + { + \uv_update_time($this->handle); + + /** @psalm-suppress TooManyArguments */ + return \uv_now($this->handle); + } + + /** + * {@inheritdoc} + */ + public function getHandle() + { + return $this->handle; + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function dispatch(bool $blocking) + { + /** @psalm-suppress TooManyArguments */ + \uv_run($this->handle, $blocking ? \UV::RUN_ONCE : \UV::RUN_NOWAIT); + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function activate(array $watchers) + { + $now = $this->now(); + + foreach ($watchers as $watcher) { + $id = $watcher->id; + + switch ($watcher->type) { + case Watcher::READABLE: + case Watcher::WRITABLE: + \assert(\is_resource($watcher->value)); + + $streamId = (int) $watcher->value; + + if (isset($this->streams[$streamId])) { + $event = $this->streams[$streamId]; + } elseif (isset($this->events[$id])) { + $event = $this->streams[$streamId] = $this->events[$id]; + } else { + /** @psalm-suppress UndefinedFunction */ + $event = $this->streams[$streamId] = \uv_poll_init_socket($this->handle, $watcher->value); + } + + $eventId = (int) $event; + $this->events[$id] = $event; + $this->watchers[$eventId][$id] = $watcher; + + $flags = 0; + foreach ($this->watchers[$eventId] as $w) { + $flags |= $w->enabled ? $w->type : 0; + } + \uv_poll_start($event, $flags, $this->ioCallback); + break; + + case Watcher::DELAY: + case Watcher::REPEAT: + \assert(\is_int($watcher->value)); + + if (isset($this->events[$id])) { + $event = $this->events[$id]; + } else { + $event = $this->events[$id] = \uv_timer_init($this->handle); + } + + $this->watchers[(int) $event] = [$watcher]; + + \uv_timer_start( + $event, + \max(0, $watcher->expiration - $now), + ($watcher->type & Watcher::REPEAT) ? $watcher->value : 0, + $this->timerCallback + ); + break; + + case Watcher::SIGNAL: + \assert(\is_int($watcher->value)); + + if (isset($this->events[$id])) { + $event = $this->events[$id]; + } else { + /** @psalm-suppress UndefinedFunction */ + $event = $this->events[$id] = \uv_signal_init($this->handle); + } + + $this->watchers[(int) $event] = [$watcher]; + + /** @psalm-suppress UndefinedFunction */ + \uv_signal_start($event, $this->signalCallback, $watcher->value); + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + } + } + + /** + * {@inheritdoc} + * + * @return void + */ + protected function deactivate(Watcher $watcher) + { + $id = $watcher->id; + + if (!isset($this->events[$id])) { + return; + } + + $event = $this->events[$id]; + + if (!\uv_is_active($event)) { + return; + } + + switch ($watcher->type) { + case Watcher::READABLE: + case Watcher::WRITABLE: + $flags = 0; + foreach ($this->watchers[(int) $event] as $w) { + $flags |= $w->enabled ? $w->type : 0; + } + + if ($flags) { + \uv_poll_start($event, $flags, $this->ioCallback); + } else { + \uv_poll_stop($event); + } + break; + + case Watcher::DELAY: + case Watcher::REPEAT: + \uv_timer_stop($event); + break; + + case Watcher::SIGNAL: + \uv_signal_stop($event); + break; + + default: + // @codeCoverageIgnoreStart + throw new \Error("Unknown watcher type"); + // @codeCoverageIgnoreEnd + } + } +} diff --git a/vendor/amphp/amp/lib/Loop/Watcher.php b/vendor/amphp/amp/lib/Loop/Watcher.php new file mode 100644 index 00000000..4d16f9b9 --- /dev/null +++ b/vendor/amphp/amp/lib/Loop/Watcher.php @@ -0,0 +1,57 @@ +reasons = $reasons; + } + + /** + * @return \Throwable[] + */ + public function getReasons(): array + { + return $this->reasons; + } +} diff --git a/vendor/amphp/amp/lib/NullCancellationToken.php b/vendor/amphp/amp/lib/NullCancellationToken.php new file mode 100644 index 00000000..66faeba1 --- /dev/null +++ b/vendor/amphp/amp/lib/NullCancellationToken.php @@ -0,0 +1,53 @@ +throwIfRequested(); + * } + * ``` + * + * potentially multiple times, it allows writing + * + * ```php + * $token = $token ?? new NullCancellationToken; + * + * // ... + * + * $token->throwIfRequested(); + * ``` + * + * instead. + */ +final class NullCancellationToken implements CancellationToken +{ + /** @inheritdoc */ + public function subscribe(callable $callback): string + { + return "null-token"; + } + + /** @inheritdoc */ + public function unsubscribe(string $id) + { + // nothing to do + } + + /** @inheritdoc */ + public function isRequested(): bool + { + return false; + } + + /** @inheritdoc */ + public function throwIfRequested() + { + // nothing to do + } +} diff --git a/vendor/amphp/amp/lib/Producer.php b/vendor/amphp/amp/lib/Producer.php new file mode 100644 index 00000000..35b88c91 --- /dev/null +++ b/vendor/amphp/amp/lib/Producer.php @@ -0,0 +1,43 @@ + + */ +final class Producer implements Iterator +{ + /** + * @use Internal\Producer + */ + use CallableMaker, Internal\Producer; + + /** + * @param callable(callable(TValue):Promise):\Generator $producer + * + * @throws \Error Thrown if the callable does not return a Generator. + */ + public function __construct(callable $producer) + { + $result = $producer($this->callableFromInstanceMethod("emit")); + + if (!$result instanceof \Generator) { + throw new \Error("The callable did not return a Generator"); + } + + $coroutine = new Coroutine($result); + $coroutine->onResolve(function ($exception) { + if ($this->complete) { + return; + } + + if ($exception) { + $this->fail($exception); + return; + } + + $this->complete(); + }); + } +} diff --git a/vendor/amphp/amp/lib/Promise.php b/vendor/amphp/amp/lib/Promise.php new file mode 100644 index 00000000..2f7e824e --- /dev/null +++ b/vendor/amphp/amp/lib/Promise.php @@ -0,0 +1,37 @@ +, mixed, + * mixed>|null) | callable(\Throwable|null, mixed): void $onResolved + * + * @return void + */ + public function onResolve(callable $onResolved); +} diff --git a/vendor/amphp/amp/lib/Struct.php b/vendor/amphp/amp/lib/Struct.php new file mode 100644 index 00000000..0cb2563c --- /dev/null +++ b/vendor/amphp/amp/lib/Struct.php @@ -0,0 +1,78 @@ +generateStructPropertyError($property) + ); + } + + /** + * @param string $property + * @param mixed $value + * + * @psalm-return no-return + */ + public function __set(string $property, $value) + { + throw new \Error( + $this->generateStructPropertyError($property) + ); + } + + private function generateStructPropertyError(string $property): string + { + $suggestion = $this->suggestPropertyName($property); + $suggestStr = ($suggestion == "") ? "" : " ... did you mean \"{$suggestion}?\""; + + return \sprintf( + "%s property \"%s\" does not exist%s", + \str_replace("\0", "@", \get_class($this)), // Handle anonymous class names. + $property, + $suggestStr + ); + } + + private function suggestPropertyName(string $badProperty): string + { + $badProperty = \strtolower($badProperty); + $bestMatch = ""; + $bestMatchPercentage = 0; + + /** @psalm-suppress RawObjectIteration */ + foreach ($this as $property => $value) { + // Never suggest properties that begin with an underscore + if ($property[0] === "_") { + continue; + } + \similar_text($badProperty, \strtolower($property), $byRefPercentage); + if ($byRefPercentage > $bestMatchPercentage) { + $bestMatchPercentage = $byRefPercentage; + $bestMatch = $property; + } + } + + return ($bestMatchPercentage >= $this->__propertySuggestThreshold) ? $bestMatch : ""; + } +} diff --git a/vendor/amphp/amp/lib/Success.php b/vendor/amphp/amp/lib/Success.php new file mode 100644 index 00000000..1817c5a2 --- /dev/null +++ b/vendor/amphp/amp/lib/Success.php @@ -0,0 +1,60 @@ + + */ +final class Success implements Promise +{ + /** @var mixed */ + private $value; + + /** + * @param mixed $value Anything other than a Promise object. + * + * @psalm-param TValue $value + * + * @throws \Error If a promise is given as the value. + */ + public function __construct($value = null) + { + if ($value instanceof Promise || $value instanceof ReactPromise) { + throw new \Error("Cannot use a promise as success value"); + } + + $this->value = $value; + } + + /** + * {@inheritdoc} + */ + public function onResolve(callable $onResolved) + { + try { + $result = $onResolved(null, $this->value); + + if ($result === null) { + return; + } + + if ($result instanceof \Generator) { + $result = new Coroutine($result); + } + + if ($result instanceof Promise || $result instanceof ReactPromise) { + Promise\rethrow($result); + } + } catch (\Throwable $exception) { + Loop::defer(static function () use ($exception) { + throw $exception; + }); + } + } +} diff --git a/vendor/amphp/amp/lib/TimeoutCancellationToken.php b/vendor/amphp/amp/lib/TimeoutCancellationToken.php new file mode 100644 index 00000000..4c46ceb0 --- /dev/null +++ b/vendor/amphp/amp/lib/TimeoutCancellationToken.php @@ -0,0 +1,75 @@ +token = $source->getToken(); + + $trace = \debug_backtrace(\DEBUG_BACKTRACE_IGNORE_ARGS); + $this->watcher = Loop::delay($timeout, static function () use ($source, $message, $trace) { + $trace = formatStacktrace($trace); + $source->cancel(new TimeoutException("$message\r\nTimeoutCancellationToken was created here:\r\n$trace")); + }); + + Loop::unreference($this->watcher); + } + + /** + * Cancels the delay watcher. + */ + public function __destruct() + { + Loop::cancel($this->watcher); + } + + /** + * {@inheritdoc} + */ + public function subscribe(callable $callback): string + { + return $this->token->subscribe($callback); + } + + /** + * {@inheritdoc} + */ + public function unsubscribe(string $id) + { + $this->token->unsubscribe($id); + } + + /** + * {@inheritdoc} + */ + public function isRequested(): bool + { + return $this->token->isRequested(); + } + + /** + * {@inheritdoc} + */ + public function throwIfRequested() + { + $this->token->throwIfRequested(); + } +} diff --git a/vendor/amphp/amp/lib/TimeoutException.php b/vendor/amphp/amp/lib/TimeoutException.php new file mode 100644 index 00000000..dc7fba9e --- /dev/null +++ b/vendor/amphp/amp/lib/TimeoutException.php @@ -0,0 +1,19 @@ + + * @template T as TReturn|Promise|\Generator + * + * @formatter:off + * + * @param callable(...mixed): T $callback + * + * @return callable + * @psalm-return (T is Promise ? (callable(mixed...): Promise) : (T is \Generator ? (TGenerator is Promise ? (callable(mixed...): Promise) : (callable(mixed...): Promise)) : (callable(mixed...): Promise))) + * + * @formatter:on + * + * @see asyncCoroutine() + * + * @psalm-suppress InvalidReturnType + */ + function coroutine(callable $callback): callable + { + /** @psalm-suppress InvalidReturnStatement */ + return static function (...$args) use ($callback): Promise { + return call($callback, ...$args); + }; + } + + /** + * Returns a new function that wraps $callback in a promise/coroutine-aware function that automatically runs + * Generators as coroutines. The returned function always returns void when invoked. Errors are forwarded to the + * loop's error handler using `Amp\Promise\rethrow()`. + * + * Use this function to create a coroutine-aware callable for a non-promise-aware callback caller. + * + * @param callable(...mixed): mixed $callback + * + * @return callable + * @psalm-return callable(mixed...): void + * + * @see coroutine() + */ + function asyncCoroutine(callable $callback): callable + { + return static function (...$args) use ($callback) { + Promise\rethrow(call($callback, ...$args)); + }; + } + + /** + * Calls the given function, always returning a promise. If the function returns a Generator, it will be run as a + * coroutine. If the function throws, a failed promise will be returned. + * + * @template TReturn + * @template TPromise + * @template TGeneratorReturn + * @template TGeneratorPromise + * + * @template TGenerator as TGeneratorReturn|Promise + * @template T as TReturn|Promise|\Generator + * + * @formatter:off + * + * @param callable(...mixed): T $callback + * @param mixed ...$args Arguments to pass to the function. + * + * @return Promise + * @psalm-return (T is Promise ? Promise : (T is \Generator ? (TGenerator is Promise ? Promise : Promise) : Promise)) + * + * @formatter:on + */ + function call(callable $callback, ...$args): Promise + { + try { + $result = $callback(...$args); + } catch (\Throwable $exception) { + return new Failure($exception); + } + + if ($result instanceof \Generator) { + return new Coroutine($result); + } + + if ($result instanceof Promise) { + return $result; + } + + if ($result instanceof ReactPromise) { + return Promise\adapt($result); + } + + return new Success($result); + } + + /** + * Calls the given function. If the function returns a Generator, it will be run as a coroutine. If the function + * throws or returns a failing promise, the failure is forwarded to the loop error handler. + * + * @param callable(...mixed): mixed $callback + * @param mixed ...$args Arguments to pass to the function. + * + * @return void + */ + function asyncCall(callable $callback, ...$args) + { + Promise\rethrow(call($callback, ...$args)); + } + + /** + * Sleeps for the specified number of milliseconds. + * + * @param int $milliseconds + * + * @return Delayed + */ + function delay(int $milliseconds): Delayed + { + return new Delayed($milliseconds); + } + + /** + * Returns the current time relative to an arbitrary point in time. + * + * @return int Time in milliseconds. + */ + function getCurrentTime(): int + { + return Internal\getCurrentTime(); + } +} + +namespace Amp\Promise +{ + + use Amp\Deferred; + use Amp\Loop; + use Amp\MultiReasonException; + use Amp\Promise; + use Amp\Success; + use Amp\TimeoutException; + use React\Promise\PromiseInterface as ReactPromise; + use function Amp\call; + use function Amp\Internal\createTypeError; + + /** + * Registers a callback that will forward the failure reason to the event loop's error handler if the promise fails. + * + * Use this function if you neither return the promise nor handle a possible error yourself to prevent errors from + * going entirely unnoticed. + * + * @param Promise|ReactPromise $promise Promise to register the handler on. + * + * @return void + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + * + */ + function rethrow($promise) + { + if (!$promise instanceof Promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } else { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + } + + $promise->onResolve(static function ($exception) { + if ($exception) { + throw $exception; + } + }); + } + + /** + * Runs the event loop until the promise is resolved. Should not be called within a running event loop. + * + * Use this function only in synchronous contexts to wait for an asynchronous operation. Use coroutines and yield to + * await promise resolution in a fully asynchronous application instead. + * + * @template TPromise + * @template T as Promise|ReactPromise + * + * @param Promise|ReactPromise $promise Promise to wait for. + * + * @return mixed Promise success value. + * + * @psalm-param T $promise + * @psalm-return (T is Promise ? TPromise : mixed) + * + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + * @throws \Error If the event loop stopped without the $promise being resolved. + * @throws \Throwable Promise failure reason. + */ + function wait($promise) + { + if (!$promise instanceof Promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } else { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + } + + $resolved = false; + + try { + Loop::run(function () use (&$resolved, &$value, &$exception, $promise) { + $promise->onResolve(function ($e, $v) use (&$resolved, &$value, &$exception) { + Loop::stop(); + $resolved = true; + $exception = $e; + $value = $v; + }); + }); + } catch (\Throwable $throwable) { + throw new \Error("Loop exceptionally stopped without resolving the promise", 0, $throwable); + } + + if (!$resolved) { + throw new \Error("Loop stopped without resolving the promise"); + } + + if ($exception) { + throw $exception; + } + + return $value; + } + + /** + * Creates an artificial timeout for any `Promise`. + * + * If the timeout expires before the promise is resolved, the returned promise fails with an instance of + * `Amp\TimeoutException`. + * + * @template TReturn + * + * @param Promise|ReactPromise $promise Promise to which the timeout is applied. + * @param int $timeout Timeout in milliseconds. + * + * @return Promise + * + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + */ + function timeout($promise, int $timeout): Promise + { + if (!$promise instanceof Promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } else { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + } + + $deferred = new Deferred; + + $watcher = Loop::delay($timeout, static function () use (&$deferred) { + $temp = $deferred; // prevent double resolve + $deferred = null; + $temp->fail(new TimeoutException); + }); + Loop::unreference($watcher); + + $promise->onResolve(function () use (&$deferred, $promise, $watcher) { + if ($deferred !== null) { + Loop::cancel($watcher); + $deferred->resolve($promise); + } + }); + + return $deferred->promise(); + } + + /** + * Creates an artificial timeout for any `Promise`. + * + * If the promise is resolved before the timeout expires, the result is returned + * + * If the timeout expires before the promise is resolved, a default value is returned + * + * @template TReturn + * + * @param Promise|ReactPromise $promise Promise to which the timeout is applied. + * @param int $timeout Timeout in milliseconds. + * @param TReturn $default + * + * @return Promise + * + * @throws \TypeError If $promise is not an instance of \Amp\Promise or \React\Promise\PromiseInterface. + */ + function timeoutWithDefault($promise, int $timeout, $default = null): Promise + { + $promise = timeout($promise, $timeout); + + return call(static function () use ($promise, $default) { + try { + return yield $promise; + } catch (TimeoutException $exception) { + return $default; + } + }); + } + + /** + * Adapts any object with a done(callable $onFulfilled, callable $onRejected) or then(callable $onFulfilled, + * callable $onRejected) method to a promise usable by components depending on placeholders implementing + * \AsyncInterop\Promise. + * + * @param object $promise Object with a done() or then() method. + * + * @return Promise Promise resolved by the $thenable object. + * + * @throws \Error If the provided object does not have a then() method. + */ + function adapt($promise): Promise + { + if (!\is_object($promise)) { + throw new \Error("Object must be provided"); + } + + $deferred = new Deferred; + + if (\method_exists($promise, 'done')) { + $promise->done([$deferred, 'resolve'], [$deferred, 'fail']); + } elseif (\method_exists($promise, 'then')) { + $promise->then([$deferred, 'resolve'], [$deferred, 'fail']); + } else { + throw new \Error("Object must have a 'then' or 'done' method"); + } + + return $deferred->promise(); + } + + /** + * Returns a promise that is resolved when all promises are resolved. The returned promise will not fail. + * Returned promise succeeds with a two-item array delineating successful and failed promise results, + * with keys identical and corresponding to the original given array. + * + * This function is the same as some() with the notable exception that it will never fail even + * if all promises in the array resolve unsuccessfully. + * + * @template TValue + * + * @param Promise[]|ReactPromise[] $promises + * + * @return Promise + * + * @throws \Error If a non-Promise is in the array. + */ + function any(array $promises): Promise + { + return some($promises, 0); + } + + /** + * Returns a promise that succeeds when all promises succeed, and fails if any promise fails. Returned + * promise succeeds with an array of values used to succeed each contained promise, with keys corresponding to + * the array of promises. + * + * @param Promise[]|ReactPromise[] $promises Array of only promises. + * + * @return Promise + * + * @throws \Error If a non-Promise is in the array. + * + * @template TValue + * + * @psalm-param array|ReactPromise> $promises + * @psalm-assert array|ReactPromise> $promises $promises + * @psalm-return Promise> + */ + function all(array $promises): Promise + { + if (empty($promises)) { + return new Success([]); + } + + $deferred = new Deferred; + $result = $deferred->promise(); + + $pending = \count($promises); + $values = []; + + foreach ($promises as $key => $promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + + $values[$key] = null; // add entry to array to preserve order + $promise->onResolve(function ($exception, $value) use (&$deferred, &$values, &$pending, $key) { + if ($pending === 0) { + return; + } + + if ($exception) { + $pending = 0; + $deferred->fail($exception); + $deferred = null; + return; + } + + $values[$key] = $value; + if (0 === --$pending) { + $deferred->resolve($values); + } + }); + } + + return $result; + } + + /** + * Returns a promise that succeeds when the first promise succeeds, and fails only if all promises fail. + * + * @template TValue + * + * @param Promise[]|ReactPromise[] $promises Array of only promises. + * + * @return Promise + * + * @throws \Error If the array is empty or a non-Promise is in the array. + */ + function first(array $promises): Promise + { + if (empty($promises)) { + throw new \Error("No promises provided"); + } + + $deferred = new Deferred; + $result = $deferred->promise(); + + $pending = \count($promises); + $exceptions = []; + + foreach ($promises as $key => $promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + + $exceptions[$key] = null; // add entry to array to preserve order + $promise->onResolve(function ($error, $value) use (&$deferred, &$exceptions, &$pending, $key) { + if ($pending === 0) { + return; + } + + if (!$error) { + $pending = 0; + $deferred->resolve($value); + $deferred = null; + return; + } + + $exceptions[$key] = $error; + if (0 === --$pending) { + $deferred->fail(new MultiReasonException($exceptions)); + } + }); + } + + return $result; + } + + /** + * Resolves with a two-item array delineating successful and failed Promise results. + * + * The returned promise will only fail if the given number of required promises fail. + * + * @template TValue + * + * @param Promise[]|ReactPromise[] $promises Array of only promises. + * @param int $required Number of promises that must succeed for the + * returned promise to succeed. + * + * @return Promise + * + * @throws \Error If a non-Promise is in the array. + */ + function some(array $promises, int $required = 1): Promise + { + if ($required < 0) { + throw new \Error("Number of promises required must be non-negative"); + } + + $pending = \count($promises); + + if ($required > $pending) { + throw new \Error("Too few promises provided"); + } + + if (empty($promises)) { + return new Success([[], []]); + } + + $deferred = new Deferred; + $result = $deferred->promise(); + $values = []; + $exceptions = []; + + foreach ($promises as $key => $promise) { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + + $values[$key] = $exceptions[$key] = null; // add entry to arrays to preserve order + $promise->onResolve(static function ($exception, $value) use ( + &$values, + &$exceptions, + &$pending, + $key, + $required, + $deferred + ) { + if ($exception) { + $exceptions[$key] = $exception; + unset($values[$key]); + } else { + $values[$key] = $value; + unset($exceptions[$key]); + } + + if (0 === --$pending) { + if (\count($values) < $required) { + $deferred->fail(new MultiReasonException($exceptions)); + } else { + $deferred->resolve([$exceptions, $values]); + } + } + }); + } + + return $result; + } + + /** + * Wraps a promise into another promise, altering the exception or result. + * + * @param Promise|ReactPromise $promise + * @param callable $callback + * + * @return Promise + */ + function wrap($promise, callable $callback): Promise + { + if ($promise instanceof ReactPromise) { + $promise = adapt($promise); + } elseif (!$promise instanceof Promise) { + throw createTypeError([Promise::class, ReactPromise::class], $promise); + } + + $deferred = new Deferred(); + + $promise->onResolve(static function (\Throwable $exception = null, $result) use ($deferred, $callback) { + try { + $result = $callback($exception, $result); + } catch (\Throwable $exception) { + $deferred->fail($exception); + + return; + } + + $deferred->resolve($result); + }); + + return $deferred->promise(); + } +} + +namespace Amp\Iterator +{ + + use Amp\Delayed; + use Amp\Emitter; + use Amp\Iterator; + use Amp\Producer; + use Amp\Promise; + use function Amp\call; + use function Amp\coroutine; + use function Amp\Internal\createTypeError; + + /** + * Creates an iterator from the given iterable, emitting the each value. The iterable may contain promises. If any + * promise fails, the iterator will fail with the same reason. + * + * @param array|\Traversable $iterable Elements to emit. + * @param int $delay Delay between element emissions in milliseconds. + * + * @return Iterator + * + * @throws \TypeError If the argument is not an array or instance of \Traversable. + */ + function fromIterable(/* iterable */ + $iterable, + int $delay = 0 + ): Iterator { + if (!$iterable instanceof \Traversable && !\is_array($iterable)) { + throw createTypeError(["array", "Traversable"], $iterable); + } + + if ($delay) { + return new Producer(static function (callable $emit) use ($iterable, $delay) { + foreach ($iterable as $value) { + yield new Delayed($delay); + yield $emit($value); + } + }); + } + + return new Producer(static function (callable $emit) use ($iterable) { + foreach ($iterable as $value) { + yield $emit($value); + } + }); + } + + /** + * @template TValue + * @template TReturn + * + * @param Iterator $iterator + * @param callable (TValue $value): TReturn $onEmit + * + * @return Iterator + */ + function map(Iterator $iterator, callable $onEmit): Iterator + { + return new Producer(static function (callable $emit) use ($iterator, $onEmit) { + while (yield $iterator->advance()) { + yield $emit($onEmit($iterator->getCurrent())); + } + }); + } + + /** + * @template TValue + * + * @param Iterator $iterator + * @param callable(TValue $value):bool $filter + * + * @return Iterator + */ + function filter(Iterator $iterator, callable $filter): Iterator + { + return new Producer(static function (callable $emit) use ($iterator, $filter) { + while (yield $iterator->advance()) { + if ($filter($iterator->getCurrent())) { + yield $emit($iterator->getCurrent()); + } + } + }); + } + + /** + * Creates an iterator that emits values emitted from any iterator in the array of iterators. + * + * @param Iterator[] $iterators + * + * @return Iterator + */ + function merge(array $iterators): Iterator + { + $emitter = new Emitter; + $result = $emitter->iterate(); + + $coroutine = coroutine(static function (Iterator $iterator) use (&$emitter) { + while ((yield $iterator->advance()) && $emitter !== null) { + yield $emitter->emit($iterator->getCurrent()); + } + }); + + $coroutines = []; + foreach ($iterators as $iterator) { + if (!$iterator instanceof Iterator) { + throw createTypeError([Iterator::class], $iterator); + } + + $coroutines[] = $coroutine($iterator); + } + + Promise\all($coroutines)->onResolve(static function ($exception) use (&$emitter) { + if ($exception) { + $emitter->fail($exception); + $emitter = null; + } else { + $emitter->complete(); + } + }); + + return $result; + } + + /** + * Concatenates the given iterators into a single iterator, emitting values from a single iterator at a time. The + * prior iterator must complete before values are emitted from any subsequent iterators. Iterators are concatenated + * in the order given (iteration order of the array). + * + * @param Iterator[] $iterators + * + * @return Iterator + */ + function concat(array $iterators): Iterator + { + foreach ($iterators as $iterator) { + if (!$iterator instanceof Iterator) { + throw createTypeError([Iterator::class], $iterator); + } + } + + $emitter = new Emitter; + $previous = []; + $promise = Promise\all($previous); + + $coroutine = coroutine(static function (Iterator $iterator, callable $emit) { + while (yield $iterator->advance()) { + yield $emit($iterator->getCurrent()); + } + }); + + foreach ($iterators as $iterator) { + $emit = coroutine(static function ($value) use ($emitter, $promise) { + static $pending = true, $failed = false; + + if ($failed) { + return; + } + + if ($pending) { + try { + yield $promise; + $pending = false; + } catch (\Throwable $exception) { + $failed = true; + return; // Prior iterator failed. + } + } + + yield $emitter->emit($value); + }); + $previous[] = $coroutine($iterator, $emit); + $promise = Promise\all($previous); + } + + $promise->onResolve(static function ($exception) use ($emitter) { + if ($exception) { + $emitter->fail($exception); + return; + } + + $emitter->complete(); + }); + + return $emitter->iterate(); + } + + /** + * Discards all remaining items and returns the number of discarded items. + * + * @template TValue + * + * @param Iterator $iterator + * + * @return Promise + * + * @psalm-param Iterator $iterator + * @psalm-return Promise + */ + function discard(Iterator $iterator): Promise + { + return call(static function () use ($iterator): \Generator { + $count = 0; + + while (yield $iterator->advance()) { + $count++; + } + + return $count; + }); + } + + /** + * Collects all items from an iterator into an array. + * + * @template TValue + * + * @param Iterator $iterator + * + * @psalm-param Iterator $iterator + * + * @return Promise + * @psalm-return Promise> + */ + function toArray(Iterator $iterator): Promise + { + return call(static function () use ($iterator) { + /** @psalm-var list $array */ + $array = []; + + while (yield $iterator->advance()) { + $array[] = $iterator->getCurrent(); + } + + return $array; + }); + } +} diff --git a/vendor/amphp/byte-stream/.github/workflows/ci.yml b/vendor/amphp/byte-stream/.github/workflows/ci.yml new file mode 100644 index 00000000..b725757f --- /dev/null +++ b/vendor/amphp/byte-stream/.github/workflows/ci.yml @@ -0,0 +1,135 @@ +name: Continuous Integration + +on: + push: null + pull_request: + branches: + - master + +jobs: + unit_tests: + strategy: + matrix: + include: + - operating-system: 'ubuntu-latest' + php-version: '7.1' + + - operating-system: 'ubuntu-latest' + php-version: '7.2' + + - operating-system: 'ubuntu-latest' + php-version: '7.3' + + - operating-system: 'ubuntu-latest' + php-version: '7.4' + + - operating-system: 'ubuntu-latest' + php-version: '8.0' + composer-flags: '--ignore-platform-req=php' + + - operating-system: 'windows-latest' + php-version: '8.0' + composer-flags: '--ignore-platform-req=php' + + - operating-system: 'macos-latest' + php-version: '8.0' + composer-flags: '--ignore-platform-req=php' + + name: PHP ${{ matrix.php-version }} on ${{ matrix.operating-system }} + + runs-on: ${{ matrix.operating-system }} + + steps: + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + + - name: Use LF line ends + run: | + git config --global core.autocrlf false + git config --global core.eol lf + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Get Composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-dir)" + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.*') }}-${{ matrix.composer-flags }} + restore-keys: | + composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.*') }}- + composer-${{ runner.os }}-${{ matrix.php-version }}- + + - name: Install dependencies + uses: nick-invision/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 5 + retry_wait_seconds: 30 + command: | + php_version=$(php -v) + composer update --optimize-autoloader --no-interaction --no-progress ${{ matrix.composer-flags }} + composer info -D + + - name: Run unit tests + run: vendor/bin/phpunit --verbose + + coding_standards: + strategy: + matrix: + include: + - operating-system: 'ubuntu-latest' + php-version: '8.0' + composer-flags: '--ignore-platform-req=php' + + name: Coding standards + runs-on: ${{ matrix.operating-system }} + + steps: + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php-version }} + + - name: Use LF line ends + run: | + git config --global core.autocrlf false + git config --global core.eol lf + + - name: Checkout code + uses: actions/checkout@v2 + + - name: Get Composer cache directory + id: composer-cache + run: echo "::set-output name=dir::$(composer config cache-dir)" + + - name: Cache dependencies + uses: actions/cache@v2 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.*') }}-${{ matrix.composer-flags }} + restore-keys: | + composer-${{ runner.os }}-${{ matrix.php-version }}-${{ hashFiles('**/composer.*') }}- + composer-${{ runner.os }}-${{ matrix.php-version }}- + + - name: Install dependencies + uses: nick-invision/retry@v2 + with: + timeout_minutes: 5 + max_attempts: 5 + retry_wait_seconds: 30 + command: | + php_version=$(php -v) + composer update --optimize-autoloader --no-interaction --no-progress ${{ matrix.composer-flags }} + composer info -D + + - name: Run style fixer + env: + PHP_CS_FIXER_IGNORE_ENV: 1 + run: vendor/bin/php-cs-fixer --diff --dry-run -v fix diff --git a/vendor/amphp/byte-stream/LICENSE b/vendor/amphp/byte-stream/LICENSE new file mode 100644 index 00000000..7977d674 --- /dev/null +++ b/vendor/amphp/byte-stream/LICENSE @@ -0,0 +1,22 @@ + +The MIT License (MIT) + +Copyright (c) 2016-2021 amphp + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/amphp/byte-stream/composer.json b/vendor/amphp/byte-stream/composer.json new file mode 100644 index 00000000..0315674b --- /dev/null +++ b/vendor/amphp/byte-stream/composer.json @@ -0,0 +1,58 @@ +{ + "name": "amphp/byte-stream", + "homepage": "http://amphp.org/byte-stream", + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "support": { + "issues": "https://github.com/amphp/byte-stream/issues", + "irc": "irc://irc.freenode.org/amphp" + }, + "keywords": [ + "stream", + "async", + "non-blocking", + "amp", + "amphp", + "io" + ], + "license": "MIT", + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "require": { + "php": ">=7.1", + "amphp/amp": "^2" + }, + "require-dev": { + "amphp/phpunit-util": "^1.4", + "phpunit/phpunit": "^6 || ^7 || ^8", + "friendsofphp/php-cs-fixer": "^2.3", + "amphp/php-cs-fixer-config": "dev-master", + "psalm/phar": "^3.11.4", + "jetbrains/phpstorm-stubs": "^2019.3" + }, + "autoload": { + "psr-4": { + "Amp\\ByteStream\\": "lib" + }, + "files": [ + "lib/functions.php" + ] + }, + "autoload-dev": { + "psr-4": { + "Amp\\ByteStream\\Test\\": "test" + } + }, + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + } +} diff --git a/vendor/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php b/vendor/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php new file mode 100644 index 00000000..294287d2 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/Base64/Base64DecodingInputStream.php @@ -0,0 +1,65 @@ +source = $source; + } + + public function read(): Promise + { + return call(function () { + if ($this->source === null) { + throw new StreamException('Failed to read stream chunk due to invalid base64 data'); + } + + $chunk = yield $this->source->read(); + if ($chunk === null) { + if ($this->buffer === null) { + return null; + } + + $chunk = \base64_decode($this->buffer, true); + if ($chunk === false) { + $this->source = null; + $this->buffer = null; + + throw new StreamException('Failed to read stream chunk due to invalid base64 data'); + } + + $this->buffer = null; + + return $chunk; + } + + $this->buffer .= $chunk; + + $length = \strlen($this->buffer); + $chunk = \base64_decode(\substr($this->buffer, 0, $length - $length % 4), true); + if ($chunk === false) { + $this->source = null; + $this->buffer = null; + + throw new StreamException('Failed to read stream chunk due to invalid base64 data'); + } + + $this->buffer = \substr($this->buffer, $length - $length % 4); + + return $chunk; + }); + } +} diff --git a/vendor/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php b/vendor/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php new file mode 100644 index 00000000..664d99d7 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/Base64/Base64DecodingOutputStream.php @@ -0,0 +1,55 @@ +destination = $destination; + } + + public function write(string $data): Promise + { + $this->buffer .= $data; + + $length = \strlen($this->buffer); + $chunk = \base64_decode(\substr($this->buffer, 0, $length - $length % 4), true); + if ($chunk === false) { + return new Failure(new StreamException('Invalid base64 near offset ' . $this->offset)); + } + + $this->offset += $length - $length % 4; + $this->buffer = \substr($this->buffer, $length - $length % 4); + + return $this->destination->write($chunk); + } + + public function end(string $finalData = ""): Promise + { + $this->offset += \strlen($this->buffer); + + $chunk = \base64_decode($this->buffer . $finalData, true); + if ($chunk === false) { + return new Failure(new StreamException('Invalid base64 near offset ' . $this->offset)); + } + + $this->buffer = ''; + + return $this->destination->end($chunk); + } +} diff --git a/vendor/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php b/vendor/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php new file mode 100644 index 00000000..523af9d2 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/Base64/Base64EncodingInputStream.php @@ -0,0 +1,46 @@ +source = $source; + } + + public function read(): Promise + { + return call(function () { + $chunk = yield $this->source->read(); + if ($chunk === null) { + if ($this->buffer === null) { + return null; + } + + $chunk = \base64_encode($this->buffer); + $this->buffer = null; + + return $chunk; + } + + $this->buffer .= $chunk; + + $length = \strlen($this->buffer); + $chunk = \base64_encode(\substr($this->buffer, 0, $length - $length % 3)); + $this->buffer = \substr($this->buffer, $length - $length % 3); + + return $chunk; + }); + } +} diff --git a/vendor/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php b/vendor/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php new file mode 100644 index 00000000..e23d6f53 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/Base64/Base64EncodingOutputStream.php @@ -0,0 +1,39 @@ +destination = $destination; + } + + public function write(string $data): Promise + { + $this->buffer .= $data; + + $length = \strlen($this->buffer); + $chunk = \base64_encode(\substr($this->buffer, 0, $length - $length % 3)); + $this->buffer = \substr($this->buffer, $length - $length % 3); + + return $this->destination->write($chunk); + } + + public function end(string $finalData = ""): Promise + { + $chunk = \base64_encode($this->buffer . $finalData); + $this->buffer = ''; + + return $this->destination->end($chunk); + } +} diff --git a/vendor/amphp/byte-stream/lib/ClosedException.php b/vendor/amphp/byte-stream/lib/ClosedException.php new file mode 100644 index 00000000..17957a86 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/ClosedException.php @@ -0,0 +1,7 @@ +contents = $contents; + } + + /** + * Reads data from the stream. + * + * @return Promise Resolves with the full contents or `null` if the stream has closed / already been consumed. + */ + public function read(): Promise + { + if ($this->contents === null) { + return new Success; + } + + $promise = new Success($this->contents); + $this->contents = null; + + return $promise; + } +} diff --git a/vendor/amphp/byte-stream/lib/InputStream.php b/vendor/amphp/byte-stream/lib/InputStream.php new file mode 100644 index 00000000..4c0b9e8f --- /dev/null +++ b/vendor/amphp/byte-stream/lib/InputStream.php @@ -0,0 +1,38 @@ +read()) !== null) { + * $buffer .= $chunk; + * } + * + * return $buffer; + * }); + * } + * ``` + */ +interface InputStream +{ + /** + * Reads data from the stream. + * + * @return Promise Resolves with a string when new data is available or `null` if the stream has closed. + * + * @psalm-return Promise + * + * @throws PendingReadError Thrown if another read operation is still pending. + */ + public function read(): Promise; +} diff --git a/vendor/amphp/byte-stream/lib/InputStreamChain.php b/vendor/amphp/byte-stream/lib/InputStreamChain.php new file mode 100644 index 00000000..d952a852 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/InputStreamChain.php @@ -0,0 +1,52 @@ +streams = $streams; + } + + /** @inheritDoc */ + public function read(): Promise + { + if ($this->reading) { + throw new PendingReadError; + } + + if (!$this->streams) { + return new Success(null); + } + + return call(function () { + $this->reading = true; + + try { + while ($this->streams) { + $chunk = yield $this->streams[0]->read(); + if ($chunk === null) { + \array_shift($this->streams); + continue; + } + + return $chunk; + } + + return null; + } finally { + $this->reading = false; + } + }); + } +} diff --git a/vendor/amphp/byte-stream/lib/IteratorStream.php b/vendor/amphp/byte-stream/lib/IteratorStream.php new file mode 100644 index 00000000..6fbe3912 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/IteratorStream.php @@ -0,0 +1,70 @@ + */ + private $iterator; + /** @var \Throwable|null */ + private $exception; + /** @var bool */ + private $pending = false; + + /** + * @psam-param Iterator $iterator + */ + public function __construct(Iterator $iterator) + { + $this->iterator = $iterator; + } + + /** @inheritdoc */ + public function read(): Promise + { + if ($this->exception) { + return new Failure($this->exception); + } + + if ($this->pending) { + throw new PendingReadError; + } + + $this->pending = true; + /** @var Deferred $deferred */ + $deferred = new Deferred; + + $this->iterator->advance()->onResolve(function ($error, $hasNextElement) use ($deferred) { + $this->pending = false; + + if ($error) { + $this->exception = $error; + $deferred->fail($error); + } elseif ($hasNextElement) { + $chunk = $this->iterator->getCurrent(); + + if (!\is_string($chunk)) { + $this->exception = new StreamException(\sprintf( + "Unexpected iterator value of type '%s', expected string", + \is_object($chunk) ? \get_class($chunk) : \gettype($chunk) + )); + + $deferred->fail($this->exception); + + return; + } + + $deferred->resolve($chunk); + } else { + $deferred->resolve(); + } + }); + + return $deferred->promise(); + } +} diff --git a/vendor/amphp/byte-stream/lib/LineReader.php b/vendor/amphp/byte-stream/lib/LineReader.php new file mode 100644 index 00000000..ed6b0a2a --- /dev/null +++ b/vendor/amphp/byte-stream/lib/LineReader.php @@ -0,0 +1,71 @@ +source = $inputStream; + $this->delimiter = $delimiter === null ? "\n" : $delimiter; + $this->lineMode = $delimiter === null; + } + + /** + * @return Promise + */ + public function readLine(): Promise + { + return call(function () { + if (false !== \strpos($this->buffer, $this->delimiter)) { + list($line, $this->buffer) = \explode($this->delimiter, $this->buffer, 2); + return $this->lineMode ? \rtrim($line, "\r") : $line; + } + + while (null !== $chunk = yield $this->source->read()) { + $this->buffer .= $chunk; + + if (false !== \strpos($this->buffer, $this->delimiter)) { + list($line, $this->buffer) = \explode($this->delimiter, $this->buffer, 2); + return $this->lineMode ? \rtrim($line, "\r") : $line; + } + } + + if ($this->buffer === "") { + return null; + } + + $line = $this->buffer; + $this->buffer = ""; + return $this->lineMode ? \rtrim($line, "\r") : $line; + }); + } + + public function getBuffer(): string + { + return $this->buffer; + } + + /** + * @return void + */ + public function clearBuffer() + { + $this->buffer = ""; + } +} diff --git a/vendor/amphp/byte-stream/lib/Message.php b/vendor/amphp/byte-stream/lib/Message.php new file mode 100644 index 00000000..33046233 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/Message.php @@ -0,0 +1,176 @@ +read()) !== null) { + * // Immediately use $chunk, reducing memory consumption since the entire message is never buffered. + * } + * + * @deprecated Use Amp\ByteStream\Payload instead. + */ +class Message implements InputStream, Promise +{ + /** @var InputStream */ + private $source; + + /** @var string */ + private $buffer = ""; + + /** @var Deferred|null */ + private $pendingRead; + + /** @var Coroutine|null */ + private $coroutine; + + /** @var bool True if onResolve() has been called. */ + private $buffering = false; + + /** @var Deferred|null */ + private $backpressure; + + /** @var bool True if the iterator has completed. */ + private $complete = false; + + /** @var \Throwable|null Used to fail future reads on failure. */ + private $error; + + /** + * @param InputStream $source An iterator that only emits strings. + */ + public function __construct(InputStream $source) + { + $this->source = $source; + } + + private function consume(): \Generator + { + while (($chunk = yield $this->source->read()) !== null) { + $buffer = $this->buffer .= $chunk; + + if ($buffer === "") { + continue; // Do not succeed reads with empty string. + } elseif ($this->pendingRead) { + $deferred = $this->pendingRead; + $this->pendingRead = null; + $this->buffer = ""; + $deferred->resolve($buffer); + $buffer = ""; // Destroy last emitted chunk to free memory. + } elseif (!$this->buffering) { + $buffer = ""; // Destroy last emitted chunk to free memory. + $this->backpressure = new Deferred; + yield $this->backpressure->promise(); + } + } + + $this->complete = true; + + if ($this->pendingRead) { + $deferred = $this->pendingRead; + $this->pendingRead = null; + $deferred->resolve($this->buffer !== "" ? $this->buffer : null); + $this->buffer = ""; + } + + return $this->buffer; + } + + /** @inheritdoc */ + final public function read(): Promise + { + if ($this->pendingRead) { + throw new PendingReadError; + } + + if ($this->coroutine === null) { + $this->coroutine = new Coroutine($this->consume()); + $this->coroutine->onResolve(function ($error) { + if ($error) { + $this->error = $error; + } + + if ($this->pendingRead) { + $deferred = $this->pendingRead; + $this->pendingRead = null; + $deferred->fail($error); + } + }); + } + + if ($this->error) { + return new Failure($this->error); + } + + if ($this->buffer !== "") { + $buffer = $this->buffer; + $this->buffer = ""; + + if ($this->backpressure) { + $backpressure = $this->backpressure; + $this->backpressure = null; + $backpressure->resolve(); + } + + return new Success($buffer); + } + + if ($this->complete) { + return new Success; + } + + $this->pendingRead = new Deferred; + return $this->pendingRead->promise(); + } + + /** @inheritdoc */ + final public function onResolve(callable $onResolved) + { + $this->buffering = true; + + if ($this->coroutine === null) { + $this->coroutine = new Coroutine($this->consume()); + } + + if ($this->backpressure) { + $backpressure = $this->backpressure; + $this->backpressure = null; + $backpressure->resolve(); + } + + $this->coroutine->onResolve($onResolved); + } + + /** + * Exposes the source input stream. + * + * This might be required to resolve a promise with an InputStream, because promises in Amp can't be resolved with + * other promises. + * + * @return InputStream + */ + final public function getInputStream(): InputStream + { + return $this->source; + } +} diff --git a/vendor/amphp/byte-stream/lib/OutputBuffer.php b/vendor/amphp/byte-stream/lib/OutputBuffer.php new file mode 100644 index 00000000..832dc71b --- /dev/null +++ b/vendor/amphp/byte-stream/lib/OutputBuffer.php @@ -0,0 +1,55 @@ +deferred = new Deferred; + } + + public function write(string $data): Promise + { + if ($this->closed) { + throw new ClosedException("The stream has already been closed."); + } + + $this->contents .= $data; + + return new Success(\strlen($data)); + } + + public function end(string $finalData = ""): Promise + { + if ($this->closed) { + throw new ClosedException("The stream has already been closed."); + } + + $this->contents .= $finalData; + $this->closed = true; + + $this->deferred->resolve($this->contents); + $this->contents = ""; + + return new Success(\strlen($finalData)); + } + + public function onResolve(callable $onResolved) + { + $this->deferred->promise()->onResolve($onResolved); + } +} diff --git a/vendor/amphp/byte-stream/lib/OutputStream.php b/vendor/amphp/byte-stream/lib/OutputStream.php new file mode 100644 index 00000000..68f51fc1 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/OutputStream.php @@ -0,0 +1,37 @@ +stream = $stream; + } + + public function __destruct() + { + if (!$this->promise) { + Promise\rethrow(new Coroutine($this->consume())); + } + } + + private function consume(): \Generator + { + try { + if ($this->lastRead && null === yield $this->lastRead) { + return; + } + + while (null !== yield $this->stream->read()) { + // Discard unread bytes from message. + } + } catch (\Throwable $exception) { + // If exception is thrown here the connection closed anyway. + } + } + + /** + * @inheritdoc + * + * @throws \Error If a buffered message was requested by calling buffer(). + */ + final public function read(): Promise + { + if ($this->promise) { + throw new \Error("Cannot stream message data once a buffered message has been requested"); + } + + return $this->lastRead = $this->stream->read(); + } + + /** + * Buffers the entire message and resolves the returned promise then. + * + * @return Promise Resolves with the entire message contents. + */ + final public function buffer(): Promise + { + if ($this->promise) { + return $this->promise; + } + + return $this->promise = call(function () { + $buffer = ''; + if ($this->lastRead && null === yield $this->lastRead) { + return $buffer; + } + + while (null !== $chunk = yield $this->stream->read()) { + $buffer .= $chunk; + } + return $buffer; + }); + } +} diff --git a/vendor/amphp/byte-stream/lib/PendingReadError.php b/vendor/amphp/byte-stream/lib/PendingReadError.php new file mode 100644 index 00000000..66dc1fbd --- /dev/null +++ b/vendor/amphp/byte-stream/lib/PendingReadError.php @@ -0,0 +1,17 @@ +useSingleRead = $useSingleRead; + + if (\strpos($meta["mode"], "r") === false && \strpos($meta["mode"], "+") === false) { + throw new \Error("Expected a readable stream"); + } + + \stream_set_blocking($stream, false); + \stream_set_read_buffer($stream, 0); + + $this->resource = &$stream; + $this->chunkSize = &$chunkSize; + + $deferred = &$this->deferred; + $readable = &$this->readable; + + $this->watcher = Loop::onReadable($this->resource, static function ($watcher) use ( + &$deferred, + &$readable, + &$stream, + &$chunkSize, + $useSingleRead + ) { + if ($useSingleRead) { + $data = @\fread($stream, $chunkSize); + } else { + $data = @\stream_get_contents($stream, $chunkSize); + } + + \assert($data !== false, "Trying to read from a previously fclose()'d resource. Do NOT manually fclose() resources the loop still has a reference to."); + + // Error suppression, because pthreads does crazy things with resources, + // which might be closed during two operations. + // See https://github.com/amphp/byte-stream/issues/32 + if ($data === '' && @\feof($stream)) { + $readable = false; + $stream = null; + $data = null; // Stream closed, resolve read with null. + Loop::cancel($watcher); + } else { + Loop::disable($watcher); + } + + $temp = $deferred; + $deferred = null; + + \assert($temp instanceof Deferred); + $temp->resolve($data); + }); + + $this->immediateCallable = static function ($watcherId, $data) use (&$deferred) { + $temp = $deferred; + $deferred = null; + + \assert($temp instanceof Deferred); + $temp->resolve($data); + }; + + Loop::disable($this->watcher); + } + + /** @inheritdoc */ + public function read(): Promise + { + if ($this->deferred !== null) { + throw new PendingReadError; + } + + if (!$this->readable) { + return new Success; // Resolve with null on closed stream. + } + + \assert($this->resource !== null); + + // Attempt a direct read, because Windows suffers from slow I/O on STDIN otherwise. + if ($this->useSingleRead) { + $data = @\fread($this->resource, $this->chunkSize); + } else { + $data = @\stream_get_contents($this->resource, $this->chunkSize); + } + + \assert($data !== false, "Trying to read from a previously fclose()'d resource. Do NOT manually fclose() resources the loop still has a reference to."); + + if ($data === '') { + // Error suppression, because pthreads does crazy things with resources, + // which might be closed during two operations. + // See https://github.com/amphp/byte-stream/issues/32 + if (@\feof($this->resource)) { + $this->readable = false; + $this->resource = null; + Loop::cancel($this->watcher); + + return new Success; // Stream closed, resolve read with null. + } + + $this->deferred = new Deferred; + Loop::enable($this->watcher); + + return $this->deferred->promise(); + } + + // Prevent an immediate read → write loop from blocking everything + // See e.g. examples/benchmark-throughput.php + $this->deferred = new Deferred; + $this->immediateWatcher = Loop::defer($this->immediateCallable, $data); + + return $this->deferred->promise(); + } + + /** + * Closes the stream forcefully. Multiple `close()` calls are ignored. + * + * @return void + */ + public function close() + { + if (\is_resource($this->resource)) { + // Error suppression, as resource might already be closed + $meta = @\stream_get_meta_data($this->resource); + + if ($meta && \strpos($meta["mode"], "+") !== false) { + @\stream_socket_shutdown($this->resource, \STREAM_SHUT_RD); + } else { + /** @psalm-suppress InvalidPropertyAssignmentValue */ + @\fclose($this->resource); + } + } + + $this->free(); + } + + /** + * Nulls reference to resource, marks stream unreadable, and succeeds any pending read with null. + * + * @return void + */ + private function free() + { + $this->readable = false; + $this->resource = null; + + if ($this->deferred !== null) { + $deferred = $this->deferred; + $this->deferred = null; + $deferred->resolve(); + } + + Loop::cancel($this->watcher); + + if ($this->immediateWatcher !== null) { + Loop::cancel($this->immediateWatcher); + } + } + + /** + * @return resource|null The stream resource or null if the stream has closed. + */ + public function getResource() + { + return $this->resource; + } + + /** + * @return void + */ + public function setChunkSize(int $chunkSize) + { + $this->chunkSize = $chunkSize; + } + + /** + * References the read watcher, so the loop keeps running in case there's an active read. + * + * @return void + * + * @see Loop::reference() + */ + public function reference() + { + if (!$this->resource) { + throw new \Error("Resource has already been freed"); + } + + Loop::reference($this->watcher); + } + + /** + * Unreferences the read watcher, so the loop doesn't keep running even if there are active reads. + * + * @return void + * + * @see Loop::unreference() + */ + public function unreference() + { + if (!$this->resource) { + throw new \Error("Resource has already been freed"); + } + + Loop::unreference($this->watcher); + } + + public function __destruct() + { + if ($this->resource !== null) { + $this->free(); + } + } +} diff --git a/vendor/amphp/byte-stream/lib/ResourceOutputStream.php b/vendor/amphp/byte-stream/lib/ResourceOutputStream.php new file mode 100644 index 00000000..035e480b --- /dev/null +++ b/vendor/amphp/byte-stream/lib/ResourceOutputStream.php @@ -0,0 +1,321 @@ + */ + private $writes; + + /** @var bool */ + private $writable = true; + + /** @var int|null */ + private $chunkSize; + + /** + * @param resource $stream Stream resource. + * @param int|null $chunkSize Chunk size per `fwrite()` operation. + */ + public function __construct($stream, int $chunkSize = null) + { + if (!\is_resource($stream) || \get_resource_type($stream) !== 'stream') { + throw new \Error("Expected a valid stream"); + } + + $meta = \stream_get_meta_data($stream); + + if (\strpos($meta["mode"], "r") !== false && \strpos($meta["mode"], "+") === false) { + throw new \Error("Expected a writable stream"); + } + + \stream_set_blocking($stream, false); + \stream_set_write_buffer($stream, 0); + + $this->resource = $stream; + $this->chunkSize = &$chunkSize; + + $writes = $this->writes = new \SplQueue; + $writable = &$this->writable; + $resource = &$this->resource; + + $this->watcher = Loop::onWritable($stream, static function ($watcher, $stream) use ($writes, &$chunkSize, &$writable, &$resource) { + static $emptyWrites = 0; + + try { + while (!$writes->isEmpty()) { + /** @var Deferred $deferred */ + list($data, $previous, $deferred) = $writes->shift(); + $length = \strlen($data); + + if ($length === 0) { + $deferred->resolve(0); + continue; + } + + if (!\is_resource($stream) || (($metaData = @\stream_get_meta_data($stream)) && $metaData['eof'])) { + throw new ClosedException("The stream was closed by the peer"); + } + + // Error reporting suppressed since fwrite() emits E_WARNING if the pipe is broken or the buffer is full. + // Use conditional, because PHP doesn't like getting null passed + if ($chunkSize) { + $written = @\fwrite($stream, $data, $chunkSize); + } else { + $written = @\fwrite($stream, $data); + } + + \assert( + $written !== false || \PHP_VERSION_ID >= 70400, // PHP 7.4+ returns false on EPIPE. + "Trying to write on a previously fclose()'d resource. Do NOT manually fclose() resources the still referenced in the loop." + ); + + // PHP 7.4.0 and 7.4.1 may return false on EAGAIN. + if ($written === false && \PHP_VERSION_ID >= 70402) { + $message = "Failed to write to stream"; + if ($error = \error_get_last()) { + $message .= \sprintf("; %s", $error["message"]); + } + throw new StreamException($message); + } + + // Broken pipes between processes on macOS/FreeBSD do not detect EOF properly. + if ($written === 0 || $written === false) { + if ($emptyWrites++ > self::MAX_CONSECUTIVE_EMPTY_WRITES) { + $message = "Failed to write to stream after multiple attempts"; + if ($error = \error_get_last()) { + $message .= \sprintf("; %s", $error["message"]); + } + throw new StreamException($message); + } + + $writes->unshift([$data, $previous, $deferred]); + return; + } + + $emptyWrites = 0; + + if ($length > $written) { + $data = \substr($data, $written); + $writes->unshift([$data, $written + $previous, $deferred]); + return; + } + + $deferred->resolve($written + $previous); + } + } catch (\Throwable $exception) { + $resource = null; + $writable = false; + + /** @psalm-suppress PossiblyUndefinedVariable */ + $deferred->fail($exception); + while (!$writes->isEmpty()) { + list(, , $deferred) = $writes->shift(); + $deferred->fail($exception); + } + + Loop::cancel($watcher); + } finally { + if ($writes->isEmpty()) { + Loop::disable($watcher); + } + } + }); + + Loop::disable($this->watcher); + } + + /** + * Writes data to the stream. + * + * @param string $data Bytes to write. + * + * @return Promise Succeeds once the data has been successfully written to the stream. + * + * @throws ClosedException If the stream has already been closed. + */ + public function write(string $data): Promise + { + return $this->send($data, false); + } + + /** + * Closes the stream after all pending writes have been completed. Optionally writes a final data chunk before. + * + * @param string $finalData Bytes to write. + * + * @return Promise Succeeds once the data has been successfully written to the stream. + * + * @throws ClosedException If the stream has already been closed. + */ + public function end(string $finalData = ""): Promise + { + return $this->send($finalData, true); + } + + private function send(string $data, bool $end = false): Promise + { + if (!$this->writable) { + return new Failure(new ClosedException("The stream is not writable")); + } + + $length = \strlen($data); + $written = 0; + + if ($end) { + $this->writable = false; + } + + if ($this->writes->isEmpty()) { + if ($length === 0) { + if ($end) { + $this->close(); + } + return new Success(0); + } + + if (!\is_resource($this->resource) || (($metaData = @\stream_get_meta_data($this->resource)) && $metaData['eof'])) { + return new Failure(new ClosedException("The stream was closed by the peer")); + } + + // Error reporting suppressed since fwrite() emits E_WARNING if the pipe is broken or the buffer is full. + // Use conditional, because PHP doesn't like getting null passed. + if ($this->chunkSize) { + $written = @\fwrite($this->resource, $data, $this->chunkSize); + } else { + $written = @\fwrite($this->resource, $data); + } + + \assert( + $written !== false || \PHP_VERSION_ID >= 70400, // PHP 7.4+ returns false on EPIPE. + "Trying to write on a previously fclose()'d resource. Do NOT manually fclose() resources the still referenced in the loop." + ); + + // PHP 7.4.0 and 7.4.1 may return false on EAGAIN. + if ($written === false && \PHP_VERSION_ID >= 70402) { + $message = "Failed to write to stream"; + if ($error = \error_get_last()) { + $message .= \sprintf("; %s", $error["message"]); + } + return new Failure(new StreamException($message)); + } + + $written = (int) $written; // Cast potential false to 0. + + if ($length === $written) { + if ($end) { + $this->close(); + } + return new Success($written); + } + + $data = \substr($data, $written); + } + + $deferred = new Deferred; + + if ($length - $written > self::LARGE_CHUNK_SIZE) { + $chunks = \str_split($data, self::LARGE_CHUNK_SIZE); + $data = \array_pop($chunks); + foreach ($chunks as $chunk) { + $this->writes->push([$chunk, $written, new Deferred]); + $written += self::LARGE_CHUNK_SIZE; + } + } + + $this->writes->push([$data, $written, $deferred]); + Loop::enable($this->watcher); + $promise = $deferred->promise(); + + if ($end) { + $promise->onResolve([$this, "close"]); + } + + return $promise; + } + + /** + * Closes the stream forcefully. Multiple `close()` calls are ignored. + * + * @return void + */ + public function close() + { + if (\is_resource($this->resource)) { + // Error suppression, as resource might already be closed + $meta = @\stream_get_meta_data($this->resource); + + if ($meta && \strpos($meta["mode"], "+") !== false) { + @\stream_socket_shutdown($this->resource, \STREAM_SHUT_WR); + } else { + /** @psalm-suppress InvalidPropertyAssignmentValue psalm reports this as closed-resource */ + @\fclose($this->resource); + } + } + + $this->free(); + } + + /** + * Nulls reference to resource, marks stream unwritable, and fails any pending write. + * + * @return void + */ + private function free() + { + $this->resource = null; + $this->writable = false; + + if (!$this->writes->isEmpty()) { + $exception = new ClosedException("The socket was closed before writing completed"); + do { + /** @var Deferred $deferred */ + list(, , $deferred) = $this->writes->shift(); + $deferred->fail($exception); + } while (!$this->writes->isEmpty()); + } + + Loop::cancel($this->watcher); + } + + /** + * @return resource|null Stream resource or null if end() has been called or the stream closed. + */ + public function getResource() + { + return $this->resource; + } + + /** + * @return void + */ + public function setChunkSize(int $chunkSize) + { + $this->chunkSize = $chunkSize; + } + + public function __destruct() + { + if ($this->resource !== null) { + $this->free(); + } + } +} diff --git a/vendor/amphp/byte-stream/lib/StreamException.php b/vendor/amphp/byte-stream/lib/StreamException.php new file mode 100644 index 00000000..b86ec7e0 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/StreamException.php @@ -0,0 +1,7 @@ +source = $source; + $this->encoding = $encoding; + $this->options = $options; + $this->resource = @\inflate_init($encoding, $options); + + if ($this->resource === false) { + throw new StreamException("Failed initializing deflate context"); + } + } + + /** @inheritdoc */ + public function read(): Promise + { + return call(function () { + if ($this->resource === null) { + return null; + } + + \assert($this->source !== null); + + $data = yield $this->source->read(); + + // Needs a double guard, as stream might have been closed while reading + /** @psalm-suppress ParadoxicalCondition */ + if ($this->resource === null) { + return null; + } + + if ($data === null) { + $decompressed = @\inflate_add($this->resource, "", \ZLIB_FINISH); + + if ($decompressed === false) { + throw new StreamException("Failed adding data to deflate context"); + } + + $this->close(); + + return $decompressed; + } + + $decompressed = @\inflate_add($this->resource, $data, \ZLIB_SYNC_FLUSH); + + if ($decompressed === false) { + throw new StreamException("Failed adding data to deflate context"); + } + + return $decompressed; + }); + } + + /** + * @internal + * @return void + */ + private function close() + { + $this->resource = null; + $this->source = null; + } + + /** + * Gets the used compression encoding. + * + * @return int Encoding specified on construction time. + */ + public function getEncoding(): int + { + return $this->encoding; + } + /** + * Gets the used compression options. + * + * @return array Options array passed on construction time. + */ + public function getOptions(): array + { + return $this->options; + } +} diff --git a/vendor/amphp/byte-stream/lib/ZlibOutputStream.php b/vendor/amphp/byte-stream/lib/ZlibOutputStream.php new file mode 100644 index 00000000..542df1ce --- /dev/null +++ b/vendor/amphp/byte-stream/lib/ZlibOutputStream.php @@ -0,0 +1,119 @@ +destination = $destination; + $this->encoding = $encoding; + $this->options = $options; + $this->resource = @\deflate_init($encoding, $options); + + if ($this->resource === false) { + throw new StreamException("Failed initializing deflate context"); + } + } + + /** @inheritdoc */ + public function write(string $data): Promise + { + if ($this->resource === null) { + throw new ClosedException("The stream has already been closed"); + } + + \assert($this->destination !== null); + + $compressed = \deflate_add($this->resource, $data, \ZLIB_SYNC_FLUSH); + + if ($compressed === false) { + throw new StreamException("Failed adding data to deflate context"); + } + + $promise = $this->destination->write($compressed); + $promise->onResolve(function ($error) { + if ($error) { + $this->close(); + } + }); + + return $promise; + } + + /** @inheritdoc */ + public function end(string $finalData = ""): Promise + { + if ($this->resource === null) { + throw new ClosedException("The stream has already been closed"); + } + + \assert($this->destination !== null); + + $compressed = \deflate_add($this->resource, $finalData, \ZLIB_FINISH); + + if ($compressed === false) { + throw new StreamException("Failed adding data to deflate context"); + } + + $promise = $this->destination->end($compressed); + $promise->onResolve(function () { + $this->close(); + }); + + return $promise; + } + + /** + * @internal + * @return void + */ + private function close() + { + $this->resource = null; + $this->destination = null; + } + + /** + * Gets the used compression encoding. + * + * @return int Encoding specified on construction time. + */ + public function getEncoding(): int + { + return $this->encoding; + } + + /** + * Gets the used compression options. + * + * @return array Options array passed on construction time. + */ + public function getOptions(): array + { + return $this->options; + } +} diff --git a/vendor/amphp/byte-stream/lib/functions.php b/vendor/amphp/byte-stream/lib/functions.php new file mode 100644 index 00000000..434aef32 --- /dev/null +++ b/vendor/amphp/byte-stream/lib/functions.php @@ -0,0 +1,188 @@ +read()) !== null) { + $written += \strlen($chunk); + $writePromise = $destination->write($chunk); + $chunk = null; // free memory + yield $writePromise; + } + + return $written; + }); +} + +/** + * @param \Amp\ByteStream\InputStream $source + * + * @return \Amp\Promise + */ +function buffer(InputStream $source): Promise +{ + return call(function () use ($source): \Generator { + $buffer = ""; + + while (($chunk = yield $source->read()) !== null) { + $buffer .= $chunk; + $chunk = null; // free memory + } + + return $buffer; + }); +} + +/** + * The php://input input buffer stream for the process associated with the currently active event loop. + * + * @return ResourceInputStream + */ +function getInputBufferStream(): ResourceInputStream +{ + static $key = InputStream::class . '\\input'; + + $stream = Loop::getState($key); + + if (!$stream) { + $stream = new ResourceInputStream(\fopen('php://input', 'rb')); + Loop::setState($key, $stream); + } + + return $stream; +} + +/** + * The php://output output buffer stream for the process associated with the currently active event loop. + * + * @return ResourceOutputStream + */ +function getOutputBufferStream(): ResourceOutputStream +{ + static $key = OutputStream::class . '\\output'; + + $stream = Loop::getState($key); + + if (!$stream) { + $stream = new ResourceOutputStream(\fopen('php://output', 'wb')); + Loop::setState($key, $stream); + } + + return $stream; +} + +/** + * The STDIN stream for the process associated with the currently active event loop. + * + * @return ResourceInputStream + */ +function getStdin(): ResourceInputStream +{ + static $key = InputStream::class . '\\stdin'; + + $stream = Loop::getState($key); + + if (!$stream) { + $stream = new ResourceInputStream(\STDIN); + Loop::setState($key, $stream); + } + + return $stream; +} + +/** + * The STDOUT stream for the process associated with the currently active event loop. + * + * @return ResourceOutputStream + */ +function getStdout(): ResourceOutputStream +{ + static $key = OutputStream::class . '\\stdout'; + + $stream = Loop::getState($key); + + if (!$stream) { + $stream = new ResourceOutputStream(\STDOUT); + Loop::setState($key, $stream); + } + + return $stream; +} + +/** + * The STDERR stream for the process associated with the currently active event loop. + * + * @return ResourceOutputStream + */ +function getStderr(): ResourceOutputStream +{ + static $key = OutputStream::class . '\\stderr'; + + $stream = Loop::getState($key); + + if (!$stream) { + $stream = new ResourceOutputStream(\STDERR); + Loop::setState($key, $stream); + } + + return $stream; +} + +function parseLineDelimitedJson(InputStream $stream, bool $assoc = false, int $depth = 512, int $options = 0): Iterator +{ + return new Producer(static function (callable $emit) use ($stream, $assoc, $depth, $options) { + $reader = new LineReader($stream); + + while (null !== $line = yield $reader->readLine()) { + $line = \trim($line); + + if ($line === '') { + continue; + } + + /** @noinspection PhpComposerExtensionStubsInspection */ + $data = \json_decode($line, $assoc, $depth, $options); + /** @noinspection PhpComposerExtensionStubsInspection */ + $error = \json_last_error(); + + /** @noinspection PhpComposerExtensionStubsInspection */ + if ($error !== \JSON_ERROR_NONE) { + /** @noinspection PhpComposerExtensionStubsInspection */ + throw new StreamException('Failed to parse JSON: ' . \json_last_error_msg(), $error); + } + + yield $emit($data); + } + }); +} diff --git a/vendor/amphp/byte-stream/psalm.xml b/vendor/amphp/byte-stream/psalm.xml new file mode 100644 index 00000000..9684f55d --- /dev/null +++ b/vendor/amphp/byte-stream/psalm.xml @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/bin/php-parse b/vendor/bin/php-parse new file mode 100755 index 00000000..1bd2c838 --- /dev/null +++ b/vendor/bin/php-parse @@ -0,0 +1,120 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse'); + exit(0); + } +} + +include __DIR__ . '/..'.'/nikic/php-parser/bin/php-parse'; diff --git a/vendor/bin/psalm b/vendor/bin/psalm new file mode 100755 index 00000000..baac2024 --- /dev/null +++ b/vendor/bin/psalm @@ -0,0 +1,120 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/vimeo/psalm/psalm'); + exit(0); + } +} + +include __DIR__ . '/..'.'/vimeo/psalm/psalm'; diff --git a/vendor/bin/psalm-language-server b/vendor/bin/psalm-language-server new file mode 100755 index 00000000..552f19b2 --- /dev/null +++ b/vendor/bin/psalm-language-server @@ -0,0 +1,120 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/vimeo/psalm/psalm-language-server'); + exit(0); + } +} + +include __DIR__ . '/..'.'/vimeo/psalm/psalm-language-server'; diff --git a/vendor/bin/psalm-plugin b/vendor/bin/psalm-plugin new file mode 100755 index 00000000..a1db9f67 --- /dev/null +++ b/vendor/bin/psalm-plugin @@ -0,0 +1,120 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/vimeo/psalm/psalm-plugin'); + exit(0); + } +} + +include __DIR__ . '/..'.'/vimeo/psalm/psalm-plugin'; diff --git a/vendor/bin/psalm-refactor b/vendor/bin/psalm-refactor new file mode 100755 index 00000000..2376e6cf --- /dev/null +++ b/vendor/bin/psalm-refactor @@ -0,0 +1,120 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/vimeo/psalm/psalm-refactor'); + exit(0); + } +} + +include __DIR__ . '/..'.'/vimeo/psalm/psalm-refactor'; diff --git a/vendor/bin/psalter b/vendor/bin/psalter new file mode 100755 index 00000000..c1ad8e78 --- /dev/null +++ b/vendor/bin/psalter @@ -0,0 +1,120 @@ +#!/usr/bin/env php +realpath = realpath($opened_path) ?: $opened_path; + $opened_path = $this->realpath; + $this->handle = fopen($this->realpath, $mode); + $this->position = 0; + + return (bool) $this->handle; + } + + public function stream_read($count) + { + $data = fread($this->handle, $count); + + if ($this->position === 0) { + $data = preg_replace('{^#!.*\r?\n}', '', $data); + } + + $this->position += strlen($data); + + return $data; + } + + public function stream_cast($castAs) + { + return $this->handle; + } + + public function stream_close() + { + fclose($this->handle); + } + + public function stream_lock($operation) + { + return $operation ? flock($this->handle, $operation) : true; + } + + public function stream_seek($offset, $whence) + { + if (0 === fseek($this->handle, $offset, $whence)) { + $this->position = ftell($this->handle); + return true; + } + + return false; + } + + public function stream_tell() + { + return $this->position; + } + + public function stream_eof() + { + return feof($this->handle); + } + + public function stream_stat() + { + return array(); + } + + public function stream_set_option($option, $arg1, $arg2) + { + return true; + } + + public function url_stat($path, $flags) + { + $path = substr($path, 17); + if (file_exists($path)) { + return stat($path); + } + + return false; + } + } + } + + if ( + (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) + || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) + ) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/vimeo/psalm/psalter'); + exit(0); + } +} + +include __DIR__ . '/..'.'/vimeo/psalm/psalter'; diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php index cae0fc2f..ad98d8eb 100644 --- a/vendor/composer/autoload_classmap.php +++ b/vendor/composer/autoload_classmap.php @@ -10,6 +10,22 @@ return array( 'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php', 'Normalizer' => $vendorDir . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'PhpToken' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php', + 'SebastianBergmann\\Diff\\Chunk' => $vendorDir . '/sebastian/diff/src/Chunk.php', + 'SebastianBergmann\\Diff\\ConfigurationException' => $vendorDir . '/sebastian/diff/src/Exception/ConfigurationException.php', + 'SebastianBergmann\\Diff\\Diff' => $vendorDir . '/sebastian/diff/src/Diff.php', + 'SebastianBergmann\\Diff\\Differ' => $vendorDir . '/sebastian/diff/src/Differ.php', + 'SebastianBergmann\\Diff\\Exception' => $vendorDir . '/sebastian/diff/src/Exception/Exception.php', + 'SebastianBergmann\\Diff\\InvalidArgumentException' => $vendorDir . '/sebastian/diff/src/Exception/InvalidArgumentException.php', + 'SebastianBergmann\\Diff\\Line' => $vendorDir . '/sebastian/diff/src/Line.php', + 'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php', + 'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php', + 'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php', + 'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php', + 'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => $vendorDir . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php', + 'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php', + 'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => $vendorDir . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php', + 'SebastianBergmann\\Diff\\Parser' => $vendorDir . '/sebastian/diff/src/Parser.php', + 'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => $vendorDir . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php', 'Stringable' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'UnhandledMatchError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', 'ValueError' => $vendorDir . '/symfony/polyfill-php80/Resources/stubs/ValueError.php', diff --git a/vendor/composer/autoload_files.php b/vendor/composer/autoload_files.php index 04f1db93..2ca6bfbd 100644 --- a/vendor/composer/autoload_files.php +++ b/vendor/composer/autoload_files.php @@ -10,8 +10,11 @@ return array( '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php', 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', + 'e8aa6e4b5a1db2f56ae794f1505391a8' => $vendorDir . '/amphp/amp/lib/functions.php', + '76cd0796156622033397994f25b0d8fc' => $vendorDir . '/amphp/amp/lib/Internal/functions.php', '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', + '6cd5651c4fef5ed6b63e8d8b8ffbf3cc' => $vendorDir . '/amphp/byte-stream/lib/functions.php', '9b38cf48e83f5d8f60375221cd213eee' => $vendorDir . '/phpstan/phpstan/bootstrap.php', '2b9d0f43f9552984cfa82fee95491826' => $vendorDir . '/sabre/event/lib/coroutine.php', 'd81bab31d3feb45bfe2f283ea3c8fdf7' => $vendorDir . '/sabre/event/lib/Loop/functions.php', diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php index 27f336ed..30309c4c 100644 --- a/vendor/composer/autoload_psr4.php +++ b/vendor/composer/autoload_psr4.php @@ -7,6 +7,7 @@ $baseDir = dirname($vendorDir); return array( 'phpDocumentor\\Reflection\\' => array($vendorDir . '/phpdocumentor/reflection-common/src', $vendorDir . '/phpdocumentor/reflection-docblock/src', $vendorDir . '/phpdocumentor/type-resolver/src'), + 'XdgBaseDir\\' => array($vendorDir . '/dnoegel/php-xdg-base-dir/src'), 'Webmozart\\Assert\\' => array($vendorDir . '/webmozart/assert/src'), 'VarRepresentation\\' => array($vendorDir . '/tysonandre/var_representation_polyfill/src/VarRepresentation'), 'Symfony\\Polyfill\\Php80\\' => array($vendorDir . '/symfony/polyfill-php80'), @@ -16,15 +17,24 @@ return array( 'Symfony\\Polyfill\\Ctype\\' => array($vendorDir . '/symfony/polyfill-ctype'), 'Symfony\\Contracts\\Service\\' => array($vendorDir . '/symfony/service-contracts'), 'Symfony\\Component\\String\\' => array($vendorDir . '/symfony/string'), + 'Symfony\\Component\\Filesystem\\' => array($vendorDir . '/symfony/filesystem'), 'Symfony\\Component\\Console\\' => array($vendorDir . '/symfony/console'), + 'Spatie\\ArrayToXml\\' => array($vendorDir . '/spatie/array-to-xml/src'), 'Sabre\\Event\\' => array($vendorDir . '/sabre/event/lib'), 'Psr\\Log\\' => array($vendorDir . '/psr/log/src'), 'Psr\\Container\\' => array($vendorDir . '/psr/container/src'), + 'Psalm\\' => array($vendorDir . '/vimeo/psalm/src/Psalm'), + 'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'), 'Phan\\' => array($vendorDir . '/phan/phan/src/Phan'), + 'PackageVersions\\' => array($vendorDir . '/composer/package-versions-deprecated/src/PackageVersions'), 'PHPStan\\ExtensionInstaller\\' => array($vendorDir . '/phpstan/extension-installer/src'), 'Microsoft\\PhpParser\\' => array($vendorDir . '/microsoft/tolerant-php-parser/src'), + 'LanguageServerProtocol\\' => array($vendorDir . '/felixfbecker/language-server-protocol/src'), + 'Fidry\\CpuCoreCounter\\' => array($vendorDir . '/fidry/cpu-core-counter/src'), 'Composer\\XdebugHandler\\' => array($vendorDir . '/composer/xdebug-handler/src'), 'Composer\\Semver\\' => array($vendorDir . '/composer/semver/src'), 'Composer\\Pcre\\' => array($vendorDir . '/composer/pcre/src'), + 'Amp\\ByteStream\\' => array($vendorDir . '/amphp/byte-stream/lib'), + 'Amp\\' => array($vendorDir . '/amphp/amp/lib'), 'AdvancedJsonRpc\\' => array($vendorDir . '/felixfbecker/advanced-json-rpc/lib'), ); diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php index c9869549..47a1f79d 100644 --- a/vendor/composer/autoload_static.php +++ b/vendor/composer/autoload_static.php @@ -11,8 +11,11 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', + 'e8aa6e4b5a1db2f56ae794f1505391a8' => __DIR__ . '/..' . '/amphp/amp/lib/functions.php', + '76cd0796156622033397994f25b0d8fc' => __DIR__ . '/..' . '/amphp/amp/lib/Internal/functions.php', '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', + '6cd5651c4fef5ed6b63e8d8b8ffbf3cc' => __DIR__ . '/..' . '/amphp/byte-stream/lib/functions.php', '9b38cf48e83f5d8f60375221cd213eee' => __DIR__ . '/..' . '/phpstan/phpstan/bootstrap.php', '2b9d0f43f9552984cfa82fee95491826' => __DIR__ . '/..' . '/sabre/event/lib/coroutine.php', 'd81bab31d3feb45bfe2f283ea3c8fdf7' => __DIR__ . '/..' . '/sabre/event/lib/Loop/functions.php', @@ -26,6 +29,10 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 array ( 'phpDocumentor\\Reflection\\' => 25, ), + 'X' => + array ( + 'XdgBaseDir\\' => 11, + ), 'W' => array ( 'Webmozart\\Assert\\' => 17, @@ -43,20 +50,33 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 'Symfony\\Polyfill\\Ctype\\' => 23, 'Symfony\\Contracts\\Service\\' => 26, 'Symfony\\Component\\String\\' => 25, + 'Symfony\\Component\\Filesystem\\' => 29, 'Symfony\\Component\\Console\\' => 26, + 'Spatie\\ArrayToXml\\' => 18, 'Sabre\\Event\\' => 12, ), 'P' => array ( 'Psr\\Log\\' => 8, 'Psr\\Container\\' => 14, + 'Psalm\\' => 6, + 'PhpParser\\' => 10, 'Phan\\' => 5, + 'PackageVersions\\' => 16, 'PHPStan\\ExtensionInstaller\\' => 27, ), 'M' => array ( 'Microsoft\\PhpParser\\' => 20, ), + 'L' => + array ( + 'LanguageServerProtocol\\' => 23, + ), + 'F' => + array ( + 'Fidry\\CpuCoreCounter\\' => 21, + ), 'C' => array ( 'Composer\\XdebugHandler\\' => 23, @@ -65,6 +85,8 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 ), 'A' => array ( + 'Amp\\ByteStream\\' => 15, + 'Amp\\' => 4, 'AdvancedJsonRpc\\' => 16, ), ); @@ -76,6 +98,10 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 1 => __DIR__ . '/..' . '/phpdocumentor/reflection-docblock/src', 2 => __DIR__ . '/..' . '/phpdocumentor/type-resolver/src', ), + 'XdgBaseDir\\' => + array ( + 0 => __DIR__ . '/..' . '/dnoegel/php-xdg-base-dir/src', + ), 'Webmozart\\Assert\\' => array ( 0 => __DIR__ . '/..' . '/webmozart/assert/src', @@ -112,10 +138,18 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 array ( 0 => __DIR__ . '/..' . '/symfony/string', ), + 'Symfony\\Component\\Filesystem\\' => + array ( + 0 => __DIR__ . '/..' . '/symfony/filesystem', + ), 'Symfony\\Component\\Console\\' => array ( 0 => __DIR__ . '/..' . '/symfony/console', ), + 'Spatie\\ArrayToXml\\' => + array ( + 0 => __DIR__ . '/..' . '/spatie/array-to-xml/src', + ), 'Sabre\\Event\\' => array ( 0 => __DIR__ . '/..' . '/sabre/event/lib', @@ -128,10 +162,22 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 array ( 0 => __DIR__ . '/..' . '/psr/container/src', ), + 'Psalm\\' => + array ( + 0 => __DIR__ . '/..' . '/vimeo/psalm/src/Psalm', + ), + 'PhpParser\\' => + array ( + 0 => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser', + ), 'Phan\\' => array ( 0 => __DIR__ . '/..' . '/phan/phan/src/Phan', ), + 'PackageVersions\\' => + array ( + 0 => __DIR__ . '/..' . '/composer/package-versions-deprecated/src/PackageVersions', + ), 'PHPStan\\ExtensionInstaller\\' => array ( 0 => __DIR__ . '/..' . '/phpstan/extension-installer/src', @@ -140,6 +186,14 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 array ( 0 => __DIR__ . '/..' . '/microsoft/tolerant-php-parser/src', ), + 'LanguageServerProtocol\\' => + array ( + 0 => __DIR__ . '/..' . '/felixfbecker/language-server-protocol/src', + ), + 'Fidry\\CpuCoreCounter\\' => + array ( + 0 => __DIR__ . '/..' . '/fidry/cpu-core-counter/src', + ), 'Composer\\XdebugHandler\\' => array ( 0 => __DIR__ . '/..' . '/composer/xdebug-handler/src', @@ -152,6 +206,14 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 array ( 0 => __DIR__ . '/..' . '/composer/pcre/src', ), + 'Amp\\ByteStream\\' => + array ( + 0 => __DIR__ . '/..' . '/amphp/byte-stream/lib', + ), + 'Amp\\' => + array ( + 0 => __DIR__ . '/..' . '/amphp/amp/lib', + ), 'AdvancedJsonRpc\\' => array ( 0 => __DIR__ . '/..' . '/felixfbecker/advanced-json-rpc/lib', @@ -173,6 +235,22 @@ class ComposerStaticInitdd705c6e8ab22e0d642372dec7767718 'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php', 'Normalizer' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/Resources/stubs/Normalizer.php', 'PhpToken' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/PhpToken.php', + 'SebastianBergmann\\Diff\\Chunk' => __DIR__ . '/..' . '/sebastian/diff/src/Chunk.php', + 'SebastianBergmann\\Diff\\ConfigurationException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/ConfigurationException.php', + 'SebastianBergmann\\Diff\\Diff' => __DIR__ . '/..' . '/sebastian/diff/src/Diff.php', + 'SebastianBergmann\\Diff\\Differ' => __DIR__ . '/..' . '/sebastian/diff/src/Differ.php', + 'SebastianBergmann\\Diff\\Exception' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/Exception.php', + 'SebastianBergmann\\Diff\\InvalidArgumentException' => __DIR__ . '/..' . '/sebastian/diff/src/Exception/InvalidArgumentException.php', + 'SebastianBergmann\\Diff\\Line' => __DIR__ . '/..' . '/sebastian/diff/src/Line.php', + 'SebastianBergmann\\Diff\\LongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/LongestCommonSubsequenceCalculator.php', + 'SebastianBergmann\\Diff\\MemoryEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php', + 'SebastianBergmann\\Diff\\Output\\AbstractChunkOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php', + 'SebastianBergmann\\Diff\\Output\\DiffOnlyOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php', + 'SebastianBergmann\\Diff\\Output\\DiffOutputBuilderInterface' => __DIR__ . '/..' . '/sebastian/diff/src/Output/DiffOutputBuilderInterface.php', + 'SebastianBergmann\\Diff\\Output\\StrictUnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php', + 'SebastianBergmann\\Diff\\Output\\UnifiedDiffOutputBuilder' => __DIR__ . '/..' . '/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php', + 'SebastianBergmann\\Diff\\Parser' => __DIR__ . '/..' . '/sebastian/diff/src/Parser.php', + 'SebastianBergmann\\Diff\\TimeEfficientLongestCommonSubsequenceCalculator' => __DIR__ . '/..' . '/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php', 'Stringable' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/Stringable.php', 'UnhandledMatchError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php', 'ValueError' => __DIR__ . '/..' . '/symfony/polyfill-php80/Resources/stubs/ValueError.php', diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index 1e5d0879..53e641da 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -1,5 +1,253 @@ { "packages": [ + { + "name": "amphp/amp", + "version": "v2.6.2", + "version_normalized": "2.6.2.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/amp.git", + "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/amp/zipball/9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", + "reference": "9d5100cebffa729aaffecd3ad25dc5aeea4f13bb", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1", + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^7 | ^8 | ^9", + "psalm/phar": "^3.11@dev", + "react/promise": "^2" + }, + "time": "2022-02-20T17:52:18+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "lib/functions.php", + "lib/Internal/functions.php" + ], + "psr-4": { + "Amp\\": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A non-blocking concurrency framework for PHP applications.", + "homepage": "https://amphp.org/amp", + "keywords": [ + "async", + "asynchronous", + "awaitable", + "concurrency", + "event", + "event-loop", + "future", + "non-blocking", + "promise" + ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/amp/issues", + "source": "https://github.com/amphp/amp/tree/v2.6.2" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "install-path": "../amphp/amp" + }, + { + "name": "amphp/byte-stream", + "version": "v1.8.1", + "version_normalized": "1.8.1.0", + "source": { + "type": "git", + "url": "https://github.com/amphp/byte-stream.git", + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/acbd8002b3536485c997c4e019206b3f10ca15bd", + "reference": "acbd8002b3536485c997c4e019206b3f10ca15bd", + "shasum": "" + }, + "require": { + "amphp/amp": "^2", + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "amphp/phpunit-util": "^1.4", + "friendsofphp/php-cs-fixer": "^2.3", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^6 || ^7 || ^8", + "psalm/phar": "^3.11.4" + }, + "time": "2021-03-30T17:13:30+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "files": [ + "lib/functions.php" + ], + "psr-4": { + "Amp\\ByteStream\\": "lib" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A stream abstraction to make working with non-blocking I/O simple.", + "homepage": "http://amphp.org/byte-stream", + "keywords": [ + "amp", + "amphp", + "async", + "io", + "non-blocking", + "stream" + ], + "support": { + "irc": "irc://irc.freenode.org/amphp", + "issues": "https://github.com/amphp/byte-stream/issues", + "source": "https://github.com/amphp/byte-stream/tree/v1.8.1" + }, + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "install-path": "../amphp/byte-stream" + }, + { + "name": "composer/package-versions-deprecated", + "version": "1.11.99.5", + "version_normalized": "1.11.99.5", + "source": { + "type": "git", + "url": "https://github.com/composer/package-versions-deprecated.git", + "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d", + "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1.0 || ^2.0", + "php": "^7 || ^8" + }, + "replace": { + "ocramius/package-versions": "1.11.99" + }, + "require-dev": { + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13", + "phpunit/phpunit": "^6.5 || ^7" + }, + "time": "2022-01-17T14:14:24+00:00", + "type": "composer-plugin", + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "support": { + "issues": "https://github.com/composer/package-versions-deprecated/issues", + "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "install-path": "./package-versions-deprecated" + }, { "name": "composer/pcre", "version": "3.1.0", @@ -227,6 +475,46 @@ ], "install-path": "./xdebug-handler" }, + { + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", + "version_normalized": "0.1.1.0", + "source": { + "type": "git", + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "shasum": "" + }, + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "time": "2019-12-04T15:06:13+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "implementation of xdg base directory specification for php", + "support": { + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + }, + "install-path": "../dnoegel/php-xdg-base-dir" + }, { "name": "felixfbecker/advanced-json-rpc", "version": "v3.2.1", @@ -275,6 +563,129 @@ }, "install-path": "../felixfbecker/advanced-json-rpc" }, + { + "name": "felixfbecker/language-server-protocol", + "version": "v1.5.2", + "version_normalized": "1.5.2.0", + "source": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/6e82196ffd7c62f7794d778ca52b69feec9f2842", + "reference": "6e82196ffd7c62f7794d778ca52b69feec9f2842", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "*", + "squizlabs/php_codesniffer": "^3.1", + "vimeo/psalm": "^4.0" + }, + "time": "2022-03-02T22:36:06+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "LanguageServerProtocol\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "ISC" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "description": "PHP classes for the Language Server Protocol", + "keywords": [ + "language", + "microsoft", + "php", + "server" + ], + "support": { + "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.2" + }, + "install-path": "../felixfbecker/language-server-protocol" + }, + { + "name": "fidry/cpu-core-counter", + "version": "0.5.1", + "version_normalized": "0.5.1.0", + "source": { + "type": "git", + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "reference": "b58e5a3933e541dc286cc91fc4f3898bbc6f1623", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.26 || ^8.5.31", + "theofidry/php-cs-fixer-config": "^1.0", + "webmozarts/strict-phpunit": "^7.5" + }, + "time": "2022-12-24T12:35:10+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "description": "Tiny utility to get the number of CPU cores.", + "keywords": [ + "CPU", + "core" + ], + "support": { + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/0.5.1" + }, + "funding": [ + { + "url": "https://github.com/theofidry", + "type": "github" + } + ], + "install-path": "../fidry/cpu-core-counter" + }, { "name": "microsoft/tolerant-php-parser", "version": "v0.1.2", @@ -377,6 +788,65 @@ }, "install-path": "../netresearch/jsonmapper" }, + { + "name": "nikic/php-parser", + "version": "v4.15.4", + "version_normalized": "4.15.4.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "reference": "6bb5176bc4af8bcb7d926f88718db9b96a2d4290", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "time": "2023-03-05T19:49:14+00:00", + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.4" + }, + "install-path": "../nikic/php-parser" + }, { "name": "phan/phan", "version": "5.4.2", @@ -682,17 +1152,17 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.3", - "version_normalized": "1.10.3.0", + "version": "1.10.5", + "version_normalized": "1.10.5.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "5419375b5891add97dc74be71e6c1c34baaddf64" + "reference": "1fb6f494d82455151ecf15c5c191923f5d84324e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/5419375b5891add97dc74be71e6c1c34baaddf64", - "reference": "5419375b5891add97dc74be71e6c1c34baaddf64", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1fb6f494d82455151ecf15c5c191923f5d84324e", + "reference": "1fb6f494d82455151ecf15c5c191923f5d84324e", "shasum": "" }, "require": { @@ -701,7 +1171,7 @@ "conflict": { "phpstan/phpstan-shim": "*" }, - "time": "2023-02-25T14:47:13+00:00", + "time": "2023-03-07T16:48:45+00:00", "bin": [ "phpstan", "phpstan.phar" @@ -724,7 +1194,7 @@ ], "support": { "issues": "https://github.com/phpstan/phpstan/issues", - "source": "https://github.com/phpstan/phpstan/tree/1.10.3" + "source": "https://github.com/phpstan/phpstan/tree/1.10.5" }, "funding": [ { @@ -920,6 +1390,141 @@ }, "install-path": "../sabre/event" }, + { + "name": "sebastian/diff", + "version": "5.0.0", + "version_normalized": "5.0.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "70dd1b20bc198da394ad542e988381b44e64e39f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/70dd1b20bc198da394ad542e988381b44e64e39f", + "reference": "70dd1b20bc198da394ad542e988381b44e64e39f", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^4.2 || ^5" + }, + "time": "2023-02-03T07:00:31+00:00", + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + }, + "installation-source": "dist", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.0" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "install-path": "../sebastian/diff" + }, + { + "name": "spatie/array-to-xml", + "version": "3.1.5", + "version_normalized": "3.1.5.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "reference": "13f76acef5362d15c71ae1ac6350cc3df5e25e43", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "time": "2022-12-24T13:43:51+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], + "support": { + "source": "https://github.com/spatie/array-to-xml/tree/3.1.5" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "install-path": "../spatie/array-to-xml" + }, { "name": "symfony/console", "version": "v6.2.7", @@ -1089,6 +1694,72 @@ ], "install-path": "../symfony/deprecation-contracts" }, + { + "name": "symfony/filesystem", + "version": "v6.2.7", + "version_normalized": "6.2.7.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "82b6c62b959f642d000456f08c6d219d749215b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/82b6c62b959f642d000456f08c6d219d749215b3", + "reference": "82b6c62b959f642d000456f08c6d219d749215b3", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "time": "2023-02-14T08:44:56+00:00", + "type": "library", + "installation-source": "dist", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v6.2.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "install-path": "../symfony/filesystem" + }, { "name": "symfony/polyfill-ctype", "version": "v1.27.0", @@ -1759,6 +2430,114 @@ }, "install-path": "../tysonandre/var_representation_polyfill" }, + { + "name": "vimeo/psalm", + "version": "5.7.7", + "version_normalized": "5.7.7.0", + "source": { + "type": "git", + "url": "https://github.com/vimeo/psalm.git", + "reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/e028ba46ba0d7f9a78bc3201c251e137383e145f", + "reference": "e028ba46ba0d7f9a78bc3201c251e137383e145f", + "shasum": "" + }, + "require": { + "amphp/amp": "^2.4.2", + "amphp/byte-stream": "^1.5", + "composer/package-versions-deprecated": "^1.10.0", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", + "dnoegel/php-xdg-base-dir": "^0.1.1", + "ext-ctype": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "ext-tokenizer": "*", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "nikic/php-parser": "^4.13", + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "sebastian/diff": "^4.0 || ^5.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", + "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0" + }, + "suggest": { + "ext-curl": "In order to send data to shepherd", + "ext-igbinary": "^2.0.5 is required, used to serialize caching data" + }, + "time": "2023-02-25T01:05:07+00:00", + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalter" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev", + "dev-4.x": "4.x-dev", + "dev-3.x": "3.x-dev", + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "installation-source": "dist", + "autoload": { + "psr-4": { + "Psalm\\": "src/Psalm/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matthew Brown" + } + ], + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": [ + "code", + "inspection", + "php", + "static analysis" + ], + "support": { + "issues": "https://github.com/vimeo/psalm/issues", + "source": "https://github.com/vimeo/psalm/tree/5.7.7" + }, + "install-path": "../vimeo/psalm" + }, { "name": "webmozart/assert", "version": "1.11.0", @@ -1823,12 +2602,19 @@ ], "dev": true, "dev-package-names": [ + "amphp/amp", + "amphp/byte-stream", + "composer/package-versions-deprecated", "composer/pcre", "composer/semver", "composer/xdebug-handler", + "dnoegel/php-xdg-base-dir", "felixfbecker/advanced-json-rpc", + "felixfbecker/language-server-protocol", + "fidry/cpu-core-counter", "microsoft/tolerant-php-parser", "netresearch/jsonmapper", + "nikic/php-parser", "phan/phan", "phpdocumentor/reflection-common", "phpdocumentor/reflection-docblock", @@ -1838,8 +2624,11 @@ "psr/container", "psr/log", "sabre/event", + "sebastian/diff", + "spatie/array-to-xml", "symfony/console", "symfony/deprecation-contracts", + "symfony/filesystem", "symfony/polyfill-ctype", "symfony/polyfill-intl-grapheme", "symfony/polyfill-intl-normalizer", @@ -1848,6 +2637,7 @@ "symfony/service-contracts", "symfony/string", "tysonandre/var_representation_polyfill", + "vimeo/psalm", "webmozart/assert" ] } diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index cd85f2e5..037198cb 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -10,6 +10,33 @@ 'dev' => true, ), 'versions' => array( + 'amphp/amp' => array( + 'pretty_version' => 'v2.6.2', + 'version' => '2.6.2.0', + 'reference' => '9d5100cebffa729aaffecd3ad25dc5aeea4f13bb', + 'type' => 'library', + 'install_path' => __DIR__ . '/../amphp/amp', + 'aliases' => array(), + 'dev_requirement' => true, + ), + 'amphp/byte-stream' => array( + 'pretty_version' => 'v1.8.1', + 'version' => '1.8.1.0', + 'reference' => 'acbd8002b3536485c997c4e019206b3f10ca15bd', + 'type' => 'library', + 'install_path' => __DIR__ . '/../amphp/byte-stream', + 'aliases' => array(), + 'dev_requirement' => true, + ), + 'composer/package-versions-deprecated' => array( + 'pretty_version' => '1.11.99.5', + 'version' => '1.11.99.5', + 'reference' => 'b4f54f74ef3453349c24a845d22392cd31e65f1d', + 'type' => 'composer-plugin', + 'install_path' => __DIR__ . '/./package-versions-deprecated', + 'aliases' => array(), + 'dev_requirement' => true, + ), 'composer/pcre' => array( 'pretty_version' => '3.1.0', 'version' => '3.1.0.0', @@ -37,6 +64,15 @@ 'aliases' => array(), 'dev_requirement' => true, ), + 'dnoegel/php-xdg-base-dir' => array( + 'pretty_version' => 'v0.1.1', + 'version' => '0.1.1.0', + 'reference' => '8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd', + 'type' => 'library', + 'install_path' => __DIR__ . '/../dnoegel/php-xdg-base-dir', + 'aliases' => array(), + 'dev_requirement' => true, + ), 'egrajp/development-corelibs-dev' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', @@ -55,6 +91,24 @@ 'aliases' => array(), 'dev_requirement' => true, ), + 'felixfbecker/language-server-protocol' => array( + 'pretty_version' => 'v1.5.2', + 'version' => '1.5.2.0', + 'reference' => '6e82196ffd7c62f7794d778ca52b69feec9f2842', + 'type' => 'library', + 'install_path' => __DIR__ . '/../felixfbecker/language-server-protocol', + 'aliases' => array(), + 'dev_requirement' => true, + ), + 'fidry/cpu-core-counter' => array( + 'pretty_version' => '0.5.1', + 'version' => '0.5.1.0', + 'reference' => 'b58e5a3933e541dc286cc91fc4f3898bbc6f1623', + 'type' => 'library', + 'install_path' => __DIR__ . '/../fidry/cpu-core-counter', + 'aliases' => array(), + 'dev_requirement' => true, + ), 'microsoft/tolerant-php-parser' => array( 'pretty_version' => 'v0.1.2', 'version' => '0.1.2.0', @@ -73,6 +127,21 @@ 'aliases' => array(), 'dev_requirement' => true, ), + 'nikic/php-parser' => array( + 'pretty_version' => 'v4.15.4', + 'version' => '4.15.4.0', + 'reference' => '6bb5176bc4af8bcb7d926f88718db9b96a2d4290', + 'type' => 'library', + 'install_path' => __DIR__ . '/../nikic/php-parser', + 'aliases' => array(), + 'dev_requirement' => true, + ), + 'ocramius/package-versions' => array( + 'dev_requirement' => true, + 'replaced' => array( + 0 => '1.11.99', + ), + ), 'phan/phan' => array( 'pretty_version' => '5.4.2', 'version' => '5.4.2.0', @@ -119,14 +188,20 @@ 'dev_requirement' => true, ), 'phpstan/phpstan' => array( - 'pretty_version' => '1.10.3', - 'version' => '1.10.3.0', - 'reference' => '5419375b5891add97dc74be71e6c1c34baaddf64', + 'pretty_version' => '1.10.5', + 'version' => '1.10.5.0', + 'reference' => '1fb6f494d82455151ecf15c5c191923f5d84324e', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpstan', 'aliases' => array(), 'dev_requirement' => true, ), + 'psalm/psalm' => array( + 'dev_requirement' => true, + 'provided' => array( + 0 => '5.7.7', + ), + ), 'psr/container' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', @@ -160,6 +235,24 @@ 'aliases' => array(), 'dev_requirement' => true, ), + 'sebastian/diff' => array( + 'pretty_version' => '5.0.0', + 'version' => '5.0.0.0', + 'reference' => '70dd1b20bc198da394ad542e988381b44e64e39f', + 'type' => 'library', + 'install_path' => __DIR__ . '/../sebastian/diff', + 'aliases' => array(), + 'dev_requirement' => true, + ), + 'spatie/array-to-xml' => array( + 'pretty_version' => '3.1.5', + 'version' => '3.1.5.0', + 'reference' => '13f76acef5362d15c71ae1ac6350cc3df5e25e43', + 'type' => 'library', + 'install_path' => __DIR__ . '/../spatie/array-to-xml', + 'aliases' => array(), + 'dev_requirement' => true, + ), 'symfony/console' => array( 'pretty_version' => 'v6.2.7', 'version' => '6.2.7.0', @@ -178,6 +271,15 @@ 'aliases' => array(), 'dev_requirement' => true, ), + 'symfony/filesystem' => array( + 'pretty_version' => 'v6.2.7', + 'version' => '6.2.7.0', + 'reference' => '82b6c62b959f642d000456f08c6d219d749215b3', + 'type' => 'library', + 'install_path' => __DIR__ . '/../symfony/filesystem', + 'aliases' => array(), + 'dev_requirement' => true, + ), 'symfony/polyfill-ctype' => array( 'pretty_version' => 'v1.27.0', 'version' => '1.27.0.0', @@ -250,6 +352,15 @@ 'aliases' => array(), 'dev_requirement' => true, ), + 'vimeo/psalm' => array( + 'pretty_version' => '5.7.7', + 'version' => '5.7.7.0', + 'reference' => 'e028ba46ba0d7f9a78bc3201c251e137383e145f', + 'type' => 'library', + 'install_path' => __DIR__ . '/../vimeo/psalm', + 'aliases' => array(), + 'dev_requirement' => true, + ), 'webmozart/assert' => array( 'pretty_version' => '1.11.0', 'version' => '1.11.0.0', diff --git a/vendor/composer/package-versions-deprecated/CHANGELOG.md b/vendor/composer/package-versions-deprecated/CHANGELOG.md new file mode 100644 index 00000000..a838c56a --- /dev/null +++ b/vendor/composer/package-versions-deprecated/CHANGELOG.md @@ -0,0 +1,120 @@ +# CHANGELOG + +## 1.1.3 - 2017-09-06 + +This release fixes a bug that caused PackageVersions to prevent +the `composer remove` and `composer update` commands to fail when +this package is removed. + +In addition to that, mutation testing has been added to the suite, +ensuring that the package is accurately and extensively tested. + +Total issues resolved: **3** + +- [40: Mutation testing, PHP 7.1 testing](https://github.com/Ocramius/PackageVersions/pull/40) thanks to @Ocramius +- [41: Removing this package on install results in file access error](https://github.com/Ocramius/PackageVersions/issues/41) thanks to @Xerkus +- [46: #41 Avoid issues when the package is scheduled for removal](https://github.com/Ocramius/PackageVersions/pull/46) thanks to @Jean85 + +## 1.1.2 - 2016-12-30 + +This release fixes a bug that caused PackageVersions to be enabled +even when it was part of a globally installed package. + +Total issues resolved: **3** + +- [35: remove all temp directories](https://github.com/Ocramius/PackageVersions/pull/35) +- [38: Interferes with other projects when installed globally](https://github.com/Ocramius/PackageVersions/issues/38) +- [39: Ignore the global plugin when updating local projects](https://github.com/Ocramius/PackageVersions/pull/39) + +## 1.1.1 - 2016-07-25 + +This release removes the [`"files"`](https://getcomposer.org/doc/04-schema.md#files) directive from +[`composer.json`](https://github.com/Ocramius/PackageVersions/commit/86f2636f7c5e7b56fa035fa3826d5fcf80b6dc72), +as it is no longer needed for `composer install --classmap-authoritative`. +Also, that directive was causing issues with HHVM installations, since +PackageVersions is not compatible with it. + +Total issues resolved: **1** + +- [34: Fatal error during travis build after update to 1.1.0](https://github.com/Ocramius/PackageVersions/issues/34) + +## 1.1.0 - 2016-07-22 + +This release introduces support for running `composer install --classmap-authoritative` +and `composer install --no-scripts`. Please note that performance +while using these modes may be degraded, but the package will +still work. + +Additionally, the package was tuned to prevent the plugin from +running twice at installation. + +Total issues resolved: **10** + +- [18: Fails when using composer install --no-scripts](https://github.com/Ocramius/PackageVersions/issues/18) +- [20: CS (spacing)](https://github.com/Ocramius/PackageVersions/pull/20) +- [22: Document the way the require-dev section is treated](https://github.com/Ocramius/PackageVersions/issues/22) +- [23: Underline that composer.lock is used as source of information](https://github.com/Ocramius/PackageVersions/pull/23) +- [27: Fix incompatibility with --classmap-authoritative](https://github.com/Ocramius/PackageVersions/pull/27) +- [29: mention optimize-autoloader composer.json config option in README](https://github.com/Ocramius/PackageVersions/pull/29) +- [30: The version class is generated twice during composer update](https://github.com/Ocramius/PackageVersions/issues/30) +- [31: Remove double registration of the event listeners](https://github.com/Ocramius/PackageVersions/pull/31) +- [32: Update the usage of mock APIs to use the new API](https://github.com/Ocramius/PackageVersions/pull/32) +- [33: Fix for #18 - support running with --no-scripts flag](https://github.com/Ocramius/PackageVersions/pull/33) + +## 1.0.4 - 2016-04-23 + +This release includes a fix/workaround for composer/composer#5237, +which causes `ocramius/package-versions` to sometimes generate a +`Versions` class with malformed name (something like +`Versions_composer_tmp0`) when running `composer require `. + +Total issues resolved: **2** + +- [16: Workaround for composer/composer#5237 - class parsing](https://github.com/Ocramius/PackageVersions/pull/16) +- [17: Weird Class name being generated](https://github.com/Ocramius/PackageVersions/issues/17) + +## 1.0.3 - 2016-02-26 + +This release fixes an issue related to concurrent autoloader +re-generation caused by multiple composer plugins being installed. +The issue was solved by removing autoloader re-generation from this +package, but it may still affect other packages. + +It is now recommended that you run `composer dump-autoload --optimize` +after installation when using this particular package. +Please note that `composer (install|update) -o` is not sufficient +to avoid autoload overhead when using this particular package. + +Total issues resolved: **1** + +- [15: Remove autoload re-dump optimization](https://github.com/Ocramius/PackageVersions/pull/15) + +## 1.0.2 - 2016-02-24 + +This release fixes issues related to installing the component without +any dev dependencies or with packages that don't have a source or dist +reference, which is usual with packages defined directly in the +`composer.json`. + +Total issues resolved: **3** + +- [11: fix composer install --no-dev PHP7](https://github.com/Ocramius/PackageVersions/pull/11) +- [12: Packages don't always have a source/reference](https://github.com/Ocramius/PackageVersions/issues/12) +- [13: Fix #12 - support dist and missing package version references](https://github.com/Ocramius/PackageVersions/pull/13) + +## 1.0.1 - 2016-02-01 + +This release fixes an issue related with composer updates to +already installed versions. +Using `composer require` within a package that already used +`ocramius/package-versions` caused the installation to be unable +to write the `PackageVersions\Versions` class to a file. + +Total issues resolved: **6** + +- [2: remove unused use statement](https://github.com/Ocramius/PackageVersions/pull/2) +- [3: Remove useless files from dist package](https://github.com/Ocramius/PackageVersions/pull/3) +- [5: failed to open stream: phar error: write operations disabled by the php.ini setting phar.readonly](https://github.com/Ocramius/PackageVersions/issues/5) +- [6: Fix/#5 use composer vendor dir](https://github.com/Ocramius/PackageVersions/pull/6) +- [7: Hotfix - #5 generate package versions also when in phar context](https://github.com/Ocramius/PackageVersions/pull/7) +- [8: Versions class should be ignored by VCS, as it is an install-time artifact](https://github.com/Ocramius/PackageVersions/pull/8) diff --git a/vendor/composer/package-versions-deprecated/CONTRIBUTING.md b/vendor/composer/package-versions-deprecated/CONTRIBUTING.md new file mode 100644 index 00000000..71806175 --- /dev/null +++ b/vendor/composer/package-versions-deprecated/CONTRIBUTING.md @@ -0,0 +1,39 @@ +--- +title: Contributing +--- + +# Contributing + + * Coding standard for the project is [PSR-2](https://github.com/php-fig/fig-standards/blob/master/accepted/PSR-2-coding-style-guide.md) + * The project will follow strict [object calisthenics](http://www.slideshare.net/guilhermeblanco/object-calisthenics-applied-to-php) + * Any contribution must provide tests for additional introduced conditions + * Any un-confirmed issue needs a failing test case before being accepted + * Pull requests must be sent from a new hotfix/feature branch, not from `master`. + +## Installation + +To install the project and run the tests, you need to clone it first: + +```sh +$ git clone git://github.com/Ocramius/PackageVersions.git +``` + +You will then need to run a composer installation: + +```sh +$ cd PackageVersions +$ curl -s https://getcomposer.org/installer | php +$ php composer.phar update +``` + +## Testing + +The PHPUnit version to be used is the one installed as a dev- dependency via composer: + +```sh +$ ./vendor/bin/phpunit +``` + +Accepted coverage for new contributions is 80%. Any contribution not satisfying this requirement +won't be merged. + diff --git a/vendor/composer/package-versions-deprecated/LICENSE b/vendor/composer/package-versions-deprecated/LICENSE new file mode 100644 index 00000000..a90b0792 --- /dev/null +++ b/vendor/composer/package-versions-deprecated/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 Marco Pivetta + +Permission is hereby granted, free of charge, to any person obtaining a copy of +this software and associated documentation files (the "Software"), to deal in +the Software without restriction, including without limitation the rights to +use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies +of the Software, and to permit persons to whom the Software is furnished to do +so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/composer/package-versions-deprecated/README.md b/vendor/composer/package-versions-deprecated/README.md new file mode 100644 index 00000000..8bea9d41 --- /dev/null +++ b/vendor/composer/package-versions-deprecated/README.md @@ -0,0 +1,7 @@ +# Package Versions + +**`composer/package-versions-deprecated` is a fully-compatible fork of [`ocramius/package-versions`](https://github.com/Ocramius/PackageVersions)** which provides compatibility with Composer 1 and 2 on PHP 7+. It replaces ocramius/package-versions so if you have a dependency requiring it and you want to use Composer v2 but can not upgrade to PHP 7.4 just yet, you can require this package instead. + +If you have a **direct** dependency on `ocramius/package-versions`, we recommend that once you migrated to Composer 2.x you also migrate to use the [`Composer\InstalledVersions`](https://getcomposer.org/doc/07-runtime.md#installed-versions) class which offers the functionality present here out of the box. You can then remove the require on this package. + +This package is EOL / deprecated and you should aim to migrate away from it as soon as possible! diff --git a/vendor/composer/package-versions-deprecated/SECURITY.md b/vendor/composer/package-versions-deprecated/SECURITY.md new file mode 100644 index 00000000..da9c516d --- /dev/null +++ b/vendor/composer/package-versions-deprecated/SECURITY.md @@ -0,0 +1,5 @@ +## Security contact information + +To report a security vulnerability, please use the +[Tidelift security contact](https://tidelift.com/security). +Tidelift will coordinate the fix and disclosure. diff --git a/vendor/composer/package-versions-deprecated/composer.json b/vendor/composer/package-versions-deprecated/composer.json new file mode 100644 index 00000000..d5a40daa --- /dev/null +++ b/vendor/composer/package-versions-deprecated/composer.json @@ -0,0 +1,48 @@ +{ + "name": "composer/package-versions-deprecated", + "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "type": "composer-plugin", + "license": "MIT", + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "require": { + "php": "^7 || ^8", + "composer-plugin-api": "^1.1.0 || ^2.0" + }, + "replace": { + "ocramius/package-versions": "1.11.99" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7", + "composer/composer": "^1.9.3 || ^2.0@dev", + "ext-zip": "^1.13" + }, + "autoload": { + "psr-4": { + "PackageVersions\\": "src/PackageVersions" + } + }, + "autoload-dev": { + "psr-4": { + "PackageVersionsTest\\": "test/PackageVersionsTest" + } + }, + "extra": { + "class": "PackageVersions\\Installer", + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "scripts": { + "post-update-cmd": "PackageVersions\\Installer::dumpVersionsClass", + "post-install-cmd": "PackageVersions\\Installer::dumpVersionsClass" + } +} diff --git a/vendor/composer/package-versions-deprecated/composer.lock b/vendor/composer/package-versions-deprecated/composer.lock new file mode 100644 index 00000000..b711f6b1 --- /dev/null +++ b/vendor/composer/package-versions-deprecated/composer.lock @@ -0,0 +1,2603 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "6bfe0a7d7a51c4bdf14a2d7ea1d22d11", + "packages": [], + "packages-dev": [ + { + "name": "composer/ca-bundle", + "version": "1.2.7", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "reference": "95c63ab2117a72f48f5a55da9740a3273d45b7fd", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8", + "psr/log": "^1.0", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-04-08T08:27:21+00:00" + }, + { + "name": "composer/composer", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "a8c105da344dd84ebd5d11be7943a45b09dc076f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/a8c105da344dd84ebd5d11be7943a45b09dc076f", + "reference": "a8c105da344dd84ebd5d11be7943a45b09dc076f", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/semver": "^1.0", + "composer/spdx-licenses": "^1.2", + "composer/xdebug-handler": "^1.1", + "justinrainbow/json-schema": "^3.0 || ^4.0 || ^5.0", + "php": "^5.3.2 || ^7.0", + "psr/log": "^1.0", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.0", + "symfony/console": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/filesystem": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/finder": "^2.7 || ^3.0 || ^4.0 || ^5.0", + "symfony/process": "^2.7 || ^3.0 || ^4.0 || ^5.0" + }, + "conflict": { + "symfony/console": "2.8.38" + }, + "require-dev": { + "phpspec/prophecy": "^1.10", + "symfony/phpunit-bridge": "^3.4" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/composer/issues", + "source": "https://github.com/composer/composer/tree/master" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2020-03-29T14:59:26+00:00" + }, + { + "name": "composer/semver", + "version": "1.5.1", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "reference": "c6bea70230ef4dd483e6bbcab6005f682ed3a8de", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.5 || ^5.0.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/1.5.1" + }, + "time": "2020-01-13T12:06:48+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.3", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "0c3e51e1880ca149682332770e25977c70cf9dae" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/0c3e51e1880ca149682332770e25977c70cf9dae", + "reference": "0c3e51e1880ca149682332770e25977c70cf9dae", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "time": "2020-02-14T07:44:31+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "1.4.1", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/1ab9842d69e64fb3a01be6b656501032d1b78cb7", + "reference": "1ab9842d69e64fb3a01be6b656501032d1b78cb7", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0", + "psr/log": "^1.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || 6.5 - 8" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/master" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + } + ], + "time": "2020-03-01T12:26:26+00:00" + }, + { + "name": "doctrine/instantiator", + "version": "1.3.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", + "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "doctrine/coding-standard": "^6.0", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^0.13", + "phpstan/phpstan-phpunit": "^0.11", + "phpstan/phpstan-shim": "^0.11", + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "http://ocramius.github.com/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/master" + }, + "time": "2019-10-21T16:45:58+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "5.2.9", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "44c6787311242a979fa15c704327c20e7221a0e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/44c6787311242a979fa15c704327c20e7221a0e4", + "reference": "44c6787311242a979fa15c704327c20e7221a0e4", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/5.2.9" + }, + "time": "2019-09-25T14:49:45+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.9.5", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", + "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "replace": { + "myclabs/deep-copy": "self.version" + }, + "require-dev": { + "doctrine/collections": "^1.0", + "doctrine/common": "^2.6", + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + }, + "files": [ + "src/DeepCopy/deep_copy.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.9.5" + }, + "time": "2020-01-17T21:11:47+00:00" + }, + { + "name": "phar-io/manifest", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "phar-io/version": "^2.0", + "php": "^5.6 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "time": "2018-07-08T19:23:20+00:00" + }, + { + "name": "phar-io/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "time": "2018-07-08T19:19:57+00:00" + }, + { + "name": "phpdocumentor/reflection-common", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", + "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpunit/phpunit": "~6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", + "time": "2018-08-07T13:53:10+00:00" + }, + { + "name": "phpdocumentor/reflection-docblock", + "version": "5.1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "reference": "cd72d394ca794d3466a3b2fc09d5a6c1dc86b47e", + "shasum": "" + }, + "require": { + "ext-filter": "^7.1", + "php": "^7.2", + "phpdocumentor/reflection-common": "^2.0", + "phpdocumentor/type-resolver": "^1.0", + "webmozart/assert": "^1" + }, + "require-dev": { + "doctrine/instantiator": "^1", + "mockery/mockery": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "account@ijaap.nl" + } + ], + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", + "time": "2020-02-22T12:28:44+00:00" + }, + { + "name": "phpdocumentor/type-resolver", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "7462d5f123dfc080dfdf26897032a6513644fc95" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/7462d5f123dfc080dfdf26897032a6513644fc95", + "reference": "7462d5f123dfc080dfdf26897032a6513644fc95", + "shasum": "" + }, + "require": { + "php": "^7.2", + "phpdocumentor/reflection-common": "^2.0" + }, + "require-dev": { + "ext-tokenizer": "^7.2", + "mockery/mockery": "~1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + } + ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", + "support": { + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/master" + }, + "time": "2020-02-18T18:59:58+00:00" + }, + { + "name": "phpspec/prophecy", + "version": "v1.10.3", + "source": { + "type": "git", + "url": "https://github.com/phpspec/prophecy.git", + "reference": "451c3cd1418cf640de218914901e51b064abb093" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/451c3cd1418cf640de218914901e51b064abb093", + "reference": "451c3cd1418cf640de218914901e51b064abb093", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.0.2", + "php": "^5.3|^7.0", + "phpdocumentor/reflection-docblock": "^2.0|^3.0.2|^4.0|^5.0", + "sebastian/comparator": "^1.2.3|^2.0|^3.0|^4.0", + "sebastian/recursion-context": "^1.0|^2.0|^3.0|^4.0" + }, + "require-dev": { + "phpspec/phpspec": "^2.5 || ^3.2", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Prophecy\\": "src/Prophecy" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com", + "homepage": "http://everzet.com" + }, + { + "name": "Marcello Duarte", + "email": "marcello.duarte@gmail.com" + } + ], + "description": "Highly opinionated mocking framework for PHP 5.3+", + "homepage": "https://github.com/phpspec/prophecy", + "keywords": [ + "Double", + "Dummy", + "fake", + "mock", + "spy", + "stub" + ], + "support": { + "issues": "https://github.com/phpspec/prophecy/issues", + "source": "https://github.com/phpspec/prophecy/tree/v1.10.3" + }, + "time": "2020-03-05T15:02:03+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "6.1.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "reference": "807e6013b00af69b6c5d9ceb4282d0393dbb9d8d", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-xmlwriter": "*", + "php": "^7.1", + "phpunit/php-file-iterator": "^2.0", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-token-stream": "^3.0", + "sebastian/code-unit-reverse-lookup": "^1.0.1", + "sebastian/environment": "^3.1 || ^4.0", + "sebastian/version": "^2.0.1", + "theseer/tokenizer": "^1.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "suggest": { + "ext-xdebug": "^2.6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "time": "2018-10-31T16:06:48+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "050bedf145a257b1ff02746c31894800e5122946" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", + "reference": "050bedf145a257b1ff02746c31894800e5122946", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "time": "2018-09-13T20:33:42+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "time": "2015-06-21T13:50:34+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "2.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", + "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "time": "2019-06-07T04:22:29+00:00" + }, + { + "name": "phpunit/php-token-stream", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-token-stream.git", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-token-stream/zipball/995192df77f63a59e47f025390d2d1fdf8f425ff", + "reference": "995192df77f63a59e47f025390d2d1fdf8f425ff", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Wrapper around PHP's tokenizer extension.", + "homepage": "https://github.com/sebastianbergmann/php-token-stream/", + "keywords": [ + "tokenizer" + ], + "time": "2019-09-17T06:23:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "7.5.20", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "9467db479d1b0487c99733bb1e7944d32deded2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9467db479d1b0487c99733bb1e7944d32deded2c", + "reference": "9467db479d1b0487c99733bb1e7944d32deded2c", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.1", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "myclabs/deep-copy": "^1.7", + "phar-io/manifest": "^1.0.2", + "phar-io/version": "^2.0", + "php": "^7.1", + "phpspec/prophecy": "^1.7", + "phpunit/php-code-coverage": "^6.0.7", + "phpunit/php-file-iterator": "^2.0.1", + "phpunit/php-text-template": "^1.2.1", + "phpunit/php-timer": "^2.1", + "sebastian/comparator": "^3.0", + "sebastian/diff": "^3.0", + "sebastian/environment": "^4.0", + "sebastian/exporter": "^3.1", + "sebastian/global-state": "^2.0", + "sebastian/object-enumerator": "^3.0.3", + "sebastian/resource-operations": "^2.0", + "sebastian/version": "^2.0.1" + }, + "conflict": { + "phpunit/phpunit-mock-objects": "*" + }, + "require-dev": { + "ext-pdo": "*" + }, + "suggest": { + "ext-soap": "*", + "ext-xdebug": "*", + "phpunit/php-invoker": "^2.0" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "7.5-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "time": "2020-01-08T08:45:45+00:00" + }, + { + "name": "psr/container", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "reference": "b7ce3b176482dbbc1245ebf52b181af44c2cf55f", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "time": "2017-02-14T16:28:37+00:00" + }, + { + "name": "psr/log", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/0f73288fd15629204f9d42b7055f72dacbe811fc", + "reference": "0f73288fd15629204f9d42b7055f72dacbe811fc", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "Psr/Log/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "time": "2020-03-23T09:12:05+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "shasum": "" + }, + "require": { + "php": "^5.6 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^5.7 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "time": "2017-03-04T06:30:41+00:00" + }, + { + "name": "sebastian/comparator", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "shasum": "" + }, + "require": { + "php": "^7.1", + "sebastian/diff": "^3.0", + "sebastian/exporter": "^3.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "time": "2018-07-12T15:12:46+00:00" + }, + { + "name": "sebastian/diff", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5 || ^8.0", + "symfony/process": "^2 || ^3.3 || ^4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "time": "2019-02-04T06:01:07+00:00" + }, + { + "name": "sebastian/environment", + "version": "4.2.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "require-dev": { + "phpunit/phpunit": "^7.5" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "time": "2019-11-20T08:46:58+00:00" + }, + { + "name": "sebastian/exporter", + "version": "3.1.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", + "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "http://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "time": "2019-09-14T09:02:43+00:00" + }, + { + "name": "sebastian/global-state", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "reference": "e8ba02eed7bbbb9e59e43dedd3dddeff4a56b0c4", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "time": "2017-04-27T15:39:26+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "shasum": "" + }, + "require": { + "php": "^7.0", + "sebastian/object-reflector": "^1.1.1", + "sebastian/recursion-context": "^3.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "time": "2017-08-03T12:35:26+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "773f97c67f28de00d397be301821b06708fca0be" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", + "reference": "773f97c67f28de00d397be301821b06708fca0be", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "time": "2017-03-29T09:07:27+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "reference": "5b0cd723502bac3b006cbf3dbf7a1e3fcefe4fa8", + "shasum": "" + }, + "require": { + "php": "^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "time": "2017-03-03T06:23:57+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "reference": "4d7a795d35b889bf80a0cc04e08d77cedfa917a9", + "shasum": "" + }, + "require": { + "php": "^7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "time": "2018-10-04T04:07:39+00:00" + }, + { + "name": "sebastian/version", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", + "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "time": "2016-10-03T07:35:21+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.7.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/e2e5d290e4d2a4f0eb449f510071392e00e10d19", + "reference": "e2e5d290e4d2a4f0eb449f510071392e00e10d19", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.7.2" + }, + "time": "2019-10-24T14:27:39+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "8800503d56b9867d43d9c303b9cbcc26016e82f0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/8800503d56b9867d43d9c303b9cbcc26016e82f0", + "reference": "8800503d56b9867d43d9c303b9cbcc26016e82f0", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.1.0" + }, + "time": "2020-02-14T15:25:33+00:00" + }, + { + "name": "symfony/console", + "version": "v5.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", + "reference": "5fa1caadc8cdaa17bcfb25219f3b53fe294a9935", + "shasum": "" + }, + "require": { + "php": "^7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.8", + "symfony/service-contracts": "^1.1|^2" + }, + "conflict": { + "symfony/dependency-injection": "<4.4", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0" + }, + "require-dev": { + "psr/log": "~1.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/event-dispatcher": "^4.4|^5.0", + "symfony/lock": "^4.4|^5.0", + "symfony/process": "^4.4|^5.0", + "symfony/var-dumper": "^4.4|^5.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Console Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/console/tree/v5.0.7" + }, + "time": "2020-03-30T11:42:42+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "ca3b87dd09fff9b771731637f5379965fbfab420" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/ca3b87dd09fff9b771731637f5379965fbfab420", + "reference": "ca3b87dd09fff9b771731637f5379965fbfab420", + "shasum": "" + }, + "require": { + "php": "^7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Filesystem Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.0.7" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-27T16:56:45+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/600a52c29afc0d1caa74acbec8d3095ca7e9910d", + "reference": "600a52c29afc0d1caa74acbec8d3095ca7e9910d", + "shasum": "" + }, + "require": { + "php": "^7.2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Finder Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-27T16:56:45+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.15.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/4719fa9c18b0464d399f1a63bf624b42b6fa8d14", + "reference": "4719fa9c18b0464d399f1a63bf624b42b6fa8d14", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.15-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.15.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-02-27T09:26:54+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.15.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "reference": "81ffd3a9c6d707be22e3012b827de1c9775fc5ac", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.15-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + }, + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.15.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-03-09T19:04:49+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.15.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", + "reference": "0f27e9f464ea3da33cbe7ca3bdf4eb66def9d0f7", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.15-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.15.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-02-27T09:26:54+00:00" + }, + { + "name": "symfony/process", + "version": "v5.0.7", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e", + "reference": "c5ca4a0fc16a0c888067d43fbcfe1f8a53d8e70e", + "shasum": "" + }, + "require": { + "php": "^7.2.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Process Component", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v5.0.7" + }, + "time": "2020-03-27T16:56:45+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "144c5e51266b281231e947b51223ba14acf1a749" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/144c5e51266b281231e947b51223ba14acf1a749", + "reference": "144c5e51266b281231e947b51223ba14acf1a749", + "shasum": "" + }, + "require": { + "php": "^7.2.5", + "psr/container": "^1.0" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.0.1" + }, + "time": "2019-11-18T17:27:11+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.1.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "time": "2019-06-13T22:48:21+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/webmozart/assert.git", + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozart/assert/zipball/ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "reference": "ab2cb0b3b559010b75981b1bdce728da3ee90ad6", + "shasum": "" + }, + "require": { + "php": "^5.3.3 || ^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "vimeo/psalm": "<3.9.1" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.36 || ^7.5.13" + }, + "type": "library", + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozart/assert/issues", + "source": "https://github.com/webmozart/assert/tree/master" + }, + "time": "2020-04-18T12:12:48+00:00" + } + ], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": { + "composer/composer": 20 + }, + "prefer-stable": false, + "prefer-lowest": false, + "platform": { + "php": "^7", + "composer-plugin-api": "^1.1.0 || ^2.0" + }, + "platform-dev": { + "ext-zip": "^1.13" + }, + "plugin-api-version": "1.1.0" +} diff --git a/vendor/composer/package-versions-deprecated/src/PackageVersions/FallbackVersions.php b/vendor/composer/package-versions-deprecated/src/PackageVersions/FallbackVersions.php new file mode 100644 index 00000000..18e5fe64 --- /dev/null +++ b/vendor/composer/package-versions-deprecated/src/PackageVersions/FallbackVersions.php @@ -0,0 +1,128 @@ + + */ + private static function getVersions(array $packageData): Generator + { + foreach ($packageData as $package) { + yield $package['name'] => $package['version'] . '@' . ( + $package['source']['reference'] ?? $package['dist']['reference'] ?? '' + ); + } + + yield self::ROOT_PACKAGE_NAME => self::ROOT_PACKAGE_NAME; + } +} diff --git a/vendor/composer/package-versions-deprecated/src/PackageVersions/Installer.php b/vendor/composer/package-versions-deprecated/src/PackageVersions/Installer.php new file mode 100644 index 00000000..05bdac9a --- /dev/null +++ b/vendor/composer/package-versions-deprecated/src/PackageVersions/Installer.php @@ -0,0 +1,290 @@ + + * @internal + */ + const VERSIONS = %s; + + private function __construct() + { + } + + /** + * @psalm-pure + * + * @psalm-suppress ImpureMethodCall we know that {@see InstalledVersions} interaction does not + * cause any side effects here. + */ + public static function rootPackageName() : string + { + if (!self::composer2ApiUsable()) { + return self::ROOT_PACKAGE_NAME; + } + + return InstalledVersions::getRootPackage()['name']; + } + + /** + * @throws OutOfBoundsException If a version cannot be located. + * + * @psalm-param key-of $packageName + * @psalm-pure + * + * @psalm-suppress ImpureMethodCall we know that {@see InstalledVersions} interaction does not + * cause any side effects here. + */ + public static function getVersion(string $packageName): string + { + if (self::composer2ApiUsable()) { + return InstalledVersions::getPrettyVersion($packageName) + . '@' . InstalledVersions::getReference($packageName); + } + + if (isset(self::VERSIONS[$packageName])) { + return self::VERSIONS[$packageName]; + } + + throw new OutOfBoundsException( + 'Required package "' . $packageName . '" is not installed: check your ./vendor/composer/installed.json and/or ./composer.lock files' + ); + } + + private static function composer2ApiUsable(): bool + { + if (!class_exists(InstalledVersions::class, false)) { + return false; + } + + if (method_exists(InstalledVersions::class, 'getAllRawData')) { + $rawData = InstalledVersions::getAllRawData(); + if (count($rawData) === 1 && count($rawData[0]) === 0) { + return false; + } + } else { + $rawData = InstalledVersions::getRawData(); + if ($rawData === null || $rawData === []) { + return false; + } + } + + return true; + } +} + +PHP; + + public function activate(Composer $composer, IOInterface $io) + { + // Nothing to do here, as all features are provided through event listeners + } + + public function deactivate(Composer $composer, IOInterface $io) + { + // Nothing to do here, as all features are provided through event listeners + } + + public function uninstall(Composer $composer, IOInterface $io) + { + // Nothing to do here, as all features are provided through event listeners + } + + /** + * {@inheritDoc} + */ + public static function getSubscribedEvents(): array + { + return [ScriptEvents::POST_AUTOLOAD_DUMP => 'dumpVersionsClass']; + } + + /** + * @throws RuntimeException + */ + public static function dumpVersionsClass(Event $composerEvent) + { + $composer = $composerEvent->getComposer(); + $rootPackage = $composer->getPackage(); + $versions = iterator_to_array(self::getVersions($composer->getLocker(), $rootPackage)); + + if (! array_key_exists('composer/package-versions-deprecated', $versions)) { + //plugin must be globally installed - we only want to generate versions for projects which specifically + //require composer/package-versions-deprecated + return; + } + + $versionClass = self::generateVersionsClass($rootPackage->getName(), $versions); + + self::writeVersionClassToFile($versionClass, $composer, $composerEvent->getIO()); + } + + /** + * @param string[] $versions + */ + private static function generateVersionsClass(string $rootPackageName, array $versions): string + { + return sprintf( + self::$generatedClassTemplate, + 'fin' . 'al ' . 'cla' . 'ss ' . 'Versions', // note: workaround for regex-based code parsers :-( + $rootPackageName, + var_export($versions, true) + ); + } + + /** + * @throws RuntimeException + */ + private static function writeVersionClassToFile(string $versionClassSource, Composer $composer, IOInterface $io) + { + $installPath = self::locateRootPackageInstallPath($composer->getConfig(), $composer->getPackage()) + . '/src/PackageVersions/Versions.php'; + + $installDir = dirname($installPath); + if (! file_exists($installDir)) { + $io->write('composer/package-versions-deprecated: Package not found (probably scheduled for removal); generation of version class skipped.'); + + return; + } + + if (! is_writable($installDir)) { + $io->write( + sprintf( + 'composer/package-versions-deprecated: %s is not writable; generation of version class skipped.', + $installDir + ) + ); + + return; + } + + $io->write('composer/package-versions-deprecated: Generating version class...'); + + $installPathTmp = $installPath . '_' . uniqid('tmp', true); + file_put_contents($installPathTmp, $versionClassSource); + chmod($installPathTmp, 0664); + rename($installPathTmp, $installPath); + + $io->write('composer/package-versions-deprecated: ...done generating version class'); + } + + /** + * @throws RuntimeException + */ + private static function locateRootPackageInstallPath( + Config $composerConfig, + RootPackageInterface $rootPackage + ): string { + if (self::getRootPackageAlias($rootPackage)->getName() === 'composer/package-versions-deprecated') { + return dirname($composerConfig->get('vendor-dir')); + } + + return $composerConfig->get('vendor-dir') . '/composer/package-versions-deprecated'; + } + + private static function getRootPackageAlias(RootPackageInterface $rootPackage): PackageInterface + { + $package = $rootPackage; + + while ($package instanceof AliasPackage) { + $package = $package->getAliasOf(); + } + + return $package; + } + + /** + * @return Generator&string[] + * + * @psalm-return Generator + */ + private static function getVersions(Locker $locker, RootPackageInterface $rootPackage): Generator + { + $lockData = $locker->getLockData(); + + $lockData['packages-dev'] = $lockData['packages-dev'] ?? []; + + $packages = $lockData['packages']; + if (getenv('COMPOSER_DEV_MODE') !== '0') { + $packages = array_merge($packages, $lockData['packages-dev']); + } + foreach ($packages as $package) { + yield $package['name'] => $package['version'] . '@' . ( + $package['source']['reference'] ?? $package['dist']['reference'] ?? '' + ); + } + + foreach ($rootPackage->getReplaces() as $replace) { + $version = $replace->getPrettyConstraint(); + if ($version === 'self.version') { + $version = $rootPackage->getPrettyVersion(); + } + + yield $replace->getTarget() => $version . '@' . $rootPackage->getSourceReference(); + } + + yield $rootPackage->getName() => $rootPackage->getPrettyVersion() . '@' . $rootPackage->getSourceReference(); + } +} diff --git a/vendor/composer/package-versions-deprecated/src/PackageVersions/Versions.php b/vendor/composer/package-versions-deprecated/src/PackageVersions/Versions.php new file mode 100644 index 00000000..c1f45b5d --- /dev/null +++ b/vendor/composer/package-versions-deprecated/src/PackageVersions/Versions.php @@ -0,0 +1,94 @@ +getHomeDir(); +echo $xdg->getHomeConfigDir(); +echo $xdg->getHomeDataDir(); +echo $xdg->getHomeCacheDir(); +echo $xdg->getRuntimeDir(); + +print_r($xdg->getDataDirs()); // returns array +print_r($xdg->getConfigDirs()); // returns array +``` + +## Testing + +``` bash +$ phpunit +``` + +## License + +The MIT License (MIT). Please see [License File](https://github.com/dnoegel/php-xdg-base-dir/blob/master/LICENSE) for more information. diff --git a/vendor/dnoegel/php-xdg-base-dir/composer.json b/vendor/dnoegel/php-xdg-base-dir/composer.json new file mode 100644 index 00000000..94c46374 --- /dev/null +++ b/vendor/dnoegel/php-xdg-base-dir/composer.json @@ -0,0 +1,17 @@ +{ + "name": "dnoegel/php-xdg-base-dir", + "description": "implementation of xdg base directory specification for php", + "type": "library", + "license": "MIT", + "require": { + "php": ">=5.3.2" + }, + "require-dev": { + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + }, + "autoload": { + "psr-4": { + "XdgBaseDir\\": "src/" + } + } +} diff --git a/vendor/dnoegel/php-xdg-base-dir/src/Xdg.php b/vendor/dnoegel/php-xdg-base-dir/src/Xdg.php new file mode 100644 index 00000000..2dd314d0 --- /dev/null +++ b/vendor/dnoegel/php-xdg-base-dir/src/Xdg.php @@ -0,0 +1,132 @@ +getHomeDir(); + + $path = DIRECTORY_SEPARATOR === $homeDir ? $homeDir.'.config' : $homeDir . DIRECTORY_SEPARATOR . '.config'; + + return $path; + } + + /** + * @return string + */ + public function getHomeDataDir() + { + $path = getenv('XDG_DATA_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.local' . DIRECTORY_SEPARATOR . 'share'; + + return $path; + } + + /** + * @return array + */ + public function getConfigDirs() + { + $configDirs = getenv('XDG_CONFIG_DIRS') ? explode(':', getenv('XDG_CONFIG_DIRS')) : array('/etc/xdg'); + + $paths = array_merge(array($this->getHomeConfigDir()), $configDirs); + + return $paths; + } + + /** + * @return array + */ + public function getDataDirs() + { + $dataDirs = getenv('XDG_DATA_DIRS') ? explode(':', getenv('XDG_DATA_DIRS')) : array('/usr/local/share', '/usr/share'); + + $paths = array_merge(array($this->getHomeDataDir()), $dataDirs); + + return $paths; + } + + /** + * @return string + */ + public function getHomeCacheDir() + { + $path = getenv('XDG_CACHE_HOME') ?: $this->getHomeDir() . DIRECTORY_SEPARATOR . '.cache'; + + return $path; + + } + + public function getRuntimeDir($strict=true) + { + if ($runtimeDir = getenv('XDG_RUNTIME_DIR')) { + return $runtimeDir; + } + + if ($strict) { + throw new \RuntimeException('XDG_RUNTIME_DIR was not set'); + } + + $fallback = sys_get_temp_dir() . DIRECTORY_SEPARATOR . self::RUNTIME_DIR_FALLBACK . getenv('USER'); + + $create = false; + + if (!is_dir($fallback)) { + mkdir($fallback, 0700, true); + } + + $st = lstat($fallback); + + # The fallback must be a directory + if (!$st['mode'] & self::S_IFDIR) { + rmdir($fallback); + $create = true; + } elseif ($st['uid'] != $this->getUid() || + $st['mode'] & (self::S_IRWXG | self::S_IRWXO) + ) { + rmdir($fallback); + $create = true; + } + + if ($create) { + mkdir($fallback, 0700, true); + } + + return $fallback; + } + + private function getUid() + { + if (function_exists('posix_getuid')) { + return posix_getuid(); + } + + return getmyuid(); + } +} diff --git a/vendor/felixfbecker/language-server-protocol/.editorconfig b/vendor/felixfbecker/language-server-protocol/.editorconfig new file mode 100644 index 00000000..b5f0c5df --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/.editorconfig @@ -0,0 +1,17 @@ + +[*] +insert_final_newline = true +end_of_line = lf +charset = utf-8 +trim_trailing_whitespace = true +indent_style = space +indent_size = 4 + +[*.{json,yml}] +indent_size = 2 + +[composer.json] +indent_size = 4 + +[*.md] +trim_trailing_whitespace = false diff --git a/vendor/felixfbecker/language-server-protocol/.github/workflows/build.yml b/vendor/felixfbecker/language-server-protocol/.github/workflows/build.yml new file mode 100644 index 00000000..5a9a2a4d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/.github/workflows/build.yml @@ -0,0 +1,67 @@ +name: build + +on: [push, pull_request] + +env: + FORCE_COLOR: 3 + +jobs: + test: + if: github.event_name == 'pull_request' || github.ref == 'refs/heads/master' + runs-on: ${{ matrix.os }} + strategy: + matrix: + include: + - php: '7.4' + os: ubuntu-18.04 + - php: '8.0' + os: ubuntu-18.04 + - php: '8.1' + os: ubuntu-18.04 + steps: + - uses: actions/checkout@v2 + - name: Setup Node.js + uses: actions/setup-node@v2 + with: + node-version: '14.15.3' # renovate:keep-up-to-date + - name: Install npm dependencies + run: npm ci + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: ${{ matrix.xdebug }}, ast + tools: composer + - name: Composer Install + run: COMPOSER_ROOT_VERSION=dev-master composer install --prefer-dist --no-interaction + - name: phpcs + run: ./vendor/bin/phpcs -n + - name: phpstan + run: ./vendor/bin/phpstan + - name: psalm + run: ./vendor/bin/psalm +# - name: phan +# run: ./vendor/bin/phan +# - name: phpunit +# run: vendor/bin/phpunit --coverage-clover=coverage.xml --colors=always +# - name: Upload coverage to Codecov +# uses: codecov/codecov-action@v2 +# release: +# runs-on: ubuntu-18.04 +# needs: test +# if: github.repository_owner == 'xdebug' && github.event_name == 'push' && github.ref == 'refs/heads/main' +# steps: +# - uses: actions/checkout@v2 +# - name: Setup Node.js +# uses: actions/setup-node@v2 +# with: +# node-version: '14.15.3' # renovate:keep-up-to-date +# - name: Install npm dependencies +# run: npm ci +# - name: Build VS Code extension +# run: npm run build +# - name: Release +# env: +# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} +# VSCE_TOKEN: ${{ secrets.VSCE_TOKEN }} +# run: npm run semantic-release diff --git a/vendor/felixfbecker/language-server-protocol/LICENSE b/vendor/felixfbecker/language-server-protocol/LICENSE new file mode 100644 index 00000000..fc354170 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2016, Felix Frederick Becker + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/felixfbecker/language-server-protocol/README.md b/vendor/felixfbecker/language-server-protocol/README.md new file mode 100644 index 00000000..1e169d1e --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/README.md @@ -0,0 +1,19 @@ +# Language Server Protocol for PHP + +[![packagist](https://img.shields.io/packagist/v/felixfbecker/language-server-protocol.svg)](https://packagist.org/packages/felixfbecker/language-server-protocol) +[![build](https://travis-ci.org/felixfbecker/php-language-server-protocol.svg?branch=master)](https://travis-ci.org/felixfbecker/php-language-server-protocol) +[![php](https://img.shields.io/badge/php-%3E%3D%207.0-8892BF.svg)](https://php.net/) +[![license](https://img.shields.io/packagist/l/felixfbecker/language-server-protocol.svg)](https://github.com/felixfbecker/php-language-server-protocol/blob/master/LICENSE) + +Protocol classes for the [Language Server Protocol](https://microsoft.github.io/language-server-protocol/) in PHP + +## Installation + +``` +composer require felixfbecker/language-server-protocol +``` + +## Releases + +Releases are done automatically in CI by analyzing commit messages. +Make sure to follow the [Conventional Commits Convention](https://www.conventionalcommits.org/en/v1.0.0-beta.2/). diff --git a/vendor/felixfbecker/language-server-protocol/composer.json b/vendor/felixfbecker/language-server-protocol/composer.json new file mode 100644 index 00000000..4d653b4a --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/composer.json @@ -0,0 +1,44 @@ +{ + "name": "felixfbecker/language-server-protocol", + "description": "PHP classes for the Language Server Protocol", + "license": "ISC", + "keywords": [ + "php", + "language", + "server", + "microsoft" + ], + "authors": [ + { + "name": "Felix Becker", + "email": "felix.b@outlook.com" + } + ], + "require": { + "php": ">=7.1" + }, + "require-dev": { + "phpstan/phpstan": "*", + "squizlabs/php_codesniffer": "^3.1", + "vimeo/psalm": "^4.0" + }, + "autoload": { + "psr-4": { + "LanguageServerProtocol\\": "src/" + } + }, + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "minimum-stability": "dev", + "prefer-stable": true, + "scripts": + { + "phpstan": "phpstan analyse -c phpstan.neon --ansi --level=7 -vvv src", + "psalm": "psalm", + "phpcs": "phpcs", + "phpcbf": "phpcbf" + } +} diff --git a/vendor/felixfbecker/language-server-protocol/package-lock.json b/vendor/felixfbecker/language-server-protocol/package-lock.json new file mode 100644 index 00000000..7fcdd3b4 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/package-lock.json @@ -0,0 +1,6489 @@ +{ + "name": "php-language-server-protocol", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.2.tgz", + "integrity": "sha512-yprFYuno9FtNsSHVlSWd+nRlmGoAbqbeCwOryP6sC/zoCjhpArcRMYp19EvpSUSizJAlsXEwJv+wcWS9XaXdMw==", + "dev": true + }, + "@octokit/rest": { + "version": "15.12.0", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-15.12.0.tgz", + "integrity": "sha512-5wRag4kHRkp0JDo++L9x9FkDlHEALbLnbSede16D8u+a2/t+gX32uhDs8cukVLyyrZR79nmh1lNpxZmffwoNoQ==", + "dev": true, + "requires": { + "before-after-hook": "^1.1.0", + "btoa-lite": "^1.0.0", + "debug": "^3.1.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.0", + "lodash": "^4.17.4", + "node-fetch": "^2.1.1", + "universal-user-agent": "^2.0.0", + "url-template": "^2.0.8" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "@semantic-release/commit-analyzer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@semantic-release/commit-analyzer/-/commit-analyzer-6.0.1.tgz", + "integrity": "sha512-ENCRn1tm1D08CCBnIPsID8GjboWT6E97s0Lk3XrpAh+IMx615uAU1X2FoXyOGGc6zmqp9Ff4s8KECd/GjMcodQ==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.0", + "conventional-commits-filter": "^2.0.0", + "conventional-commits-parser": "^3.0.0", + "debug": "^4.0.0", + "import-from": "^2.1.0", + "lodash": "^4.17.4" + } + }, + "@semantic-release/error": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@semantic-release/error/-/error-2.2.0.tgz", + "integrity": "sha512-9Tj/qn+y2j+sjCI3Jd+qseGtHjOAeg7dU2/lVcqIQ9TV3QDaDXDYXcoOHU+7o2Hwh8L8ymL4gfuO7KxDs3q2zg==", + "dev": true + }, + "@semantic-release/github": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/@semantic-release/github/-/github-5.0.5.tgz", + "integrity": "sha512-Hdt6b8ST2pg6pl151PlcsnTcdsC2UJhA5FdbmunbZG/TVmlnKCZ4WUzpji7YqJtDLjbQTuFm/vhM6atW3XjMWg==", + "dev": true, + "requires": { + "@octokit/rest": "^15.2.0", + "@semantic-release/error": "^2.2.0", + "aggregate-error": "^1.0.0", + "bottleneck": "^2.0.1", + "debug": "^4.0.0", + "dir-glob": "^2.0.0", + "fs-extra": "^7.0.0", + "globby": "^8.0.0", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "issue-parser": "^3.0.0", + "lodash": "^4.17.4", + "mime": "^2.0.3", + "p-filter": "^1.0.0", + "p-retry": "^2.0.0", + "parse-github-url": "^1.0.1", + "url-join": "^4.0.0" + } + }, + "@semantic-release/npm": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@semantic-release/npm/-/npm-5.0.4.tgz", + "integrity": "sha512-ExGXP9GnM2hqUIgTnp6sXKB1G0Yh+fuLftmIopq5KHBWj34Wd2YbM/3iLkXXnAP1YZ9YCp7hsAdsR014ctbwHg==", + "dev": true, + "requires": { + "@semantic-release/error": "^2.2.0", + "aggregate-error": "^1.0.0", + "detect-indent": "^5.0.0", + "detect-newline": "^2.1.0", + "execa": "^1.0.0", + "fs-extra": "^7.0.0", + "lodash": "^4.17.4", + "nerf-dart": "^1.0.0", + "normalize-url": "^3.0.0", + "npm": "^6.3.0", + "parse-json": "^4.0.0", + "rc": "^1.2.8", + "read-pkg": "^4.0.0", + "registry-auth-token": "^3.3.1" + }, + "dependencies": { + "read-pkg": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-4.0.1.tgz", + "integrity": "sha1-ljYlN48+HE1IyFhytabsfV0JMjc=", + "dev": true, + "requires": { + "normalize-package-data": "^2.3.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0" + } + } + } + }, + "@semantic-release/release-notes-generator": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@semantic-release/release-notes-generator/-/release-notes-generator-7.0.2.tgz", + "integrity": "sha512-fomHrGq/gfZIAQYZk0MLRwfQ8d+DbTcI3kuO1hU2L0fDJYKHZHuPmKnsfVa5KoNdVVPHx878D/ojgyStRqhc9g==", + "dev": true, + "requires": { + "conventional-changelog-angular": "^5.0.0", + "conventional-changelog-writer": "^4.0.0", + "conventional-commits-filter": "^2.0.0", + "conventional-commits-parser": "^3.0.0", + "debug": "^4.0.0", + "get-stream": "^4.0.0", + "git-url-parse": "^10.0.1", + "import-from": "^2.1.0", + "into-stream": "^3.1.0", + "lodash": "^4.17.4" + } + }, + "JSONStream": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.4.tgz", + "integrity": "sha512-Y7vfi3I5oMOYIr+WxV8NZxDSwcbNgzdKYsTNInmycOq9bUYwGg9ryu57Wg5NLmCjqdFPNUmpMBo3kSJN9tCbXg==", + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "agent-base": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", + "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "aggregate-error": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-1.0.0.tgz", + "integrity": "sha1-iINE2tAiCnLjr1CQYRf0h3GSX6w=", + "dev": true, + "requires": { + "clean-stack": "^1.0.0", + "indent-string": "^3.0.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", + "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", + "dev": true + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "argv-formatter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/argv-formatter/-/argv-formatter-1.0.0.tgz", + "integrity": "sha1-oMoMvCmltz6Dbuvhy/bF4OTrgvk=", + "dev": true + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", + "dev": true + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", + "dev": true + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", + "dev": true + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=", + "dev": true + }, + "array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha1-nlKHYrSpBmrRY6aWKjZEGOlibs4=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", + "dev": true + }, + "async": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.1.tgz", + "integrity": "sha512-fNEiL2+AZt6AlAw/29Cr0UDe4sRAHCpEHh54WMz+Bb7QfNcFw4h3loofyJpLeQs4Yx7yuqu/2dLgM5hKOs6HlQ==", + "dev": true, + "requires": { + "lodash": "^4.17.10" + } + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "dev": true, + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "before-after-hook": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-1.1.0.tgz", + "integrity": "sha512-VOMDtYPwLbIncTxNoSzRyvaMxtXmLWLUqr8k5AfC1BzLk34HvBXaQX8snOwQZ4c0aX8aSERqtJSiI9/m2u5kuA==", + "dev": true + }, + "bottleneck": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/bottleneck/-/bottleneck-2.11.0.tgz", + "integrity": "sha512-DvKiYR1kG1qRVoLBUtPlmJffktoBZIz3qtdUbINlwzQXDhlhZdF8gWesPjwp05xqr5QZ7wXA2k1w78/COCweTg==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "dev": true, + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "btoa-lite": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz", + "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc=", + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "dev": true, + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=", + "dev": true + }, + "camelcase-keys": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-4.2.0.tgz", + "integrity": "sha1-oqpfsa9oh1glnDLBQUJteJI7m3c=", + "dev": true, + "requires": { + "camelcase": "^4.1.0", + "map-obj": "^2.0.0", + "quick-lru": "^1.0.0" + } + }, + "cardinal": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", + "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", + "dev": true, + "requires": { + "ansicolors": "~0.3.2", + "redeyed": "~2.1.0" + } + }, + "chalk": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.1.tgz", + "integrity": "sha512-ObN6h1v2fTJSmUXoS3nMQ92LbDK9be4TV+6G+omQlGJFdcUX5heKi1LZ1YnRMIgwTLEj3E24bT6tYni50rlCfQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "clean-stack": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-1.3.0.tgz", + "integrity": "sha1-noIVAa6XmYbEax1m0tQy2y/UrjE=", + "dev": true + }, + "cli-table": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz", + "integrity": "sha1-9TsFJmqLGguTSz0IIebi3FkUriM=", + "dev": true, + "requires": { + "colors": "1.0.3" + } + }, + "cliui": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", + "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", + "dev": true + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "dev": true, + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "colors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz", + "integrity": "sha1-BDP0TYCWgP3rYO0mDxsMJi6CpAs=", + "dev": true + }, + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true, + "optional": true + }, + "compare-func": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-1.3.2.tgz", + "integrity": "sha1-md0LpFfh+bxyKxLAjsM+6rMfpkg=", + "dev": true, + "requires": { + "array-ify": "^1.0.0", + "dot-prop": "^3.0.0" + } + }, + "component-emitter": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", + "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "conventional-changelog-angular": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-5.0.1.tgz", + "integrity": "sha512-q4ylJ68fWZDdrFC9z4zKcf97HW6hp7Mo2YlqD4owfXhecFKy/PJCU/1oVFF4TqochchChqmZ0Vb0e0g8/MKNlA==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "q": "^1.5.1" + } + }, + "conventional-changelog-writer": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-4.0.0.tgz", + "integrity": "sha512-hMZPe0AQ6Bi05epeK/7hz80xxk59nPA5z/b63TOHq2wigM0/akreOc8N4Jam5b9nFgKWX1e9PdPv2ewgW6bcfg==", + "dev": true, + "requires": { + "compare-func": "^1.3.1", + "conventional-commits-filter": "^2.0.0", + "dateformat": "^3.0.0", + "handlebars": "^4.0.2", + "json-stringify-safe": "^5.0.1", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "semver": "^5.5.0", + "split": "^1.0.0", + "through2": "^2.0.0" + } + }, + "conventional-commits-filter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-2.0.0.tgz", + "integrity": "sha512-Cfl0j1/NquB/TMVx7Wrmyq7uRM+/rPQbtVVGwzfkhZ6/yH6fcMmP0Q/9044TBZPTNdGzm46vXFXL14wbET0/Mg==", + "dev": true, + "requires": { + "is-subset": "^0.1.1", + "modify-values": "^1.0.0" + } + }, + "conventional-commits-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-3.0.0.tgz", + "integrity": "sha512-GWh71U26BLWgMykCp+VghZ4s64wVbtseECcKQ/PvcPZR2cUnz+FUc2J9KjxNl7/ZbCxST8R03c9fc+Vi0umS9Q==", + "dev": true, + "requires": { + "JSONStream": "^1.0.4", + "is-text-path": "^1.0.0", + "lodash": "^4.2.1", + "meow": "^4.0.0", + "split2": "^2.0.0", + "through2": "^2.0.0", + "trim-off-newlines": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cosmiconfig": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.0.6.tgz", + "integrity": "sha512-6DWfizHriCrFWURP1/qyhsiFvYdlJzbCzmtFWh744+KyWsJo5+kPzUZZaMRSSItoYc0pxFX7gEO7ZC1/gN/7AQ==", + "dev": true, + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.9.0", + "parse-json": "^4.0.0" + } + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "dev": true, + "requires": { + "array-find-index": "^1.0.1" + } + }, + "dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true + }, + "debug": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.0.1.tgz", + "integrity": "sha512-K23FHJ/Mt404FSlp6gSZCevIbTMLX0j3fmHhUEhQ3Wq0FMODW3+cUSoLdy1Gx4polAf4t/lphhmHH35BB8cLYw==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "decamelize-keys": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.0.tgz", + "integrity": "sha1-0XGoeTMlKAfrPLYdwcFEXQeN8tk=", + "dev": true, + "requires": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=", + "dev": true + } + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", + "dev": true + }, + "deep-extend": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz", + "integrity": "sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==", + "dev": true + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "dev": true, + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "detect-indent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-5.0.0.tgz", + "integrity": "sha1-OHHMCmoALow+Wzz38zYmRnXwa50=", + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-2.1.0.tgz", + "integrity": "sha1-9B8cEL5LAOh7XxPaaAdZ8sW/0+I=", + "dev": true + }, + "dir-glob": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.0.0.tgz", + "integrity": "sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "path-type": "^3.0.0" + } + }, + "dot-prop": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-3.0.0.tgz", + "integrity": "sha1-G3CK8JSknJoOfbyteQq6U52sEXc=", + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "duplexer2": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", + "integrity": "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME=", + "dev": true, + "requires": { + "readable-stream": "^2.0.2" + } + }, + "end-of-stream": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", + "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "env-ci": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/env-ci/-/env-ci-3.0.0.tgz", + "integrity": "sha512-3Xt4Cfjdy9MTTrg/eWTnJNQIrtU1DDV0KyuWOGlrR2oa9dOdzoOMbQBFbfrTiv+GypdiWWIw5HdmtakZO+rzWA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "java-properties": "^0.2.9" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", + "dev": true + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "dev": true, + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "dev": true, + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "dev": true, + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "fast-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.2.tgz", + "integrity": "sha512-TR6zxCKftDQnUAPvkrCWdBgDq/gbqx8A3ApnBrR5rMvpp6+KMJI0Igw7fkWPgeVK0uhRXTXdvO3O+YP0CaUX2g==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.0.1", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.1", + "micromatch": "^3.1.10" + } + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "find-versions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/find-versions/-/find-versions-2.0.0.tgz", + "integrity": "sha1-KtkNSQ9oKMGqQCks9wmsMxghDDw=", + "dev": true, + "requires": { + "array-uniq": "^1.0.0", + "semver-regex": "^1.0.0" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", + "dev": true + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "dev": true, + "requires": { + "map-cache": "^0.2.2" + } + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.0.tgz", + "integrity": "sha512-EglNDLRpmaTWiD/qraZn6HREAEAHJcJOmxNEYwq6xeMKnVMAy3GUcFB+wXt2C6k4CNvB/mP1y/U3dzvKKj5OtQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", + "dev": true + }, + "get-stream": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.0.0.tgz", + "integrity": "sha512-FneLKMENeOR7wOK0/ZXCh+lwqtnPwkeunJjRN28LPqzGvNAhYvrTAhXv6xDm4vsJ0M7lcRbIYHQudKsSy2RtSQ==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", + "dev": true + }, + "git-log-parser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/git-log-parser/-/git-log-parser-1.2.0.tgz", + "integrity": "sha1-LmpMGxP8AAKCB7p5WnrDFme5/Uo=", + "dev": true, + "requires": { + "argv-formatter": "~1.0.0", + "spawn-error-forwarder": "~1.0.0", + "split2": "~1.0.0", + "stream-combiner2": "~1.1.1", + "through2": "~2.0.0", + "traverse": "~0.6.6" + }, + "dependencies": { + "split2": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-1.0.0.tgz", + "integrity": "sha1-UuLiIdiMdfmnP5BVbiY/+WdysxQ=", + "dev": true, + "requires": { + "through2": "~2.0.0" + } + } + } + }, + "git-up": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/git-up/-/git-up-2.0.10.tgz", + "integrity": "sha512-2v4UN3qV2RGypD9QpmUjpk+4+RlYpW8GFuiZqQnKmvei08HsFPd0RfbDvEhnE4wBvnYs8ORVtYpOFuuCEmBVBw==", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "parse-url": "^1.3.0" + } + }, + "git-url-parse": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/git-url-parse/-/git-url-parse-10.0.1.tgz", + "integrity": "sha512-Tq2u8UPXc/FawC/dO8bvh8jcck0Lkor5OhuZvmVSeyJGRucDBfw9y2zy/GNCx28lMYh1N12IzPwDexjUNFyAeg==", + "dev": true, + "requires": { + "git-up": "^2.0.0" + } + }, + "glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "dev": true, + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "dev": true, + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globby": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-8.0.1.tgz", + "integrity": "sha512-oMrYrJERnKBLXNLVTqhm3vPEdJ/b2ZE28xN4YARiix1NOIOBPEpOUnm844K1iu/BkphCaf2WNFwMszv8Soi1pw==", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "fast-glob": "^2.0.2", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.11.tgz", + "integrity": "sha1-Dovf5NHduIVNZOBOp8AOKgJuVlg=", + "dev": true + }, + "handlebars": { + "version": "4.0.12", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.0.12.tgz", + "integrity": "sha512-RhmTekP+FZL+XNhwS1Wf+bTTZpdLougwt5pcgA1tuz6Jcx0fpH/7z0qd71RKnZHBCxIRBHfBOnio4gViPemNzA==", + "dev": true, + "requires": { + "async": "^2.5.0", + "optimist": "^0.6.1", + "source-map": "^0.6.1", + "uglify-js": "^3.1.4" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + } + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "dev": true + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "dev": true, + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hook-std": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hook-std/-/hook-std-1.1.0.tgz", + "integrity": "sha512-aIyBZbZl3NS8XoSwIDQ+ZaiBuPOhhPWoBFA3QX0Q8hOMO8Tx4xGRTDnn/nl/LAtZWdieXzFC9ohAtTSnWrlHCQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", + "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", + "dev": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", + "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.1.tgz", + "integrity": "sha512-HPCTS1LW51bcyMYbxUIOO4HEOlQ1/1qRaFWcyxvwaqUS9TY88aoEuHUY33kuAh1YhVVaDQhLZsnPd+XNARWZlQ==", + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.2.5", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.5.tgz", + "integrity": "sha512-D61LaDQPQkxJ5AUM2mbSJRbPkNs/TmdmOeLAi1hgDkpDfIfetSrjmWhccwtuResSwMbACjx/xXQofvM9CE/aeg==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", + "dev": true + } + } + }, + "indent-string": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-3.2.0.tgz", + "integrity": "sha1-Sl/W0nzDMvN+VBmlBNu4NxBckok=", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "into-stream": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/into-stream/-/into-stream-3.1.0.tgz", + "integrity": "sha1-lvsKk2wSur1v8XUqF9BWFqvQlMY=", + "dev": true, + "requires": { + "from2": "^2.1.1", + "p-is-promise": "^1.1.0" + } + }, + "invert-kv": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", + "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", + "dev": true + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "dev": true + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "resolved": "http://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz", + "integrity": "sha1-VAVy0096wxGfj3bDDLwbHgN6/74=", + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", + "dev": true + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "is-glob": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.0.tgz", + "integrity": "sha1-lSHHaEXMJhCoUgPd8ICpWML/q8A=", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "is-obj": { + "version": "1.0.1", + "resolved": "http://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz", + "integrity": "sha1-PkcprB9f3gJc19g6iW2rn09n2w8=", + "dev": true + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-ssh": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-ssh/-/is-ssh-1.3.0.tgz", + "integrity": "sha1-6+oRaaJhTaOSpjdANmw84EnY3/Y=", + "dev": true, + "requires": { + "protocols": "^1.1.0" + } + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", + "dev": true + }, + "is-subset": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-subset/-/is-subset-0.1.1.tgz", + "integrity": "sha1-ilkRfZMt4d4A8kX83TnOQ/HpOaY=", + "dev": true + }, + "is-text-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-text-path/-/is-text-path-1.0.1.tgz", + "integrity": "sha1-Thqg+1G/vLPpJogAE5cgLBd1tm4=", + "dev": true, + "requires": { + "text-extensions": "^1.0.0" + } + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", + "dev": true + }, + "issue-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/issue-parser/-/issue-parser-3.0.0.tgz", + "integrity": "sha512-VWIhBdy0eOhlvpxOOMecBCHMpjx7lWVZcYpSzjD4dSdxptzI9TBR/cQEh057HL8+7jQKTLs+uCtezY/9VoveCA==", + "dev": true, + "requires": { + "lodash.capitalize": "^4.2.1", + "lodash.escaperegexp": "^4.1.2", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.uniqby": "^4.7.0" + } + }, + "java-properties": { + "version": "0.2.10", + "resolved": "https://registry.npmjs.org/java-properties/-/java-properties-0.2.10.tgz", + "integrity": "sha512-CpKJh9VRNhS+XqZtg1UMejETGEiqwCGDC/uwPEEQwc2nfdbSm73SIE29TplG2gLYuBOOTNDqxzG6A9NtEPLt0w==", + "dev": true + }, + "js-yaml": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.12.0.tgz", + "integrity": "sha512-PIt2cnwmPfL4hKNwqeiuz4bKfnzHTBv6HyVgjahA6mPLwPDzjDWrplJBMjHUFxku/N3FlmrbyPclad+I+4mJ3A==", + "dev": true, + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", + "dev": true + }, + "kind-of": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.2.tgz", + "integrity": "sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA==", + "dev": true + }, + "lcid": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", + "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", + "dev": true, + "requires": { + "invert-kv": "^2.0.0" + } + }, + "load-json-file": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", + "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^4.0.0", + "pify": "^3.0.0", + "strip-bom": "^3.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + }, + "dependencies": { + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + } + } + }, + "lodash": { + "version": "4.17.11", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", + "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", + "dev": true + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=", + "dev": true + }, + "lodash.capitalize": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/lodash.capitalize/-/lodash.capitalize-4.2.1.tgz", + "integrity": "sha1-+CbJtOKoUR2E46yinbBeGk87cqk=", + "dev": true + }, + "lodash.escaperegexp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.escaperegexp/-/lodash.escaperegexp-4.1.2.tgz", + "integrity": "sha1-ZHYsSGGAglGKw99Mz11YhtriA0c=", + "dev": true + }, + "lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs=", + "dev": true + }, + "lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE=", + "dev": true + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=", + "dev": true + }, + "lodash.uniqby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.uniqby/-/lodash.uniqby-4.7.0.tgz", + "integrity": "sha1-2ZwHpmnp5tJOE2Lf4mbGdhavEwI=", + "dev": true + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "dev": true, + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "macos-release": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-1.1.0.tgz", + "integrity": "sha512-mmLbumEYMi5nXReB9js3WGsB8UE6cDBWyIO62Z4DNx6GbRhDxHNjA1MlzSpJ2S2KM1wyiPRA0d19uHWYYvMHjA==", + "dev": true + }, + "map-age-cleaner": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.2.tgz", + "integrity": "sha512-UN1dNocxQq44IhJyMI4TU8phc2m9BddacHRPRjKGLYaF0jqd3xLz0jS0skpAU9WgYyoR4gHtUpzytNBS385FWQ==", + "dev": true, + "requires": { + "p-defer": "^1.0.0" + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", + "dev": true + }, + "map-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-2.0.0.tgz", + "integrity": "sha1-plzSkIepJZi4eRJXpSPgISIqwfk=", + "dev": true + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "dev": true, + "requires": { + "object-visit": "^1.0.0" + } + }, + "marked": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/marked/-/marked-0.5.0.tgz", + "integrity": "sha512-UhjmkCWKu1SS/BIePL2a59BMJ7V42EYtTfksodPRXzPEGEph3Inp5dylseqt+KbU9Jglsx8xcMKmlumfJMBXAA==", + "dev": true + }, + "marked-terminal": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/marked-terminal/-/marked-terminal-3.1.1.tgz", + "integrity": "sha512-7UBFww1rdx0w9HehLMCVYa8/AxXaiDigDfMsJcj82/wgLQG9cj+oiMAVlJpeWD57VFJY2OYY+bKeEVIjIlxi+w==", + "dev": true, + "requires": { + "cardinal": "^2.1.1", + "chalk": "^2.4.1", + "cli-table": "^0.3.1", + "lodash.assign": "^4.2.0", + "node-emoji": "^1.4.1" + } + }, + "mem": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-4.0.0.tgz", + "integrity": "sha512-WQxG/5xYc3tMbYLXoXPm81ET2WDULiU5FxbuIoNbJqLOOI8zehXFdZuiUEgfdrU2mVB1pxBZUGlYORSrpuJreA==", + "dev": true, + "requires": { + "map-age-cleaner": "^0.1.1", + "mimic-fn": "^1.0.0", + "p-is-promise": "^1.1.0" + } + }, + "meow": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz", + "integrity": "sha512-xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==", + "dev": true, + "requires": { + "camelcase-keys": "^4.0.0", + "decamelize-keys": "^1.0.0", + "loud-rejection": "^1.0.0", + "minimist": "^1.1.3", + "minimist-options": "^3.0.1", + "normalize-package-data": "^2.3.4", + "read-pkg-up": "^3.0.0", + "redent": "^2.0.0", + "trim-newlines": "^2.0.0" + }, + "dependencies": { + "read-pkg-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-3.0.0.tgz", + "integrity": "sha1-PtSWaF26D4/hGNBpHcUfSh/5bwc=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^3.0.0" + } + } + } + }, + "merge2": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.2.2.tgz", + "integrity": "sha512-bgM8twH86rWni21thii6WCMQMRMmwqqdW3sGWi9IipnVAszdLXRjwDwAnyrVXo6DuP3AjRMMttZKUB48QWIFGg==", + "dev": true + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + } + }, + "mime": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.3.1.tgz", + "integrity": "sha512-OEUllcVoydBHGN1z84yfQDimn58pZNNNXgZlHXSboxMlFvgI6MXSWpWKpFRra7H1HxpVhHTkrghfRW49k6yjeg==", + "dev": true + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.0", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", + "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", + "dev": true + }, + "minimist-options": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-3.0.2.tgz", + "integrity": "sha512-FyBrT/d0d4+uiZRbqznPXqw3IpZZG3gl3wKWiX784FycUKVwBt0uLBFkQrtE4tZOrgo78nZp2jnKz3L65T5LdQ==", + "dev": true, + "requires": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0" + } + }, + "mixin-deep": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.1.tgz", + "integrity": "sha512-8ZItLHeEgaqEvd5lYBXfm4EZSFCX29Jb9K+lAHhDKzReKBQKj3R+7NOF6tjqYi9t4oI8VUfaWITJQm86wnXGNQ==", + "dev": true, + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true + }, + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", + "dev": true + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "dev": true, + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + } + }, + "nerf-dart": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/nerf-dart/-/nerf-dart-1.0.0.tgz", + "integrity": "sha1-5tq3/r9a2Bbqgc9cYpxaDr3nLBo=", + "dev": true + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", + "dev": true + }, + "node-emoji": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.8.1.tgz", + "integrity": "sha512-+ktMAh1Jwas+TnGodfCfjUbJKoANqPaJFN0z0iqh41eqD8dvguNzcitVSBSVK1pidz0AqGbLKcoVuVLRVZ/aVg==", + "dev": true, + "requires": { + "lodash.toarray": "^4.4.0" + } + }, + "node-fetch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.2.0.tgz", + "integrity": "sha512-OayFWziIxiHY8bCUyLX6sTpDH8Jsbp4FfYd1j1f7vZyfgkcOnAyM4oQR16f8a0s7Gl/viMGRey8eScYk4V4EZA==", + "dev": true + }, + "normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-9jjUFbTPfEy3R/ad/2oNbKtW9Hgovl5O1FvFWKkKblNXoN/Oou6+9+KKohPK13Yc3/TyunyWhJp6gvRNR/PPAw==", + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "npm": { + "version": "6.4.1", + "resolved": "https://registry.npmjs.org/npm/-/npm-6.4.1.tgz", + "integrity": "sha512-mXJL1NTVU136PtuopXCUQaNWuHlXCTp4McwlSW8S9/Aj8OEPAlSBgo8og7kJ01MjCDrkmqFQTvN5tTEhBMhXQg==", + "dev": true, + "requires": { + "JSONStream": "^1.3.4", + "abbrev": "~1.1.1", + "ansicolors": "~0.3.2", + "ansistyles": "~0.1.3", + "aproba": "~1.2.0", + "archy": "~1.0.0", + "bin-links": "^1.1.2", + "bluebird": "~3.5.1", + "byte-size": "^4.0.3", + "cacache": "^11.2.0", + "call-limit": "~1.1.0", + "chownr": "~1.0.1", + "ci-info": "^1.4.0", + "cli-columns": "^3.1.2", + "cli-table3": "^0.5.0", + "cmd-shim": "~2.0.2", + "columnify": "~1.5.4", + "config-chain": "~1.1.11", + "debuglog": "*", + "detect-indent": "~5.0.0", + "detect-newline": "^2.1.0", + "dezalgo": "~1.0.3", + "editor": "~1.0.0", + "figgy-pudding": "^3.4.1", + "find-npm-prefix": "^1.0.2", + "fs-vacuum": "~1.2.10", + "fs-write-stream-atomic": "~1.0.10", + "gentle-fs": "^2.0.1", + "glob": "~7.1.2", + "graceful-fs": "~4.1.11", + "has-unicode": "~2.0.1", + "hosted-git-info": "^2.7.1", + "iferr": "^1.0.2", + "imurmurhash": "*", + "inflight": "~1.0.6", + "inherits": "~2.0.3", + "ini": "^1.3.5", + "init-package-json": "^1.10.3", + "is-cidr": "^2.0.6", + "json-parse-better-errors": "^1.0.2", + "lazy-property": "~1.0.0", + "libcipm": "^2.0.2", + "libnpmhook": "^4.0.1", + "libnpx": "^10.2.0", + "lock-verify": "^2.0.2", + "lockfile": "^1.0.4", + "lodash._baseindexof": "*", + "lodash._baseuniq": "~4.6.0", + "lodash._bindcallback": "*", + "lodash._cacheindexof": "*", + "lodash._createcache": "*", + "lodash._getnative": "*", + "lodash.clonedeep": "~4.5.0", + "lodash.restparam": "*", + "lodash.union": "~4.6.0", + "lodash.uniq": "~4.5.0", + "lodash.without": "~4.4.0", + "lru-cache": "^4.1.3", + "meant": "~1.0.1", + "mississippi": "^3.0.0", + "mkdirp": "~0.5.1", + "move-concurrently": "^1.0.1", + "node-gyp": "^3.8.0", + "nopt": "~4.0.1", + "normalize-package-data": "~2.4.0", + "npm-audit-report": "^1.3.1", + "npm-cache-filename": "~1.0.2", + "npm-install-checks": "~3.0.0", + "npm-lifecycle": "^2.1.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.11", + "npm-pick-manifest": "^2.1.0", + "npm-profile": "^3.0.2", + "npm-registry-client": "^8.6.0", + "npm-registry-fetch": "^1.1.0", + "npm-user-validate": "~1.0.0", + "npmlog": "~4.1.2", + "once": "~1.4.0", + "opener": "^1.5.0", + "osenv": "^0.1.5", + "pacote": "^8.1.6", + "path-is-inside": "~1.0.2", + "promise-inflight": "~1.0.1", + "qrcode-terminal": "^0.12.0", + "query-string": "^6.1.0", + "qw": "~1.0.1", + "read": "~1.0.7", + "read-cmd-shim": "~1.0.1", + "read-installed": "~4.0.3", + "read-package-json": "^2.0.13", + "read-package-tree": "^5.2.1", + "readable-stream": "^2.3.6", + "readdir-scoped-modules": "*", + "request": "^2.88.0", + "retry": "^0.12.0", + "rimraf": "~2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.5.0", + "sha": "~2.0.1", + "slide": "~1.1.6", + "sorted-object": "~2.0.1", + "sorted-union-stream": "~2.1.3", + "ssri": "^6.0.0", + "stringify-package": "^1.0.0", + "tar": "^4.4.6", + "text-table": "~0.2.0", + "tiny-relative-date": "^1.3.0", + "uid-number": "0.0.6", + "umask": "~1.1.0", + "unique-filename": "~1.1.0", + "unpipe": "~1.0.0", + "update-notifier": "^2.5.0", + "uuid": "^3.3.2", + "validate-npm-package-license": "^3.0.4", + "validate-npm-package-name": "~3.0.0", + "which": "^1.3.1", + "worker-farm": "^1.6.0", + "write-file-atomic": "^2.3.0" + }, + "dependencies": { + "JSONStream": { + "version": "1.3.4", + "bundled": true, + "dev": true, + "requires": { + "jsonparse": "^1.2.0", + "through": ">=2.2.7 <3" + } + }, + "abbrev": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "agent-base": { + "version": "4.2.0", + "bundled": true, + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "agentkeepalive": { + "version": "3.4.1", + "bundled": true, + "dev": true, + "requires": { + "humanize-ms": "^1.2.1" + } + }, + "ajv": { + "version": "5.5.2", + "bundled": true, + "dev": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-align": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.0.0" + } + }, + "ansi-regex": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "ansi-styles": { + "version": "3.2.1", + "bundled": true, + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "ansicolors": { + "version": "0.3.2", + "bundled": true, + "dev": true + }, + "ansistyles": { + "version": "0.1.3", + "bundled": true, + "dev": true + }, + "aproba": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "archy": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "are-we-there-yet": { + "version": "1.1.4", + "bundled": true, + "dev": true, + "requires": { + "delegates": "^1.0.0", + "readable-stream": "^2.0.6" + } + }, + "asap": { + "version": "2.0.6", + "bundled": true, + "dev": true + }, + "asn1": { + "version": "0.2.4", + "bundled": true, + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "asynckit": { + "version": "0.4.0", + "bundled": true, + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "bundled": true, + "dev": true + }, + "aws4": { + "version": "1.8.0", + "bundled": true, + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bin-links": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.0", + "cmd-shim": "^2.0.2", + "gentle-fs": "^2.0.0", + "graceful-fs": "^4.1.11", + "write-file-atomic": "^2.3.0" + } + }, + "block-stream": { + "version": "0.0.9", + "bundled": true, + "dev": true, + "requires": { + "inherits": "~2.0.0" + } + }, + "bluebird": { + "version": "3.5.1", + "bundled": true, + "dev": true + }, + "boxen": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-align": "^2.0.0", + "camelcase": "^4.0.0", + "chalk": "^2.0.1", + "cli-boxes": "^1.0.0", + "string-width": "^2.0.0", + "term-size": "^1.2.0", + "widest-line": "^2.0.0" + } + }, + "brace-expansion": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "buffer-from": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "builtin-modules": { + "version": "1.1.1", + "bundled": true, + "dev": true + }, + "builtins": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "byline": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "byte-size": { + "version": "4.0.3", + "bundled": true, + "dev": true + }, + "cacache": { + "version": "11.2.0", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "figgy-pudding": "^3.1.0", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.3", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^6.0.0", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "call-limit": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "camelcase": { + "version": "4.1.0", + "bundled": true, + "dev": true + }, + "capture-stack-trace": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "caseless": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "chalk": { + "version": "2.4.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chownr": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "ci-info": { + "version": "1.4.0", + "bundled": true, + "dev": true + }, + "cidr-regex": { + "version": "2.0.9", + "bundled": true, + "dev": true, + "requires": { + "ip-regex": "^2.1.0" + } + }, + "cli-boxes": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "cli-columns": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.0.0", + "strip-ansi": "^3.0.1" + } + }, + "cli-table3": { + "version": "0.5.0", + "bundled": true, + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + } + }, + "cliui": { + "version": "4.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1", + "strip-ansi": "^4.0.0", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "clone": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "cmd-shim": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "mkdirp": "~0.5.0" + } + }, + "co": { + "version": "4.6.0", + "bundled": true, + "dev": true + }, + "code-point-at": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "color-convert": { + "version": "1.9.1", + "bundled": true, + "dev": true, + "requires": { + "color-name": "^1.1.1" + } + }, + "color-name": { + "version": "1.1.3", + "bundled": true, + "dev": true + }, + "colors": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "optional": true + }, + "columnify": { + "version": "1.5.4", + "bundled": true, + "dev": true, + "requires": { + "strip-ansi": "^3.0.0", + "wcwidth": "^1.0.0" + } + }, + "combined-stream": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "concat-map": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "concat-stream": { + "version": "1.6.2", + "bundled": true, + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "config-chain": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "ini": "^1.3.4", + "proto-list": "~1.2.1" + } + }, + "configstore": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "dot-prop": "^4.1.0", + "graceful-fs": "^4.1.2", + "make-dir": "^1.0.0", + "unique-string": "^1.0.0", + "write-file-atomic": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "console-control-strings": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "copy-concurrently": { + "version": "1.0.5", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "create-error-class": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "capture-stack-trace": "^1.0.0" + } + }, + "cross-spawn": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypto-random-string": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "cyclist": { + "version": "0.2.2", + "bundled": true, + "dev": true + }, + "dashdash": { + "version": "1.14.1", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "bundled": true, + "dev": true + } + } + }, + "debuglog": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "decamelize": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "decode-uri-component": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "deep-extend": { + "version": "0.5.1", + "bundled": true, + "dev": true + }, + "defaults": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "delayed-stream": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "delegates": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "detect-indent": { + "version": "5.0.0", + "bundled": true, + "dev": true + }, + "detect-newline": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "dezalgo": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "asap": "^2.0.0", + "wrappy": "1" + } + }, + "dot-prop": { + "version": "4.2.0", + "bundled": true, + "dev": true, + "requires": { + "is-obj": "^1.0.0" + } + }, + "dotenv": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "duplexer3": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "duplexify": { + "version": "3.6.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "bundled": true, + "dev": true, + "optional": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "editor": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "encoding": { + "version": "0.1.12", + "bundled": true, + "dev": true, + "requires": { + "iconv-lite": "~0.4.13" + } + }, + "end-of-stream": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "err-code": { + "version": "1.1.2", + "bundled": true, + "dev": true + }, + "errno": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "requires": { + "prr": "~1.0.1" + } + }, + "es6-promise": { + "version": "4.2.4", + "bundled": true, + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "execa": { + "version": "0.7.0", + "bundled": true, + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "extend": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "figgy-pudding": { + "version": "3.4.1", + "bundled": true, + "dev": true + }, + "find-npm-prefix": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "find-up": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "locate-path": "^2.0.0" + } + }, + "flush-write-stream": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.4" + } + }, + "forever-agent": { + "version": "0.6.1", + "bundled": true, + "dev": true + }, + "form-data": { + "version": "2.3.2", + "bundled": true, + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "1.0.6", + "mime-types": "^2.1.12" + } + }, + "from2": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-minipass": { + "version": "1.2.5", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "fs-vacuum": { + "version": "1.2.10", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "path-is-inside": "^1.0.1", + "rimraf": "^2.5.2" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "fs.realpath": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "fstream": { + "version": "1.0.11", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "inherits": "~2.0.0", + "mkdirp": ">=0.5 0", + "rimraf": "2" + } + }, + "gauge": { + "version": "2.7.4", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.0.3", + "console-control-strings": "^1.0.0", + "has-unicode": "^2.0.0", + "object-assign": "^4.1.0", + "signal-exit": "^3.0.0", + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wide-align": "^1.1.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "genfun": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "gentle-fs": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.2", + "fs-vacuum": "^1.2.10", + "graceful-fs": "^4.1.11", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "path-is-inside": "^1.0.2", + "read-cmd-shim": "^1.0.1", + "slide": "^1.1.6" + }, + "dependencies": { + "iferr": { + "version": "0.1.5", + "bundled": true, + "dev": true + } + } + }, + "get-caller-file": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "get-stream": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "getpass": { + "version": "0.1.7", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.2", + "bundled": true, + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "global-dirs": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "requires": { + "ini": "^1.3.4" + } + }, + "got": { + "version": "6.7.1", + "bundled": true, + "dev": true, + "requires": { + "create-error-class": "^3.0.0", + "duplexer3": "^0.1.4", + "get-stream": "^3.0.0", + "is-redirect": "^1.0.0", + "is-retry-allowed": "^1.0.0", + "is-stream": "^1.0.0", + "lowercase-keys": "^1.0.0", + "safe-buffer": "^5.0.1", + "timed-out": "^4.0.0", + "unzip-response": "^2.0.1", + "url-parse-lax": "^1.0.0" + } + }, + "graceful-fs": { + "version": "4.1.11", + "bundled": true, + "dev": true + }, + "har-schema": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "har-validator": { + "version": "5.1.0", + "bundled": true, + "dev": true, + "requires": { + "ajv": "^5.3.0", + "har-schema": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "has-unicode": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "hosted-git-info": { + "version": "2.7.1", + "bundled": true, + "dev": true + }, + "http-cache-semantics": { + "version": "3.8.1", + "bundled": true, + "dev": true + }, + "http-proxy-agent": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "4", + "debug": "3.1.0" + } + }, + "http-signature": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "debug": "^3.1.0" + } + }, + "humanize-ms": { + "version": "1.2.1", + "bundled": true, + "dev": true, + "requires": { + "ms": "^2.0.0" + } + }, + "iconv-lite": { + "version": "0.4.23", + "bundled": true, + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "iferr": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "ignore-walk": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "minimatch": "^3.0.4" + } + }, + "import-lazy": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "imurmurhash": { + "version": "0.1.4", + "bundled": true, + "dev": true + }, + "inflight": { + "version": "1.0.6", + "bundled": true, + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.3", + "bundled": true, + "dev": true + }, + "ini": { + "version": "1.3.5", + "bundled": true, + "dev": true + }, + "init-package-json": { + "version": "1.10.3", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.1", + "npm-package-arg": "^4.0.0 || ^5.0.0 || ^6.0.0", + "promzard": "^0.3.0", + "read": "~1.0.1", + "read-package-json": "1 || 2", + "semver": "2.x || 3.x || 4 || 5", + "validate-npm-package-license": "^3.0.1", + "validate-npm-package-name": "^3.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "ip": { + "version": "1.1.5", + "bundled": true, + "dev": true + }, + "ip-regex": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "is-builtin-module": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtin-modules": "^1.0.0" + } + }, + "is-ci": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "ci-info": "^1.0.0" + } + }, + "is-cidr": { + "version": "2.0.6", + "bundled": true, + "dev": true, + "requires": { + "cidr-regex": "^2.0.8" + } + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "is-installed-globally": { + "version": "0.1.0", + "bundled": true, + "dev": true, + "requires": { + "global-dirs": "^0.1.0", + "is-path-inside": "^1.0.0" + } + }, + "is-npm": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-obj": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "is-path-inside": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-redirect": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "is-retry-allowed": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isarray": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "isexe": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "isstream": { + "version": "0.1.2", + "bundled": true, + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "bundled": true, + "dev": true, + "optional": true + }, + "json-parse-better-errors": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "bundled": true, + "dev": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "bundled": true, + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "bundled": true, + "dev": true + }, + "jsonparse": { + "version": "1.3.1", + "bundled": true, + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "latest-version": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "package-json": "^4.0.0" + } + }, + "lazy-property": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "lcid": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "invert-kv": "^1.0.0" + } + }, + "libcipm": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "bin-links": "^1.1.2", + "bluebird": "^3.5.1", + "find-npm-prefix": "^1.0.2", + "graceful-fs": "^4.1.11", + "lock-verify": "^2.0.2", + "mkdirp": "^0.5.1", + "npm-lifecycle": "^2.0.3", + "npm-logical-tree": "^1.2.1", + "npm-package-arg": "^6.1.0", + "pacote": "^8.1.6", + "protoduck": "^5.0.0", + "read-package-json": "^2.0.13", + "rimraf": "^2.6.2", + "worker-farm": "^1.6.0" + } + }, + "libnpmhook": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "figgy-pudding": "^3.1.0", + "npm-registry-fetch": "^3.0.0" + }, + "dependencies": { + "npm-registry-fetch": { + "version": "3.1.1", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "figgy-pudding": "^3.1.0", + "lru-cache": "^4.1.2", + "make-fetch-happen": "^4.0.0", + "npm-package-arg": "^6.0.0" + } + } + } + }, + "libnpx": { + "version": "10.2.0", + "bundled": true, + "dev": true, + "requires": { + "dotenv": "^5.0.1", + "npm-package-arg": "^6.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.0", + "update-notifier": "^2.3.0", + "which": "^1.3.0", + "y18n": "^4.0.0", + "yargs": "^11.0.0" + } + }, + "locate-path": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lock-verify": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "npm-package-arg": "^5.1.2 || 6", + "semver": "^5.4.1" + } + }, + "lockfile": { + "version": "1.0.4", + "bundled": true, + "dev": true, + "requires": { + "signal-exit": "^3.0.2" + } + }, + "lodash._baseindexof": { + "version": "3.1.0", + "bundled": true, + "dev": true + }, + "lodash._baseuniq": { + "version": "4.6.0", + "bundled": true, + "dev": true, + "requires": { + "lodash._createset": "~4.0.0", + "lodash._root": "~3.0.0" + } + }, + "lodash._bindcallback": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash._cacheindexof": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "lodash._createcache": { + "version": "3.1.2", + "bundled": true, + "dev": true, + "requires": { + "lodash._getnative": "^3.0.0" + } + }, + "lodash._createset": { + "version": "4.0.3", + "bundled": true, + "dev": true + }, + "lodash._getnative": { + "version": "3.9.1", + "bundled": true, + "dev": true + }, + "lodash._root": { + "version": "3.0.1", + "bundled": true, + "dev": true + }, + "lodash.clonedeep": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.restparam": { + "version": "3.6.1", + "bundled": true, + "dev": true + }, + "lodash.union": { + "version": "4.6.0", + "bundled": true, + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "bundled": true, + "dev": true + }, + "lodash.without": { + "version": "4.4.0", + "bundled": true, + "dev": true + }, + "lowercase-keys": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "lru-cache": { + "version": "4.1.3", + "bundled": true, + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "make-fetch-happen": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^11.0.1", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.1", + "lru-cache": "^4.1.2", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^4.0.0", + "ssri": "^6.0.0" + } + }, + "meant": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "mem": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "mime-db": { + "version": "1.35.0", + "bundled": true, + "dev": true + }, + "mime-types": { + "version": "2.1.19", + "bundled": true, + "dev": true, + "requires": { + "mime-db": "~1.35.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "bundled": true, + "dev": true + }, + "minimatch": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "0.0.8", + "bundled": true, + "dev": true + }, + "minipass": { + "version": "2.3.3", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.2", + "yallist": "^3.0.0" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "minizlib": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "minipass": "^2.2.1" + } + }, + "mississippi": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mkdirp": { + "version": "0.5.1", + "bundled": true, + "dev": true, + "requires": { + "minimist": "0.0.8" + } + }, + "move-concurrently": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "mute-stream": { + "version": "0.0.7", + "bundled": true, + "dev": true + }, + "node-fetch-npm": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "encoding": "^0.1.11", + "json-parse-better-errors": "^1.0.0", + "safe-buffer": "^5.1.1" + } + }, + "node-gyp": { + "version": "3.8.0", + "bundled": true, + "dev": true, + "requires": { + "fstream": "^1.0.0", + "glob": "^7.0.3", + "graceful-fs": "^4.1.2", + "mkdirp": "^0.5.0", + "nopt": "2 || 3", + "npmlog": "0 || 1 || 2 || 3 || 4", + "osenv": "0", + "request": "^2.87.0", + "rimraf": "2", + "semver": "~5.3.0", + "tar": "^2.0.0", + "which": "1" + }, + "dependencies": { + "nopt": { + "version": "3.0.6", + "bundled": true, + "dev": true, + "requires": { + "abbrev": "1" + } + }, + "semver": { + "version": "5.3.0", + "bundled": true, + "dev": true + }, + "tar": { + "version": "2.2.1", + "bundled": true, + "dev": true, + "requires": { + "block-stream": "*", + "fstream": "^1.0.2", + "inherits": "2" + } + } + } + }, + "nopt": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "abbrev": "1", + "osenv": "^0.1.4" + } + }, + "normalize-package-data": { + "version": "2.4.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.1.4", + "is-builtin-module": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "npm-audit-report": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "cli-table3": "^0.5.0", + "console-control-strings": "^1.1.0" + } + }, + "npm-bundled": { + "version": "1.0.5", + "bundled": true, + "dev": true + }, + "npm-cache-filename": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "npm-install-checks": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "semver": "^2.3.0 || 3.x || 4 || 5" + } + }, + "npm-lifecycle": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "byline": "^5.0.0", + "graceful-fs": "^4.1.11", + "node-gyp": "^3.8.0", + "resolve-from": "^4.0.0", + "slide": "^1.1.6", + "uid-number": "0.0.6", + "umask": "^1.1.0", + "which": "^1.3.1" + } + }, + "npm-logical-tree": { + "version": "1.2.1", + "bundled": true, + "dev": true + }, + "npm-package-arg": { + "version": "6.1.0", + "bundled": true, + "dev": true, + "requires": { + "hosted-git-info": "^2.6.0", + "osenv": "^0.1.5", + "semver": "^5.5.0", + "validate-npm-package-name": "^3.0.0" + } + }, + "npm-packlist": { + "version": "1.1.11", + "bundled": true, + "dev": true, + "requires": { + "ignore-walk": "^3.0.1", + "npm-bundled": "^1.0.1" + } + }, + "npm-pick-manifest": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "npm-package-arg": "^6.0.0", + "semver": "^5.4.1" + } + }, + "npm-profile": { + "version": "3.0.2", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.2 || 2", + "make-fetch-happen": "^2.5.0 || 3 || 4" + } + }, + "npm-registry-client": { + "version": "8.6.0", + "bundled": true, + "dev": true, + "requires": { + "concat-stream": "^1.5.2", + "graceful-fs": "^4.1.6", + "normalize-package-data": "~1.0.1 || ^2.0.0", + "npm-package-arg": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0", + "npmlog": "2 || ^3.1.0 || ^4.0.0", + "once": "^1.3.3", + "request": "^2.74.0", + "retry": "^0.10.0", + "safe-buffer": "^5.1.1", + "semver": "2 >=2.2.1 || 3.x || 4 || 5", + "slide": "^1.1.3", + "ssri": "^5.2.4" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "bundled": true, + "dev": true + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + } + } + }, + "npm-registry-fetch": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "figgy-pudding": "^2.0.1", + "lru-cache": "^4.1.2", + "make-fetch-happen": "^3.0.0", + "npm-package-arg": "^6.0.0", + "safe-buffer": "^5.1.1" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + }, + "dependencies": { + "mississippi": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + } + } + }, + "figgy-pudding": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "make-fetch-happen": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "agentkeepalive": "^3.4.1", + "cacache": "^10.0.4", + "http-cache-semantics": "^3.8.1", + "http-proxy-agent": "^2.1.0", + "https-proxy-agent": "^2.2.0", + "lru-cache": "^4.1.2", + "mississippi": "^3.0.0", + "node-fetch-npm": "^2.0.2", + "promise-retry": "^1.1.1", + "socks-proxy-agent": "^3.0.1", + "ssri": "^5.2.4" + } + }, + "pump": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "smart-buffer": { + "version": "1.1.15", + "bundled": true, + "dev": true + }, + "socks": { + "version": "1.1.10", + "bundled": true, + "dev": true, + "requires": { + "ip": "^1.1.4", + "smart-buffer": "^1.0.13" + } + }, + "socks-proxy-agent": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "^4.1.0", + "socks": "^1.1.10" + } + }, + "ssri": { + "version": "5.3.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "bundled": true, + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "npm-user-validate": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "npmlog": { + "version": "4.1.2", + "bundled": true, + "dev": true, + "requires": { + "are-we-there-yet": "~1.1.2", + "console-control-strings": "~1.1.0", + "gauge": "~2.7.3", + "set-blocking": "~2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "oauth-sign": { + "version": "0.9.0", + "bundled": true, + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "bundled": true, + "dev": true + }, + "once": { + "version": "1.4.0", + "bundled": true, + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "opener": { + "version": "1.5.0", + "bundled": true, + "dev": true + }, + "os-homedir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "os-locale": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "osenv": { + "version": "0.1.5", + "bundled": true, + "dev": true, + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "p-limit": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-try": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "package-json": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "got": "^6.7.1", + "registry-auth-token": "^3.0.1", + "registry-url": "^3.0.3", + "semver": "^5.1.0" + } + }, + "pacote": { + "version": "8.1.6", + "bundled": true, + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "cacache": "^11.0.2", + "get-stream": "^3.0.0", + "glob": "^7.1.2", + "lru-cache": "^4.1.3", + "make-fetch-happen": "^4.0.1", + "minimatch": "^3.0.4", + "minipass": "^2.3.3", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "normalize-package-data": "^2.4.0", + "npm-package-arg": "^6.1.0", + "npm-packlist": "^1.1.10", + "npm-pick-manifest": "^2.1.0", + "osenv": "^0.1.5", + "promise-inflight": "^1.0.1", + "promise-retry": "^1.1.1", + "protoduck": "^5.0.0", + "rimraf": "^2.6.2", + "safe-buffer": "^5.1.2", + "semver": "^5.5.0", + "ssri": "^6.0.0", + "tar": "^4.4.3", + "unique-filename": "^1.1.0", + "which": "^1.3.0" + } + }, + "parallel-transform": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "cyclist": "~0.2.2", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "path-exists": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "path-key": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "pify": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "bundled": true, + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "promise-retry": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "err-code": "^1.0.0", + "retry": "^0.10.0" + }, + "dependencies": { + "retry": { + "version": "0.10.1", + "bundled": true, + "dev": true + } + } + }, + "promzard": { + "version": "0.3.0", + "bundled": true, + "dev": true, + "requires": { + "read": "1" + } + }, + "proto-list": { + "version": "1.2.4", + "bundled": true, + "dev": true + }, + "protoduck": { + "version": "5.0.0", + "bundled": true, + "dev": true, + "requires": { + "genfun": "^4.0.1" + } + }, + "prr": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "pseudomap": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "psl": { + "version": "1.1.29", + "bundled": true, + "dev": true + }, + "pump": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "bundled": true, + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "1.4.1", + "bundled": true, + "dev": true + }, + "qrcode-terminal": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "qs": { + "version": "6.5.2", + "bundled": true, + "dev": true + }, + "query-string": { + "version": "6.1.0", + "bundled": true, + "dev": true, + "requires": { + "decode-uri-component": "^0.2.0", + "strict-uri-encode": "^2.0.0" + } + }, + "qw": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "rc": { + "version": "1.2.7", + "bundled": true, + "dev": true, + "requires": { + "deep-extend": "^0.5.1", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + }, + "dependencies": { + "minimist": { + "version": "1.2.0", + "bundled": true, + "dev": true + } + } + }, + "read": { + "version": "1.0.7", + "bundled": true, + "dev": true, + "requires": { + "mute-stream": "~0.0.4" + } + }, + "read-cmd-shim": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2" + } + }, + "read-installed": { + "version": "4.0.3", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "graceful-fs": "^4.1.2", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0", + "semver": "2 || 3 || 4 || 5", + "slide": "~1.1.3", + "util-extend": "^1.0.1" + } + }, + "read-package-json": { + "version": "2.0.13", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.1.1", + "graceful-fs": "^4.1.2", + "json-parse-better-errors": "^1.0.1", + "normalize-package-data": "^2.0.0", + "slash": "^1.0.0" + } + }, + "read-package-tree": { + "version": "5.2.1", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "once": "^1.3.0", + "read-package-json": "^2.0.0", + "readdir-scoped-modules": "^1.0.0" + } + }, + "readable-stream": { + "version": "2.3.6", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "readdir-scoped-modules": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "debuglog": "^1.0.1", + "dezalgo": "^1.0.0", + "graceful-fs": "^4.1.2", + "once": "^1.3.0" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "bundled": true, + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "registry-url": { + "version": "3.1.0", + "bundled": true, + "dev": true, + "requires": { + "rc": "^1.0.1" + } + }, + "request": { + "version": "2.88.0", + "bundled": true, + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.0", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.4.3", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "bundled": true, + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "bundled": true, + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "retry": { + "version": "0.12.0", + "bundled": true, + "dev": true + }, + "rimraf": { + "version": "2.6.2", + "bundled": true, + "dev": true, + "requires": { + "glob": "^7.0.5" + } + }, + "run-queue": { + "version": "1.0.3", + "bundled": true, + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "safe-buffer": { + "version": "5.1.2", + "bundled": true, + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "semver": { + "version": "5.5.0", + "bundled": true, + "dev": true + }, + "semver-diff": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "semver": "^5.0.3" + } + }, + "set-blocking": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "sha": { + "version": "2.0.1", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "readable-stream": "^2.0.2" + } + }, + "shebang-command": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "bundled": true, + "dev": true + }, + "slash": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "slide": { + "version": "1.1.6", + "bundled": true, + "dev": true + }, + "smart-buffer": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "socks": { + "version": "2.2.0", + "bundled": true, + "dev": true, + "requires": { + "ip": "^1.1.5", + "smart-buffer": "^4.0.1" + } + }, + "socks-proxy-agent": { + "version": "4.0.1", + "bundled": true, + "dev": true, + "requires": { + "agent-base": "~4.2.0", + "socks": "~2.2.0" + } + }, + "sorted-object": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "sorted-union-stream": { + "version": "2.1.3", + "bundled": true, + "dev": true, + "requires": { + "from2": "^1.3.0", + "stream-iterate": "^1.1.0" + }, + "dependencies": { + "from2": { + "version": "1.3.0", + "bundled": true, + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "~1.1.10" + } + }, + "isarray": { + "version": "0.0.1", + "bundled": true, + "dev": true + }, + "readable-stream": { + "version": "1.1.14", + "bundled": true, + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.1", + "isarray": "0.0.1", + "string_decoder": "~0.10.x" + } + }, + "string_decoder": { + "version": "0.10.31", + "bundled": true, + "dev": true + } + } + }, + "spdx-correct": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "bundled": true, + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "sshpk": { + "version": "1.14.2", + "bundled": true, + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.0", + "bundled": true, + "dev": true + }, + "stream-each": { + "version": "1.2.2", + "bundled": true, + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-iterate": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "stream-shift": "^1.0.0" + } + }, + "stream-shift": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strict-uri-encode": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "string-width": { + "version": "2.1.1", + "bundled": true, + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "stringify-package": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strip-ansi": { + "version": "3.0.1", + "bundled": true, + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-eof": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "supports-color": { + "version": "5.4.0", + "bundled": true, + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "tar": { + "version": "4.4.6", + "bundled": true, + "dev": true, + "requires": { + "chownr": "^1.0.1", + "fs-minipass": "^1.2.5", + "minipass": "^2.3.3", + "minizlib": "^1.1.0", + "mkdirp": "^0.5.0", + "safe-buffer": "^5.1.2", + "yallist": "^3.0.2" + }, + "dependencies": { + "yallist": { + "version": "3.0.2", + "bundled": true, + "dev": true + } + } + }, + "term-size": { + "version": "1.2.0", + "bundled": true, + "dev": true, + "requires": { + "execa": "^0.7.0" + } + }, + "text-table": { + "version": "0.2.0", + "bundled": true, + "dev": true + }, + "through": { + "version": "2.3.8", + "bundled": true, + "dev": true + }, + "through2": { + "version": "2.0.3", + "bundled": true, + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "timed-out": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "tiny-relative-date": { + "version": "1.3.0", + "bundled": true, + "dev": true + }, + "tough-cookie": { + "version": "2.4.3", + "bundled": true, + "dev": true, + "requires": { + "psl": "^1.1.24", + "punycode": "^1.4.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "bundled": true, + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "bundled": true, + "dev": true, + "optional": true + }, + "typedarray": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "uid-number": { + "version": "0.0.6", + "bundled": true, + "dev": true + }, + "umask": { + "version": "1.1.0", + "bundled": true, + "dev": true + }, + "unique-filename": { + "version": "1.1.0", + "bundled": true, + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "unique-string": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "crypto-random-string": "^1.0.0" + } + }, + "unpipe": { + "version": "1.0.0", + "bundled": true, + "dev": true + }, + "unzip-response": { + "version": "2.0.1", + "bundled": true, + "dev": true + }, + "update-notifier": { + "version": "2.5.0", + "bundled": true, + "dev": true, + "requires": { + "boxen": "^1.2.1", + "chalk": "^2.0.1", + "configstore": "^3.0.0", + "import-lazy": "^2.1.0", + "is-ci": "^1.0.10", + "is-installed-globally": "^0.1.0", + "is-npm": "^1.0.0", + "latest-version": "^3.0.0", + "semver-diff": "^2.0.0", + "xdg-basedir": "^3.0.0" + } + }, + "url-parse-lax": { + "version": "1.0.0", + "bundled": true, + "dev": true, + "requires": { + "prepend-http": "^1.0.1" + } + }, + "util-deprecate": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "util-extend": { + "version": "1.0.3", + "bundled": true, + "dev": true + }, + "uuid": { + "version": "3.3.2", + "bundled": true, + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "bundled": true, + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "validate-npm-package-name": { + "version": "3.0.0", + "bundled": true, + "dev": true, + "requires": { + "builtins": "^1.0.3" + } + }, + "verror": { + "version": "1.10.0", + "bundled": true, + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "bundled": true, + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "which": { + "version": "1.3.1", + "bundled": true, + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "bundled": true, + "dev": true + }, + "wide-align": { + "version": "1.1.2", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.2" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "widest-line": { + "version": "2.0.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^2.1.1" + } + }, + "worker-farm": { + "version": "1.6.0", + "bundled": true, + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "bundled": true, + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "bundled": true, + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "bundled": true, + "dev": true + }, + "write-file-atomic": { + "version": "2.3.0", + "bundled": true, + "dev": true, + "requires": { + "graceful-fs": "^4.1.11", + "imurmurhash": "^0.1.4", + "signal-exit": "^3.0.2" + } + }, + "xdg-basedir": { + "version": "3.0.0", + "bundled": true, + "dev": true + }, + "xtend": { + "version": "4.0.1", + "bundled": true, + "dev": true + }, + "y18n": { + "version": "4.0.0", + "bundled": true, + "dev": true + }, + "yallist": { + "version": "2.1.2", + "bundled": true, + "dev": true + }, + "yargs": { + "version": "11.0.0", + "bundled": true, + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^1.1.1", + "find-up": "^2.1.0", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^9.0.2" + }, + "dependencies": { + "y18n": { + "version": "3.2.1", + "bundled": true, + "dev": true + } + } + }, + "yargs-parser": { + "version": "9.0.2", + "bundled": true, + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "dev": true, + "requires": { + "path-key": "^2.0.0" + } + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", + "dev": true + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "dev": true, + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "dev": true, + "requires": { + "isobject": "^3.0.0" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "optimist": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", + "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "dev": true, + "requires": { + "minimist": "~0.0.1", + "wordwrap": "~0.0.2" + }, + "dependencies": { + "minimist": { + "version": "0.0.10", + "resolved": "http://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", + "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", + "dev": true + } + } + }, + "os-locale": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.0.1.tgz", + "integrity": "sha512-7g5e7dmXPtzcP4bgsZ8ixDVqA7oWYuEz4lOSujeWyliPai4gfVDiFIcwBg3aGCPnmSGfzOKTK3ccPn0CKv3DBw==", + "dev": true, + "requires": { + "execa": "^0.10.0", + "lcid": "^2.0.0", + "mem": "^4.0.0" + }, + "dependencies": { + "execa": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.10.0.tgz", + "integrity": "sha512-7XOMnz8Ynx1gGo/3hyV9loYNPWM94jG3+3T3Y8tsfSstFmETmENCMU/A/zj8Lyaj1lkgEepKepvd6240tBRvlw==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=", + "dev": true + } + } + }, + "os-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/os-name/-/os-name-2.0.1.tgz", + "integrity": "sha1-uaOGNhwXrjohc27wWZQFyajF3F4=", + "dev": true, + "requires": { + "macos-release": "^1.0.0", + "win-release": "^1.0.0" + } + }, + "p-defer": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", + "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", + "dev": true + }, + "p-filter": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-filter/-/p-filter-1.0.0.tgz", + "integrity": "sha1-Yp0xcVAgnI/VCLoTdxPvS7kg6ds=", + "dev": true, + "requires": { + "p-map": "^1.0.0" + } + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", + "dev": true + }, + "p-is-promise": { + "version": "1.1.0", + "resolved": "http://registry.npmjs.org/p-is-promise/-/p-is-promise-1.1.0.tgz", + "integrity": "sha1-nJRWmJ6fZYgBewQ01WCXZ1w9oF4=", + "dev": true + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "dev": true, + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + }, + "dependencies": { + "p-limit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.0.0.tgz", + "integrity": "sha512-fl5s52lI5ahKCernzzIyAP0QAZbGIovtVHGwpcu1Jr/EpzLVDI2myISHwGqK7m8uQFugVWSrbxH7XnhGtvEc+A==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-try": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.0.0.tgz", + "integrity": "sha512-hMp0onDKIajHfIkdRk3P4CdCmErkYAxxDtP3Wx/4nZ3aGlau2VKh3mZpcuFkH27WQkL/3WBCPOktzA9ZOAnMQQ==", + "dev": true + } + } + }, + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==", + "dev": true + }, + "p-reduce": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-reduce/-/p-reduce-1.0.0.tgz", + "integrity": "sha1-GMKw3ZNqRpClKfgjH1ig/bakffo=", + "dev": true + }, + "p-retry": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-2.0.0.tgz", + "integrity": "sha512-ZbCuzAmiwJ45q4evp/IG9D+5MUllGSUeCWwPt3j/tdYSi1KPkSD+46uqmAA1LhccDhOXv8kYZKNb8x78VflzfA==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", + "dev": true + }, + "parse-github-url": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/parse-github-url/-/parse-github-url-1.0.2.tgz", + "integrity": "sha512-kgBf6avCbO3Cn6+RnzRGLkUsv4ZVqv/VfAYkRsyBcgkshNvVBkRn1FEZcW0Jb+npXQWm2vHPnnOqFteZxRRGNw==", + "dev": true + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "parse-url": { + "version": "1.3.11", + "resolved": "https://registry.npmjs.org/parse-url/-/parse-url-1.3.11.tgz", + "integrity": "sha1-V8FUKKuKiSsfQ4aWRccR0OFEtVQ=", + "dev": true, + "requires": { + "is-ssh": "^1.3.0", + "protocols": "^1.4.0" + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", + "dev": true + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", + "dev": true + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", + "dev": true + }, + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pkg-conf": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/pkg-conf/-/pkg-conf-2.1.0.tgz", + "integrity": "sha1-ISZRTKbyq/69FoWW3xi6V4Z/AFg=", + "dev": true, + "requires": { + "find-up": "^2.0.0", + "load-json-file": "^4.0.0" + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.0.tgz", + "integrity": "sha512-MtEC1TqN0EU5nephaJ4rAtThHtC86dNN9qCuEhtshvpVBkAW5ZO7BASN9REnF9eoXGcRub+pFuKEpOHE+HbEMw==", + "dev": true + }, + "protocols": { + "version": "1.4.6", + "resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.6.tgz", + "integrity": "sha1-+LsmPqG1/Xp2BNJri+Ob13Z4v4o=", + "dev": true + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "quick-lru": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-1.1.0.tgz", + "integrity": "sha1-Q2CxfGETatOAeDl/8RQW4Ybc+7g=", + "dev": true + }, + "rc": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", + "integrity": "sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==", + "dev": true, + "requires": { + "deep-extend": "^0.6.0", + "ini": "~1.3.0", + "minimist": "^1.2.0", + "strip-json-comments": "~2.0.1" + } + }, + "read-pkg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", + "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", + "dev": true, + "requires": { + "load-json-file": "^4.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^3.0.0" + } + }, + "read-pkg-up": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", + "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", + "dev": true, + "requires": { + "find-up": "^3.0.0", + "read-pkg": "^3.0.0" + }, + "dependencies": { + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + } + } + }, + "readable-stream": { + "version": "2.3.6", + "resolved": "http://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", + "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "redent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-2.0.0.tgz", + "integrity": "sha1-wbIAe0LVfrE4kHmzyDM2OdXhzKo=", + "dev": true, + "requires": { + "indent-string": "^3.0.0", + "strip-indent": "^2.0.0" + } + }, + "redeyed": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", + "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", + "dev": true, + "requires": { + "esprima": "~4.0.0" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "registry-auth-token": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/registry-auth-token/-/registry-auth-token-3.3.2.tgz", + "integrity": "sha512-JL39c60XlzCVgNrO+qq68FoNb56w/m7JYvGR2jT5iR1xBrUA3Mfx5Twk5rqTThPmQKMWydGmq8oFtDlxfrmxnQ==", + "dev": true, + "requires": { + "rc": "^1.1.6", + "safe-buffer": "^5.0.1" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", + "dev": true + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "dev": true, + "requires": { + "ret": "~0.1.10" + } + }, + "semantic-release": { + "version": "15.9.16", + "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-15.9.16.tgz", + "integrity": "sha512-5RWqMFwDBXzIaNGUdnJxI4aCd4DtKtdc+5ZNjNWXABEmkimZVuuzZhMaTVNhHYfSuVUqWG9GuATEKhjlVoTzfQ==", + "dev": true, + "requires": { + "@semantic-release/commit-analyzer": "^6.0.0", + "@semantic-release/error": "^2.2.0", + "@semantic-release/github": "^5.0.0", + "@semantic-release/npm": "^5.0.1", + "@semantic-release/release-notes-generator": "^7.0.0", + "aggregate-error": "^1.0.0", + "cosmiconfig": "^5.0.1", + "debug": "^4.0.0", + "env-ci": "^3.0.0", + "execa": "^1.0.0", + "figures": "^2.0.0", + "find-versions": "^2.0.0", + "get-stream": "^4.0.0", + "git-log-parser": "^1.2.0", + "git-url-parse": "^10.0.1", + "hook-std": "^1.1.0", + "hosted-git-info": "^2.7.1", + "lodash": "^4.17.4", + "marked": "^0.5.0", + "marked-terminal": "^3.0.0", + "p-locate": "^3.0.0", + "p-reduce": "^1.0.0", + "read-pkg-up": "^4.0.0", + "resolve-from": "^4.0.0", + "semver": "^5.4.1", + "signale": "^1.2.1", + "yargs": "^12.0.0" + } + }, + "semver": { + "version": "5.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.5.1.tgz", + "integrity": "sha512-PqpAxfrEhlSUWge8dwIp4tZnQ25DIOthpiaHNIthsjEFQD6EvqUKUDM7L8O2rShkFccYo1VjJR0coWfNkCubRw==", + "dev": true + }, + "semver-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/semver-regex/-/semver-regex-1.0.0.tgz", + "integrity": "sha1-kqSWkGX5xwxpR1PVUkj8aPj2Usk=", + "dev": true + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-value": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.0.tgz", + "integrity": "sha512-hw0yxk9GT/Hr5yJEYnHNKYXkIA8mVJgd9ditYZCe16ZczcaELYYcfvaXesNACk2O8O0nTiPQcQhGUQj8JLzeeg==", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "dev": true, + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", + "dev": true + }, + "signal-exit": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", + "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", + "dev": true + }, + "signale": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/signale/-/signale-1.3.0.tgz", + "integrity": "sha512-TyFhsQ9wZDYDfsPqWMyjCxsDoMwfpsT0130Mce7wDiVCSDdtWSg83dOqoj8aGpGCs3n1YPcam6sT1OFPuGT/OQ==", + "dev": true, + "requires": { + "chalk": "^2.3.2", + "figures": "^2.0.0", + "pkg-conf": "^2.1.0" + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", + "dev": true + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "dev": true, + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "dev": true, + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "dev": true, + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "dev": true, + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "dev": true, + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "dev": true, + "requires": { + "kind-of": "^3.2.0" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.2.tgz", + "integrity": "sha512-MjqsvNwyz1s0k81Goz/9vRBe9SZdB09Bdw+/zYyO+3CuPk6fouTaxscHkgtE8jKvf01kVfl8riHzERQ/kefaSA==", + "dev": true, + "requires": { + "atob": "^2.1.1", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", + "dev": true + }, + "spawn-error-forwarder": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/spawn-error-forwarder/-/spawn-error-forwarder-1.0.0.tgz", + "integrity": "sha1-Gv2Uc46ZmwNG17n8NzvlXgdXcCk=", + "dev": true + }, + "spdx-correct": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.0.0.tgz", + "integrity": "sha512-N19o9z5cEyc8yQQPukRCZ9EUmb4HUpnrmaL/fxS2pBo2jbfcFRVuFZ/oFC+vZz0MNNk0h80iMn5/S6qGZOL5+g==", + "dev": true, + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.1.0.tgz", + "integrity": "sha512-4K1NsmrlCU1JJgUrtgEeTVyfx8VaYea9J9LvARxhbHtVtohPs/gFGG5yy49beySjlIMhhXZ4QqujIZEfS4l6Cg==", + "dev": true + }, + "spdx-expression-parse": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", + "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "dev": true, + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.1.tgz", + "integrity": "sha512-TfOfPcYGBB5sDuPn3deByxPhmfegAhpDYKSOXZQN81Oyrrif8ZCodOLzK3AesELnCx03kikhyDwh0pfvvQvF8w==", + "dev": true + }, + "split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "requires": { + "through": "2" + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "dev": true, + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "split2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/split2/-/split2-2.2.0.tgz", + "integrity": "sha512-RAb22TG39LhI31MbreBgIuKiIKhVsawfTgEGqKHTK87aG+ul/PB8Sqoi3I7kVdRWiCfrKxK3uo4/YUkpNvhPbw==", + "dev": true, + "requires": { + "through2": "^2.0.2" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "dev": true, + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "dev": true, + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "stream-combiner2": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz", + "integrity": "sha1-+02KFCDqNidk4hrUeAOXvry0HL4=", + "dev": true, + "requires": { + "duplexer2": "~0.1.0", + "readable-stream": "^2.0.2" + } + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", + "dev": true + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "text-extensions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/text-extensions/-/text-extensions-1.8.0.tgz", + "integrity": "sha512-mVzjRxuWnDKs/qH1rbOJEVHLlSX9kty9lpi7lMvLgU9S74mQ8/Ozg9UPcKxShh0qG2NZ+NyPOPpcZU4C1Eld9A==", + "dev": true + }, + "through": { + "version": "2.3.8", + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true + }, + "through2": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.3.tgz", + "integrity": "sha1-AARWmzfHx0ujnEPzzteNGtlBQL4=", + "dev": true, + "requires": { + "readable-stream": "^2.1.5", + "xtend": "~4.0.1" + } + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "dev": true, + "requires": { + "kind-of": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "dev": true, + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "dev": true, + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "dev": true, + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "traverse": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz", + "integrity": "sha1-y99WD9e5r2MlAv7UD5GMFX6pcTc=", + "dev": true + }, + "trim-newlines": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-2.0.0.tgz", + "integrity": "sha1-tAPQuRvlDDMd/EuC7s6yLD3hbSA=", + "dev": true + }, + "trim-off-newlines": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-off-newlines/-/trim-off-newlines-1.0.1.tgz", + "integrity": "sha1-n5up2e+odkw4dpi8v+sshI8RrbM=", + "dev": true + }, + "uglify-js": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.9.tgz", + "integrity": "sha512-8CJsbKOtEbnJsTyv6LE6m6ZKniqMiFWmm9sRbopbkGs3gMPPfd3Fh8iIA4Ykv5MgaTbqHr4BaoGLJLZNhsrW1Q==", + "dev": true, + "optional": true, + "requires": { + "commander": "~2.17.1", + "source-map": "~0.6.1" + }, + "dependencies": { + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true + } + } + }, + "union-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.0.tgz", + "integrity": "sha1-XHHDTLW61dzr4+oM0IIHulqhrqQ=", + "dev": true, + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^0.4.3" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "dev": true, + "requires": { + "is-extendable": "^0.1.0" + } + }, + "set-value": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-0.4.3.tgz", + "integrity": "sha1-fbCPnT0i3H945Trzw79GZuzfzPE=", + "dev": true, + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.1", + "to-object-path": "^0.3.0" + } + } + } + }, + "universal-user-agent": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-2.0.1.tgz", + "integrity": "sha512-vz+heWVydO0iyYAa65VHD7WZkYzhl7BeNVy4i54p4TF8OMiLSXdbuQe4hm+fmWAsL+rVibaQHXfhvkw3c1Ws2w==", + "dev": true, + "requires": { + "os-name": "^2.0.1" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "dev": true, + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "dev": true, + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "dev": true, + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url-join": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.0.tgz", + "integrity": "sha1-TTNA6AfTdzvamZH4MFrNzCpmXSo=", + "dev": true + }, + "url-template": { + "version": "2.0.8", + "resolved": "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz", + "integrity": "sha1-/FZaPMy/93MMd19WQflVV5FDnyE=", + "dev": true + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "win-release": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz", + "integrity": "sha1-X6VeAr58qTTt/BJmVjLoSbcuUgk=", + "dev": true, + "requires": { + "semver": "^5.0.1" + } + }, + "wordwrap": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", + "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", + "dev": true + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "http://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "dev": true, + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "dev": true, + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "dev": true, + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xregexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.0.0.tgz", + "integrity": "sha512-PHyM+sQouu7xspQQwELlGwwd05mXUFqwFYfqPO0cC7x4fxyHnnuetmQr6CjJiafIDoH4MogHb9dOoJzR/Y4rFg==", + "dev": true + }, + "xtend": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz", + "integrity": "sha1-pcbVMr5lbiPbgg77lDofBJmNY68=", + "dev": true + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.2.tgz", + "integrity": "sha512-e7SkEx6N6SIZ5c5H22RTZae61qtn3PYUE8JYbBFlK9sYmh3DMQ6E5ygtaG/2BW0JZi4WGgTR2IV5ChqlqrDGVQ==", + "dev": true, + "requires": { + "cliui": "^4.0.0", + "decamelize": "^2.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^1.0.1", + "os-locale": "^3.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1 || ^4.0.0", + "yargs-parser": "^10.1.0" + }, + "dependencies": { + "decamelize": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-2.0.0.tgz", + "integrity": "sha512-Ikpp5scV3MSYxY39ymh45ZLEecsTdv/Xj2CaQfI8RLMuwi7XvjX9H/fhraiSuU+C5w5NTDu4ZU72xNiZnurBPg==", + "dev": true, + "requires": { + "xregexp": "4.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + } + } + }, + "yargs-parser": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-10.1.0.tgz", + "integrity": "sha512-VCIyR1wJoEBZUqk5PA+oOBF6ypbwh5aNB3I50guxAL/quggdfs4TtNHQrSazFA3fYZ+tEqfs0zIGlv0c/rgjbQ==", + "dev": true, + "requires": { + "camelcase": "^4.1.0" + } + } + } +} diff --git a/vendor/felixfbecker/language-server-protocol/package.json b/vendor/felixfbecker/language-server-protocol/package.json new file mode 100644 index 00000000..314301e0 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/package.json @@ -0,0 +1,15 @@ +{ + "private": true, + "repository": { + "type": "git", + "url": "https://github.com/felixfbecker/php-language-server-protocol" + }, + "release": { + "verifyConditions": "@semantic-release/github", + "prepare": [], + "publish": "@semantic-release/github" + }, + "devDependencies": { + "semantic-release": "^15.9.16" + } +} diff --git a/vendor/felixfbecker/language-server-protocol/psalm-baseline.xml b/vendor/felixfbecker/language-server-protocol/psalm-baseline.xml new file mode 100644 index 00000000..ca496853 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/psalm-baseline.xml @@ -0,0 +1,146 @@ + + + + + $range + + + + + $triggerKind + + + + + $label + + + + + $text + + + + + $message + + + + + $range + + + + + $firstTriggerCharacter + + + + + $insertSpaces + $tabSize + + + + + $contents + + + + + $range + $uri + + + + + $language + $value + + + + + $kind + $value + + + + + $title + + + + + $name + + + + + $character + $line + + + + + $end + $start + + + + + $includeDeclaration + + + + + $reference + $symbol + + + + + $fqsen + + + + + $kind + $location + $name + + + + + $symbol + + + + + $text + + + + + $uri + + + + + $languageId + $text + $uri + $version + + + + + $newText + $range + + + + + $version + + + diff --git a/vendor/felixfbecker/language-server-protocol/psalm.xml b/vendor/felixfbecker/language-server-protocol/psalm.xml new file mode 100644 index 00000000..378f26fa --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/psalm.xml @@ -0,0 +1,16 @@ + + + + + + + + + diff --git a/vendor/felixfbecker/language-server-protocol/src/CallHierarchyClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/CallHierarchyClientCapabilities.php new file mode 100644 index 00000000..4062ada7 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CallHierarchyClientCapabilities.php @@ -0,0 +1,22 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ChangeAnnotation.php b/vendor/felixfbecker/language-server-protocol/src/ChangeAnnotation.php new file mode 100644 index 00000000..39868e53 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ChangeAnnotation.php @@ -0,0 +1,39 @@ +label = $label; + $this->needsConfirmation = $needsConfirmation; + $this->description = $description; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilities.php new file mode 100644 index 00000000..c706dce7 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilities.php @@ -0,0 +1,97 @@ +workspace = $workspace; + $this->textDocument = $textDocument; + $this->window = $window; + $this->general = $general; + $this->experimental = $experimental; + $this->xfilesProvider = $xfilesProvider; + $this->xcontentProvider = $xcontentProvider; + $this->xcacheProvider = $xcacheProvider; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesGeneral.php b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesGeneral.php new file mode 100644 index 00000000..70463d07 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesGeneral.php @@ -0,0 +1,33 @@ +regularExpressions = $regularExpressions; + $this->markdown = $markdown; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesWindow.php b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesWindow.php new file mode 100644 index 00000000..8d6551f5 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesWindow.php @@ -0,0 +1,47 @@ +workDoneProgress = $workDoneProgress; + $this->showMessage = $showMessage; + $this->showDocument = $showDocument; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesWorkspace.php b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesWorkspace.php new file mode 100644 index 00000000..00e92475 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ClientCapabilitiesWorkspace.php @@ -0,0 +1,99 @@ +dynamicRegistration = $dynamicRegistration; + $this->didCreate = $didCreate; + $this->willCreate = $willCreate; + $this->didRename = $didRename; + $this->willRename = $willRename; + $this->didDelete = $didDelete; + $this->willDelete = $willDelete; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ClientInfo.php b/vendor/felixfbecker/language-server-protocol/src/ClientInfo.php new file mode 100644 index 00000000..5903a0c8 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ClientInfo.php @@ -0,0 +1,29 @@ +name = $name; + $this->version = $version; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeAction.php b/vendor/felixfbecker/language-server-protocol/src/CodeAction.php new file mode 100644 index 00000000..90133465 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeAction.php @@ -0,0 +1,146 @@ +title = $title; + $this->kind = $kind; + $this->diagnostics = $diagnostics; + $this->isPreferred = $isPreferred; + $this->disabled = $disabled; + $this->edit = $edit; + $this->command = $command; + $this->data = $data; + } + + /** + * This is needed because VSCode Does not like nulls + * meaning if a null is sent then this will not compute + * + * @return mixed + */ + #[\ReturnTypeWillChange] + public function jsonSerialize() + { + return array_filter(get_object_vars($this)); + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilities.php new file mode 100644 index 00000000..8abb115e --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilities.php @@ -0,0 +1,95 @@ +dynamicRegistration = $dynamicRegistration; + $this->codeActionLiteralSupport = $codeActionLiteralSupport; + $this->isPreferredSupport = $isPreferredSupport; + $this->disabledSupport = $disabledSupport; + $this->dataSupport = $dataSupport; + $this->resolveSupport = $resolveSupport; + $this->honorsChangeAnnotations = $honorsChangeAnnotations; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupport.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupport.php new file mode 100644 index 00000000..ea3583f3 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupport.php @@ -0,0 +1,20 @@ +codeActionKind = $codeActionKind; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupportcodeActionKind.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupportcodeActionKind.php new file mode 100644 index 00000000..3d510737 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesCodeActionLiteralSupportcodeActionKind.php @@ -0,0 +1,28 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesResolveSupport.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesResolveSupport.php new file mode 100644 index 00000000..89118ec1 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionClientCapabilitiesResolveSupport.php @@ -0,0 +1,21 @@ +properties = $properties; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionContext.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionContext.php new file mode 100644 index 00000000..3766334a --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionContext.php @@ -0,0 +1,51 @@ +diagnostics = $diagnostics; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionDisabled.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionDisabled.php new file mode 100644 index 00000000..a16d9642 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionDisabled.php @@ -0,0 +1,21 @@ +reason = $reason; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeActionKind.php b/vendor/felixfbecker/language-server-protocol/src/CodeActionKind.php new file mode 100644 index 00000000..b1329b16 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeActionKind.php @@ -0,0 +1,87 @@ +href = $href; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeLens.php b/vendor/felixfbecker/language-server-protocol/src/CodeLens.php new file mode 100644 index 00000000..25998e3c --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeLens.php @@ -0,0 +1,46 @@ +range = $range; + $this->command = $command; + $this->data = $data; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeLensClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/CodeLensClientCapabilities.php new file mode 100644 index 00000000..706733e5 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeLensClientCapabilities.php @@ -0,0 +1,20 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeLensOptions.php b/vendor/felixfbecker/language-server-protocol/src/CodeLensOptions.php new file mode 100644 index 00000000..7db0d4df --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeLensOptions.php @@ -0,0 +1,21 @@ +resolveProvider = $resolveProvider; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CodeLensWorkspaceClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/CodeLensWorkspaceClientCapabilities.php new file mode 100644 index 00000000..e97a8b1d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CodeLensWorkspaceClientCapabilities.php @@ -0,0 +1,25 @@ +refreshSupport = $refreshSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/Command.php b/vendor/felixfbecker/language-server-protocol/src/Command.php new file mode 100644 index 00000000..97e0f0cb --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/Command.php @@ -0,0 +1,42 @@ +title = $title; + $this->command = $command; + $this->arguments = $arguments; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilities.php new file mode 100644 index 00000000..2f1ad4a6 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilities.php @@ -0,0 +1,65 @@ +dynamicRegistration = $dynamicRegistration; + $this->completionItem = $completionItem; + $this->contextSupport = $contextSupport; + $this->insertTextMode = $insertTextMode; + $this->completionList = $completionList; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItem.php b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItem.php new file mode 100644 index 00000000..d1c1eb7f --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItem.php @@ -0,0 +1,140 @@ +snippetSupport = $snippetSupport; + $this->commitCharactersSupport = $commitCharactersSupport; + $this->documentationFormat = $documentationFormat; + $this->deprecatedSupport = $deprecatedSupport; + $this->preselectSupport = $preselectSupport; + $this->tagSupport = $tagSupport; + $this->insertReplaceSupport = $insertReplaceSupport; + $this->resolveSupport = $resolveSupport; + $this->insertTextModeSupport = $insertTextModeSupport; + $this->labelDetailsSupport = $labelDetailsSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemInsertTextModeSupport.php b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemInsertTextModeSupport.php new file mode 100644 index 00000000..68d4ead8 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemInsertTextModeSupport.php @@ -0,0 +1,24 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemResolveSupport.php b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemResolveSupport.php new file mode 100644 index 00000000..9afadfcd --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemResolveSupport.php @@ -0,0 +1,24 @@ +properties = $properties; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemTagSupport.php b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemTagSupport.php new file mode 100644 index 00000000..b80a4152 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionItemTagSupport.php @@ -0,0 +1,24 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionList.php b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionList.php new file mode 100644 index 00000000..2a23ed93 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionClientCapabilitiesCompletionList.php @@ -0,0 +1,30 @@ +itemDefaults = $itemDefaults; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionContext.php b/vendor/felixfbecker/language-server-protocol/src/CompletionContext.php new file mode 100644 index 00000000..1c6d43fb --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionContext.php @@ -0,0 +1,31 @@ +triggerKind = $triggerKind; + $this->triggerCharacter = $triggerCharacter; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionItem.php b/vendor/felixfbecker/language-server-protocol/src/CompletionItem.php new file mode 100644 index 00000000..ec8e4122 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionItem.php @@ -0,0 +1,248 @@ +` and a completion item with an `insertText` of + * `console` is provided it will only insert `sole`. Therefore it is + * recommended to use `textEdit` instead since it avoids additional client + * side interpretation. + * + * @var string|null + */ + public $insertText; + + /** + * The format of the insert text. The format applies to both the + * `insertText` property and the `newText` property of a provided + * `textEdit`. If omitted defaults to `InsertTextFormat.PlainText`. + * + * Please note that the insertTextFormat doesn't apply to + * `additionalTextEdits`. + * + * @var int|null + * @see InsertTextFormat + */ + public $insertTextFormat; + + /** + * How whitespace and indentation is handled during completion + * item insertion. If not provided the client's default value depends on + * the `textDocument.completion.insertTextMode` client capability. + * + * @since 3.16.0 + * @since 3.17.0 - support for `textDocument.completion.insertTextMode` + * + * @var int|null + * @see InsertTextMode + */ + public $insertTextMode; + + /** + * An edit which is applied to a document when selecting this completion. + * When an edit is provided the value of `insertText` is ignored. + * + * *Note:* The range of the edit must be a single line range and it must + * contain the position at which completion has been requested. + * + * Most editors support two different operations when accepting a completion + * item. One is to insert a completion text and the other is to replace an + * existing text with a completion text. Since this can usually not be + * predetermined by a server it can report both ranges. Clients need to + * signal support for `InsertReplaceEdit`s via the + * `textDocument.completion.completionItem.insertReplaceSupport` client + * capability property. + * + * *Note 1:* The text edit's range as well as both ranges from an insert + * replace edit must be a [single line] and they must contain the position + * at which completion has been requested. + * *Note 2:* If an `InsertReplaceEdit` is returned the edit's insert range + * must be a prefix of the edit's replace range, that means it must be + * contained and starting at the same position. + * + * @since 3.16.0 additional type `InsertReplaceEdit` + * + * @var TextEdit|null + */ + public $textEdit; + + /** + * An optional array of additional text edits that are applied when + * selecting this completion. Edits must not overlap (including the same + * insert position) with the main edit nor with themselves. + * + * Additional text edits should be used to change text unrelated to the + * current cursor position (for example adding an import statement at the + * top of the file if the completion item will insert an unqualified type). + * + * @var TextEdit[]|null + */ + public $additionalTextEdits; + + /** + * An optional set of characters that when pressed while this completion is + * active will accept it first and then type that character. *Note* that all + * commit characters should have `length=1` and that superfluous characters + * will be ignored. + * + * @var string[]|null + */ + public $commitCharacters; + + /** + * An optional command that is executed *after* inserting this completion. *Note* that + * additional modifications to the current document should be described with the + * additionalTextEdits-property. + * + * @var Command|null + */ + public $command; + + /** + * An data entry field that is preserved on a completion item between + * a completion and a completion resolve request. + * + * @var mixed + */ + public $data; + + /** + * @param string $label + * @param int|null $kind + * @param string|null $detail + * @param string|null $documentation + * @param string|null $sortText + * @param string|null $filterText + * @param string|null $insertText + * @param TextEdit|null $textEdit + * @param TextEdit[]|null $additionalTextEdits + * @param Command|null $command + * @param mixed|null $data + * @param int|null $insertTextFormat + */ + public function __construct( + string $label = null, + int $kind = null, + string $detail = null, + string $documentation = null, + string $sortText = null, + string $filterText = null, + string $insertText = null, + TextEdit $textEdit = null, + array $additionalTextEdits = null, + Command $command = null, + $data = null, + int $insertTextFormat = null + ) { + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->label = $label; + $this->kind = $kind; + $this->detail = $detail; + $this->documentation = $documentation; + $this->sortText = $sortText; + $this->filterText = $filterText; + $this->insertText = $insertText; + $this->textEdit = $textEdit; + $this->additionalTextEdits = $additionalTextEdits; + $this->command = $command; + $this->data = $data; + $this->insertTextFormat = $insertTextFormat; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionItemKind.php b/vendor/felixfbecker/language-server-protocol/src/CompletionItemKind.php new file mode 100644 index 00000000..f2897f9b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionItemKind.php @@ -0,0 +1,71 @@ +detail = $detail; + $this->description = $description; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionItemTag.php b/vendor/felixfbecker/language-server-protocol/src/CompletionItemTag.php new file mode 100644 index 00000000..e88af50c --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionItemTag.php @@ -0,0 +1,11 @@ +items = $items; + $this->isIncomplete = $isIncomplete; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionOptions.php b/vendor/felixfbecker/language-server-protocol/src/CompletionOptions.php new file mode 100644 index 00000000..f0c60f96 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionOptions.php @@ -0,0 +1,33 @@ +resolveProvider = $resolveProvider; + $this->triggerCharacters = $triggerCharacters; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/CompletionTriggerKind.php b/vendor/felixfbecker/language-server-protocol/src/CompletionTriggerKind.php new file mode 100644 index 00000000..f84c48b5 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/CompletionTriggerKind.php @@ -0,0 +1,16 @@ +range = $range; + $this->rangeLength = $rangeLength; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->text = $text; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DeclarationClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DeclarationClientCapabilities.php new file mode 100644 index 00000000..bab0442e --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DeclarationClientCapabilities.php @@ -0,0 +1,31 @@ +dynamicRegistration = $dynamicRegistration; + $this->linkSupport = $linkSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DefinitionClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DefinitionClientCapabilities.php new file mode 100644 index 00000000..bc01efda --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DefinitionClientCapabilities.php @@ -0,0 +1,29 @@ +dynamicRegistration = $dynamicRegistration; + $this->linkSupport = $linkSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DependencyReference.php b/vendor/felixfbecker/language-server-protocol/src/DependencyReference.php new file mode 100644 index 00000000..afb6d30d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DependencyReference.php @@ -0,0 +1,27 @@ +attributes = $attributes ?? new \stdClass; + $this->hints = $hints; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/Diagnostic.php b/vendor/felixfbecker/language-server-protocol/src/Diagnostic.php new file mode 100644 index 00000000..657bf0fe --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/Diagnostic.php @@ -0,0 +1,121 @@ +message = $message; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->range = $range; + $this->code = $code; + $this->severity = $severity; + $this->source = $source; + $this->codeDescription = $codeDescription; + $this->tags = $tags; + $this->relatedInformation = $relatedInformation; + $this->data = $data; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DiagnosticRelatedInformation.php b/vendor/felixfbecker/language-server-protocol/src/DiagnosticRelatedInformation.php new file mode 100644 index 00000000..78e2b9b4 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DiagnosticRelatedInformation.php @@ -0,0 +1,31 @@ +location = $location; + $this->message = $message; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DiagnosticSeverity.php b/vendor/felixfbecker/language-server-protocol/src/DiagnosticSeverity.php new file mode 100644 index 00000000..d11ed95d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DiagnosticSeverity.php @@ -0,0 +1,26 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DidChangeWatchedFilesClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DidChangeWatchedFilesClientCapabilities.php new file mode 100644 index 00000000..e82b1841 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DidChangeWatchedFilesClientCapabilities.php @@ -0,0 +1,21 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentColorClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DocumentColorClientCapabilities.php new file mode 100644 index 00000000..93f55150 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentColorClientCapabilities.php @@ -0,0 +1,20 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentFormattingClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DocumentFormattingClientCapabilities.php new file mode 100644 index 00000000..97261175 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentFormattingClientCapabilities.php @@ -0,0 +1,20 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentHighlight.php b/vendor/felixfbecker/language-server-protocol/src/DocumentHighlight.php new file mode 100644 index 00000000..4c329fce --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentHighlight.php @@ -0,0 +1,32 @@ +range = $range; + $this->kind = $kind; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentHighlightClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DocumentHighlightClientCapabilities.php new file mode 100644 index 00000000..f7fe47b0 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentHighlightClientCapabilities.php @@ -0,0 +1,18 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentHighlightKind.php b/vendor/felixfbecker/language-server-protocol/src/DocumentHighlightKind.php new file mode 100644 index 00000000..21c5001e --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentHighlightKind.php @@ -0,0 +1,24 @@ +dynamicRegistration = $dynamicRegistration; + $this->tooltipSupport = $tooltipSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentOnTypeFormattingClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DocumentOnTypeFormattingClientCapabilities.php new file mode 100644 index 00000000..0101fc13 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentOnTypeFormattingClientCapabilities.php @@ -0,0 +1,20 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentOnTypeFormattingOptions.php b/vendor/felixfbecker/language-server-protocol/src/DocumentOnTypeFormattingOptions.php new file mode 100644 index 00000000..149ea36c --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentOnTypeFormattingOptions.php @@ -0,0 +1,33 @@ +firstTriggerCharacter = $firstTriggerCharacter; + $this->moreTriggerCharacter = $moreTriggerCharacter; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentRangeFormattingClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DocumentRangeFormattingClientCapabilities.php new file mode 100644 index 00000000..5edca75b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentRangeFormattingClientCapabilities.php @@ -0,0 +1,20 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilities.php new file mode 100644 index 00000000..eaa10a4f --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilities.php @@ -0,0 +1,64 @@ +dynamicRegistration = $dynamicRegistration; + $this->symbolKind = $symbolKind; + $this->hierarchicalDocumentSymbolSupport = $hierarchicalDocumentSymbolSupport; + $this->tagSupport = $tagSupport; + $this->labelSupport = $labelSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilitiesSymbolKind.php b/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilitiesSymbolKind.php new file mode 100644 index 00000000..536e5e9c --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilitiesSymbolKind.php @@ -0,0 +1,37 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilitiesTagSupport.php b/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilitiesTagSupport.php new file mode 100644 index 00000000..f423a1a6 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/DocumentSymbolClientCapabilitiesTagSupport.php @@ -0,0 +1,32 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ErrorCode.php b/vendor/felixfbecker/language-server-protocol/src/ErrorCode.php new file mode 100644 index 00000000..ffbc0755 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ErrorCode.php @@ -0,0 +1,17 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ExecuteCommandOptions.php b/vendor/felixfbecker/language-server-protocol/src/ExecuteCommandOptions.php new file mode 100644 index 00000000..0f77b607 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ExecuteCommandOptions.php @@ -0,0 +1,23 @@ +commands = $commands; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/FailureHandlingKind.php b/vendor/felixfbecker/language-server-protocol/src/FailureHandlingKind.php new file mode 100644 index 00000000..c0c48db2 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/FailureHandlingKind.php @@ -0,0 +1,36 @@ +uri = $uri; + $this->type = $type; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/FoldingRangeClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/FoldingRangeClientCapabilities.php new file mode 100644 index 00000000..4efe925b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/FoldingRangeClientCapabilities.php @@ -0,0 +1,42 @@ +dynamicRegistration = $dynamicRegistration; + $this->rangeLimit = $rangeLimit; + $this->lineFoldingOnly = $lineFoldingOnly; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/FormattingOptions.php b/vendor/felixfbecker/language-server-protocol/src/FormattingOptions.php new file mode 100644 index 00000000..1d9c1327 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/FormattingOptions.php @@ -0,0 +1,33 @@ +tabSize = $tabSize; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->insertSpaces = $insertSpaces; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/Hover.php b/vendor/felixfbecker/language-server-protocol/src/Hover.php new file mode 100644 index 00000000..8c39c97d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/Hover.php @@ -0,0 +1,34 @@ +contents = $contents; + $this->range = $range; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/HoverClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/HoverClientCapabilities.php new file mode 100644 index 00000000..2ba234cb --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/HoverClientCapabilities.php @@ -0,0 +1,36 @@ +dynamicRegistration = $dynamicRegistration; + $this->contentFormat = $contentFormat; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ImplementationClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/ImplementationClientCapabilities.php new file mode 100644 index 00000000..9caef5dd --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ImplementationClientCapabilities.php @@ -0,0 +1,32 @@ +dynamicRegistration = $dynamicRegistration; + $this->linkSupport = $linkSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/InitializeResult.php b/vendor/felixfbecker/language-server-protocol/src/InitializeResult.php new file mode 100644 index 00000000..59333eae --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/InitializeResult.php @@ -0,0 +1,29 @@ +capabilities = $capabilities; + $this->serverInfo = $serverInfo; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/InitializeResultServerInfo.php b/vendor/felixfbecker/language-server-protocol/src/InitializeResultServerInfo.php new file mode 100644 index 00000000..040b5839 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/InitializeResultServerInfo.php @@ -0,0 +1,26 @@ +name = $name; + $this->version = $version; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/InsertTextFormat.php b/vendor/felixfbecker/language-server-protocol/src/InsertTextFormat.php new file mode 100644 index 00000000..459904f5 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/InsertTextFormat.php @@ -0,0 +1,25 @@ +<3tabs>foo. Accepting a + * multi line completion item is indented using 2 tabs and all + * following lines inserted will be indented using 2 tabs as well. + */ + const ADJUST_INDENTATION = 2; +} diff --git a/vendor/felixfbecker/language-server-protocol/src/LinkedEditingRangeClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/LinkedEditingRangeClientCapabilities.php new file mode 100644 index 00000000..05c51086 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/LinkedEditingRangeClientCapabilities.php @@ -0,0 +1,23 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/Location.php b/vendor/felixfbecker/language-server-protocol/src/Location.php new file mode 100644 index 00000000..7429620d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/Location.php @@ -0,0 +1,27 @@ +uri = $uri; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->range = $range; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/LogMessage.php b/vendor/felixfbecker/language-server-protocol/src/LogMessage.php new file mode 100644 index 00000000..9c6f38d6 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/LogMessage.php @@ -0,0 +1,30 @@ +type = $type; + $this->message = $message; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/LogTrace.php b/vendor/felixfbecker/language-server-protocol/src/LogTrace.php new file mode 100644 index 00000000..dfba3645 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/LogTrace.php @@ -0,0 +1,39 @@ +message = $message; + $this->verbose = $verbose; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/MarkdownClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/MarkdownClientCapabilities.php new file mode 100644 index 00000000..5af49455 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/MarkdownClientCapabilities.php @@ -0,0 +1,47 @@ +parser = $parser; + $this->version = $version; + $this->allowedTags = $allowedTags; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/MarkedString.php b/vendor/felixfbecker/language-server-protocol/src/MarkedString.php new file mode 100644 index 00000000..402a8793 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/MarkedString.php @@ -0,0 +1,24 @@ +language = $language; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->value = $value; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/MarkupContent.php b/vendor/felixfbecker/language-server-protocol/src/MarkupContent.php new file mode 100644 index 00000000..5b7e6db1 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/MarkupContent.php @@ -0,0 +1,52 @@ +kind = $kind; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->value = $value; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/MarkupKind.php b/vendor/felixfbecker/language-server-protocol/src/MarkupKind.php new file mode 100644 index 00000000..962fb031 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/MarkupKind.php @@ -0,0 +1,23 @@ +title = $title; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/MessageType.php b/vendor/felixfbecker/language-server-protocol/src/MessageType.php new file mode 100644 index 00000000..1d01540b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/MessageType.php @@ -0,0 +1,29 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/PackageDescriptor.php b/vendor/felixfbecker/language-server-protocol/src/PackageDescriptor.php new file mode 100644 index 00000000..9f26856b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/PackageDescriptor.php @@ -0,0 +1,26 @@ +name = $name; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ParameterInformation.php b/vendor/felixfbecker/language-server-protocol/src/ParameterInformation.php new file mode 100644 index 00000000..a94bb671 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ParameterInformation.php @@ -0,0 +1,45 @@ +label = $label; + $this->documentation = $documentation; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/Position.php b/vendor/felixfbecker/language-server-protocol/src/Position.php new file mode 100644 index 00000000..26c5f1e6 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/Position.php @@ -0,0 +1,67 @@ +line = $line; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->character = $character; + } + + /** + * Compares this position to another position + * Returns + * - 0 if the positions match + * - a negative number if $this is before $position + * - a positive number otherwise + * + * @param Position $position + * @return int + */ + public function compare(Position $position): int + { + if ($this->line === $position->line && $this->character === $position->character) { + return 0; + } + + if ($this->line !== $position->line) { + return $this->line - $position->line; + } + + return $this->character - $position->character; + } + + /** + * Returns the offset of the position in a string + * + * @param string $content + * @return int + */ + public function toOffset(string $content): int + { + $lines = explode("\n", $content); + $slice = array_slice($lines, 0, $this->line); + return array_sum(array_map('strlen', $slice)) + count($slice) + $this->character; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/PrepareSupportDefaultBehavior.php b/vendor/felixfbecker/language-server-protocol/src/PrepareSupportDefaultBehavior.php new file mode 100644 index 00000000..fe374095 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/PrepareSupportDefaultBehavior.php @@ -0,0 +1,12 @@ +relatedInformation = $relatedInformation; + $this->tagSupport = $tagSupport; + $this->versionSupport = $versionSupport; + $this->codeDescriptionSupport = $codeDescriptionSupport; + $this->dataSupport = $dataSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/PublishDiagnosticsClientCapabilitiesTagSupport.php b/vendor/felixfbecker/language-server-protocol/src/PublishDiagnosticsClientCapabilitiesTagSupport.php new file mode 100644 index 00000000..7fe5df63 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/PublishDiagnosticsClientCapabilitiesTagSupport.php @@ -0,0 +1,23 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/Range.php b/vendor/felixfbecker/language-server-protocol/src/Range.php new file mode 100644 index 00000000..9077a523 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/Range.php @@ -0,0 +1,42 @@ +start = $start; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->end = $end; + } + + /** + * Checks if a position is within the range + * + * @param Position $position + * @return bool + */ + public function includes(Position $position): bool + { + return $this->start->compare($position) <= 0 && $this->end->compare($position) >= 0; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ReferenceClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/ReferenceClientCapabilities.php new file mode 100644 index 00000000..195f096f --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ReferenceClientCapabilities.php @@ -0,0 +1,18 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ReferenceContext.php b/vendor/felixfbecker/language-server-protocol/src/ReferenceContext.php new file mode 100644 index 00000000..fe941aee --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ReferenceContext.php @@ -0,0 +1,19 @@ +includeDeclaration = $includeDeclaration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ReferenceInformation.php b/vendor/felixfbecker/language-server-protocol/src/ReferenceInformation.php new file mode 100644 index 00000000..03a3be1d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ReferenceInformation.php @@ -0,0 +1,39 @@ +reference = $reference; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->symbol = $symbol; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/RegularExpressionsClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/RegularExpressionsClientCapabilities.php new file mode 100644 index 00000000..e3c16435 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/RegularExpressionsClientCapabilities.php @@ -0,0 +1,33 @@ +engine = $engine; + $this->version = $version; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/RenameClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/RenameClientCapabilities.php new file mode 100644 index 00000000..faaf258d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/RenameClientCapabilities.php @@ -0,0 +1,68 @@ +dynamicRegistration = $dynamicRegistration; + $this->prepareSupport = $prepareSupport; + $this->prepareSupportDefaultBehavior = $prepareSupportDefaultBehavior; + $this->honorsChangeAnnotations = $honorsChangeAnnotations; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ResourceOperationKind.php b/vendor/felixfbecker/language-server-protocol/src/ResourceOperationKind.php new file mode 100644 index 00000000..7bc9ca90 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ResourceOperationKind.php @@ -0,0 +1,24 @@ +dynamicRegistration = $dynamicRegistration; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SemanticTokensClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/SemanticTokensClientCapabilities.php new file mode 100644 index 00000000..a254dbd7 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SemanticTokensClientCapabilities.php @@ -0,0 +1,133 @@ +requests = $requests; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->tokenTypes = $tokenTypes; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->tokenModifiers = $tokenModifiers; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->formats = $formats; + $this->dynamicRegistration = $dynamicRegistration; + $this->overlappingTokenSupport = $overlappingTokenSupport; + $this->multilineTokenSupport = $multilineTokenSupport; + $this->serverCancelSupport = $serverCancelSupport; + $this->augmentsSyntaxTokens = $augmentsSyntaxTokens; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SemanticTokensClientCapabilitiesRequests.php b/vendor/felixfbecker/language-server-protocol/src/SemanticTokensClientCapabilitiesRequests.php new file mode 100644 index 00000000..62d2bfd6 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SemanticTokensClientCapabilitiesRequests.php @@ -0,0 +1,31 @@ +range = $range; + $this->full = $full; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SemanticTokensWorkspaceClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/SemanticTokensWorkspaceClientCapabilities.php new file mode 100644 index 00000000..ae1c0ed3 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SemanticTokensWorkspaceClientCapabilities.php @@ -0,0 +1,24 @@ +refreshSupport = $refreshSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ServerCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/ServerCapabilities.php new file mode 100644 index 00000000..3604321f --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ServerCapabilities.php @@ -0,0 +1,157 @@ +support = $support; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ShowMessageRequestClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/ShowMessageRequestClientCapabilities.php new file mode 100644 index 00000000..b19bd870 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ShowMessageRequestClientCapabilities.php @@ -0,0 +1,20 @@ +messageActionItem = $messageActionItem; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/ShowMessageRequestClientCapabilitiesMessageActionItem.php b/vendor/felixfbecker/language-server-protocol/src/ShowMessageRequestClientCapabilitiesMessageActionItem.php new file mode 100644 index 00000000..4303f18b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/ShowMessageRequestClientCapabilitiesMessageActionItem.php @@ -0,0 +1,22 @@ +additionalPropertiesSupport = $additionalPropertiesSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SignatureHelp.php b/vendor/felixfbecker/language-server-protocol/src/SignatureHelp.php new file mode 100644 index 00000000..c5b853eb --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SignatureHelp.php @@ -0,0 +1,61 @@ +signatures = $signatures; + $this->activeSignature = $activeSignature; + $this->activeParameter = $activeParameter; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilities.php new file mode 100644 index 00000000..58b48052 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilities.php @@ -0,0 +1,43 @@ +dynamicRegistration = $dynamicRegistration; + $this->signatureInformation = $signatureInformation; + $this->contextSupport = $contextSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilitiesSignatureInformation.php b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilitiesSignatureInformation.php new file mode 100644 index 00000000..a333846b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilitiesSignatureInformation.php @@ -0,0 +1,50 @@ +documentationFormat = $documentationFormat; + $this->parameterInformation = $parameterInformation; + $this->activeParameterSupport = $activeParameterSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilitiesSignatureInformationParameterInformation.php b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilitiesSignatureInformationParameterInformation.php new file mode 100644 index 00000000..72c7d004 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpClientCapabilitiesSignatureInformationParameterInformation.php @@ -0,0 +1,24 @@ +labelOffsetSupport = $labelOffsetSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SignatureHelpOptions.php b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpOptions.php new file mode 100644 index 00000000..04222ed4 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SignatureHelpOptions.php @@ -0,0 +1,24 @@ +triggerCharacters = $triggerCharacters; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SignatureInformation.php b/vendor/felixfbecker/language-server-protocol/src/SignatureInformation.php new file mode 100644 index 00000000..c7329feb --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SignatureInformation.php @@ -0,0 +1,66 @@ +label = $label; + $this->parameters = $parameters; + $this->documentation = $documentation; + $this->activeParameter = $activeParameter; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SymbolDescriptor.php b/vendor/felixfbecker/language-server-protocol/src/SymbolDescriptor.php new file mode 100644 index 00000000..2bcd4a41 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SymbolDescriptor.php @@ -0,0 +1,36 @@ +fqsen = $fqsen; + $this->package = $package; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SymbolInformation.php b/vendor/felixfbecker/language-server-protocol/src/SymbolInformation.php new file mode 100644 index 00000000..26688f97 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SymbolInformation.php @@ -0,0 +1,55 @@ +name = $name; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->kind = $kind; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->location = $location; + $this->containerName = $containerName; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SymbolKind.php b/vendor/felixfbecker/language-server-protocol/src/SymbolKind.php new file mode 100644 index 00000000..b59eecae --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SymbolKind.php @@ -0,0 +1,28 @@ +symbol = $symbol; + $this->location = $location; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/SymbolTag.php b/vendor/felixfbecker/language-server-protocol/src/SymbolTag.php new file mode 100644 index 00000000..6eed0476 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/SymbolTag.php @@ -0,0 +1,16 @@ +synchronization = $synchronization; + $this->completion = $completion; + $this->hover = $hover; + $this->signatureHelp = $signatureHelp; + $this->declaration = $declaration; + $this->definition = $definition; + $this->typeDefinition = $typeDefinition; + $this->implementation = $implementation; + $this->references = $references; + $this->documentHighlight = $documentHighlight; + $this->documentSymbol = $documentSymbol; + $this->codeAction = $codeAction; + $this->codeLens = $codeLens; + $this->documentLink = $documentLink; + $this->colorProvider = $colorProvider; + $this->formatting = $formatting; + $this->rangeFormatting = $rangeFormatting; + $this->onTypeFormatting = $onTypeFormatting; + $this->rename = $rename; + $this->publishDiagnostics = $publishDiagnostics; + $this->foldingRange = $foldingRange; + $this->selectionRange = $selectionRange; + $this->linkedEditingRange = $linkedEditingRange; + $this->callHierarchy = $callHierarchy; + $this->semanticTokens = $semanticTokens; + $this->moniker = $moniker; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/TextDocumentContentChangeEvent.php b/vendor/felixfbecker/language-server-protocol/src/TextDocumentContentChangeEvent.php new file mode 100644 index 00000000..77589fca --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/TextDocumentContentChangeEvent.php @@ -0,0 +1,39 @@ +range = $range; + $this->rangeLength = $rangeLength; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->text = $text; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/TextDocumentIdentifier.php b/vendor/felixfbecker/language-server-protocol/src/TextDocumentIdentifier.php new file mode 100644 index 00000000..fe9eaddc --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/TextDocumentIdentifier.php @@ -0,0 +1,22 @@ +uri = $uri; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/TextDocumentItem.php b/vendor/felixfbecker/language-server-protocol/src/TextDocumentItem.php new file mode 100644 index 00000000..cb9fd651 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/TextDocumentItem.php @@ -0,0 +1,50 @@ +uri = $uri; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->languageId = $languageId; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->version = $version; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->text = $text; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/TextDocumentSyncClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/TextDocumentSyncClientCapabilities.php new file mode 100644 index 00000000..6bb119c7 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/TextDocumentSyncClientCapabilities.php @@ -0,0 +1,49 @@ +dynamicRegistration = $dynamicRegistration; + $this->willSave = $willSave; + $this->willSaveWaitUntil = $willSaveWaitUntil; + $this->didSave = $didSave; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/TextDocumentSyncKind.php b/vendor/felixfbecker/language-server-protocol/src/TextDocumentSyncKind.php new file mode 100644 index 00000000..0adf6345 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/TextDocumentSyncKind.php @@ -0,0 +1,25 @@ +range = $range; + $this->newText = $newText; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/TokenFormat.php b/vendor/felixfbecker/language-server-protocol/src/TokenFormat.php new file mode 100644 index 00000000..73eff909 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/TokenFormat.php @@ -0,0 +1,8 @@ +dynamicRegistration = $dynamicRegistration; + $this->linkSupport = $linkSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/VersionedTextDocumentIdentifier.php b/vendor/felixfbecker/language-server-protocol/src/VersionedTextDocumentIdentifier.php new file mode 100644 index 00000000..6232713f --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/VersionedTextDocumentIdentifier.php @@ -0,0 +1,19 @@ +version = $version; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceEdit.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceEdit.php new file mode 100644 index 00000000..eaa71950 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceEdit.php @@ -0,0 +1,78 @@ + + */ + public $changes; + + /** + * Depending on the client capability + * `workspace.workspaceEdit.resourceOperations` document changes are either + * an array of `TextDocumentEdit`s to express changes to n different text + * documents where each text document edit addresses a specific version of + * a text document. Or it can contain above `TextDocumentEdit`s mixed with + * create, rename and delete file / folder operations. + * + * Whether a client supports versioned document edits is expressed via + * `workspace.workspaceEdit.documentChanges` client capability. + * + * If a client neither supports `documentChanges` nor + * `workspace.workspaceEdit.resourceOperations` then only plain `TextEdit`s + * using the `changes` property are supported. + * + * @var mixed + */ + public $documentChanges; + + /** + * A map of change annotations that can be referenced in + * `AnnotatedTextEdit`s or create, rename and delete file / folder + * operations. + * + * Whether clients honor this property depends on the client capability + * `workspace.changeAnnotationSupport`. + * + * @since 3.16.0 + * + * @var array|null + */ + public $changeAnnotations; + + /** + * @param array $changes + * @param mixed $documentChanges + * @param array|null $changeAnnotations + */ + public function __construct( + array $changes = [], + $documentChanges = null, + array $changeAnnotations = null + ) { + $this->changes = $changes; + $this->documentChanges = $documentChanges; + $this->changeAnnotations = $changeAnnotations; + } + + /** + * This is needed because VSCode Does not like nulls + * meaning if a null is sent then this will not compute + * + * @return mixed + */ + #[\ReturnTypeWillChange] + public function jsonSerialize() + { + return array_filter(get_object_vars($this)); + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceEditClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceEditClientCapabilities.php new file mode 100644 index 00000000..31e21c62 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceEditClientCapabilities.php @@ -0,0 +1,80 @@ +documentChanges = $documentChanges; + $this->resourceOperations = $resourceOperations; + $this->failureHandling = $failureHandling; + $this->normalizesLineEndings = $normalizesLineEndings; + $this->changeAnnotationSupport = $changeAnnotationSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceEditClientCapabilitiesChangeAnnotationSupport.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceEditClientCapabilitiesChangeAnnotationSupport.php new file mode 100644 index 00000000..8f62d562 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceEditClientCapabilitiesChangeAnnotationSupport.php @@ -0,0 +1,21 @@ +groupsOnLabel = $groupsOnLabel; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceFolder.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceFolder.php new file mode 100644 index 00000000..764e0c28 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceFolder.php @@ -0,0 +1,31 @@ +uri = $uri; + /** @psalm-suppress PossiblyNullPropertyAssignmentValue */ + $this->name = $name; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilities.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilities.php new file mode 100644 index 00000000..57550c1b --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilities.php @@ -0,0 +1,55 @@ +dynamicRegistration = $dynamicRegistration; + $this->symbolKind = $symbolKind; + $this->tagSupport = $tagSupport; + $this->resolveSupport = $resolveSupport; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesResolveSupport.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesResolveSupport.php new file mode 100644 index 00000000..b5450396 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesResolveSupport.php @@ -0,0 +1,24 @@ +properties = $properties; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesSymbolKind.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesSymbolKind.php new file mode 100644 index 00000000..7796d062 --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesSymbolKind.php @@ -0,0 +1,30 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesTagSupport.php b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesTagSupport.php new file mode 100644 index 00000000..1e21a84d --- /dev/null +++ b/vendor/felixfbecker/language-server-protocol/src/WorkspaceSymbolClientCapabilitiesTagSupport.php @@ -0,0 +1,30 @@ +valueSet = $valueSet; + } +} diff --git a/vendor/fidry/cpu-core-counter/LICENSE.md b/vendor/fidry/cpu-core-counter/LICENSE.md new file mode 100644 index 00000000..02442130 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/LICENSE.md @@ -0,0 +1,16 @@ +# The MIT License (MIT) + +Copyright (c) 2022 Théo FIDRY + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated +documentation files (the _Software_), to deal in the Software without restriction, including without limitation the +rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit +persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the +Software. + +THE SOFTWARE IS PROVIDED **AS IS**, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE +WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR +COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR +OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/vendor/fidry/cpu-core-counter/README.md b/vendor/fidry/cpu-core-counter/README.md new file mode 100644 index 00000000..8c86a187 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/README.md @@ -0,0 +1,114 @@ +# CPU Core Counter + +This package is a tiny utility to get the number of CPU cores. + +```sh +composer require fidry/cpu-core-counter +``` + + +## Usage + +```php +use Fidry\CpuCoreCounter\CpuCoreCounter; +use Fidry\CpuCoreCounter\NumberOfCpuCoreNotFound; +use Fidry\CpuCoreCounter\Finder\DummyCpuCoreFinder; + +$counter = new CpuCoreCounter(); + +try { + $counter->getCount(); // e.g. 8 +} catch (NumberOfCpuCoreNotFound) { + return 1; // Fallback value +} + +// An alternative form where we not want to catch the exception: + +$counter = new CpuCoreCounter([ + ...CpuCoreCounter::getDefaultFinders(), + new DummyCpuCoreFinder(1), // Fallback value +]); + +$counter->getCount(); // e.g. 8 + +``` + + +## Advanced usage + +### Changing the finders + +When creating `CpuCoreCounter`, you may want to change the order of the finders +used or disable a specific finder. You can easily do so by passing the finders +you want + +```php +// Remove WindowsWmicFinder +$finders = array_filter( + CpuCoreCounter::getDefaultFinders(), + static fn (CpuCoreFinder $finder) => !($finder instanceof WindowsWmicFinder) +); + +$cores = (new CpuCoreCounter($finders))->getCount(); +``` + +```php +// Use CPUInfo first & don't use Nproc +$finders = [ + new CpuInfoFinder(), + new WindowsWmicFinder(), + new HwLogicalFinder(), +]; + +$cores = (new CpuCoreCounter($finders))->getCount(); +``` + +### Choosing only logical or physical finders + +`FinderRegistry` provides two helpful entries: + +- `::getDefaultLogicalFinders()`: gives an ordered list of finders that will + look for the _logical_ CPU cores count +- `::getDefaultPhysicalFinders()`: gives an ordered list of finders that will + look for the _physical_ CPU cores count + +By default when using `CpuCoreCounter`, it will use the logical finders since +it is more likely what you are looking for and is what is used by PHP source to +build the PHP binary. + + +### Checks what finders find what on your system + +You have two commands available that provides insight about what the finders +can find: + +``` +$ make diagnosis # From this repository +$ ./vendor/fidry/cpu-core-counter/bin/diagnose.php # From the library +``` + +And: +``` +$ make execute # From this repository +$ ./vendor/fidry/cpu-core-counter/bin/execute.php # From the library +``` + + +## Backward Compatibility Promise (BCP) + +The policy is for the major part following the same as [Symfony's one][symfony-bc-policy]. +Note that the code marked as `@private` or `@internal` are excluded from the BCP. + +The following elements are also excluded: + +- The `diagnose` and `execute` commands: those are for debugging/inspection purposes only +- `FinderRegistry::get*Finders()`: new finders may be added or the order of finders changed at any time + + +## License + +This package is licensed using the MIT License. + +Please have a look at [`LICENSE.md`](LICENSE.md). + +[symfony-bc-policy]: https://symfony.com/doc/current/contributing/code/bc.html diff --git a/vendor/fidry/cpu-core-counter/bin/diagnose.php b/vendor/fidry/cpu-core-counter/bin/diagnose.php new file mode 100755 index 00000000..ec589e31 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/bin/diagnose.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +use Fidry\CpuCoreCounter\Diagnoser; +use Fidry\CpuCoreCounter\Finder\FinderRegistry; + +require_once __DIR__.'/../vendor/autoload.php'; + +echo 'Running diagnosis...'.PHP_EOL.PHP_EOL; +echo Diagnoser::diagnose(FinderRegistry::getAllVariants()).PHP_EOL; diff --git a/vendor/fidry/cpu-core-counter/bin/execute.php b/vendor/fidry/cpu-core-counter/bin/execute.php new file mode 100755 index 00000000..edadebb1 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/bin/execute.php @@ -0,0 +1,21 @@ +#!/usr/bin/env php + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +use Fidry\CpuCoreCounter\Diagnoser; +use Fidry\CpuCoreCounter\Finder\FinderRegistry; + +require_once __DIR__.'/../vendor/autoload.php'; + +echo 'Executing finders...'.PHP_EOL.PHP_EOL; +echo Diagnoser::execute(FinderRegistry::getAllVariants()).PHP_EOL; diff --git a/vendor/fidry/cpu-core-counter/composer.json b/vendor/fidry/cpu-core-counter/composer.json new file mode 100644 index 00000000..2ddaf525 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/composer.json @@ -0,0 +1,48 @@ +{ + "name": "fidry/cpu-core-counter", + "description": "Tiny utility to get the number of CPU cores.", + "license": "MIT", + "type": "library", + "keywords": [ + "cpu", + "core" + ], + "authors": [ + { + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" + } + ], + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "fidry/makefile": "^0.2.0", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.26 || ^8.5.31", + "theofidry/php-cs-fixer-config": "^1.0", + "webmozarts/strict-phpunit": "^7.5" + }, + "autoload": { + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } + }, + "autoload-dev": { + "psr-4": { + "Fidry\\CpuCoreCounter\\Test\\": "tests/" + } + }, + "config": { + "allow-plugins": { + "ergebnis/composer-normalize": true, + "infection/extension-installer": true, + "phpstan/extension-installer": true + }, + "sort-packages": true + } +} diff --git a/vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php b/vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php new file mode 100644 index 00000000..098693b5 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/CpuCoreCounter.php @@ -0,0 +1,89 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter; + +use Fidry\CpuCoreCounter\Finder\CpuCoreFinder; +use Fidry\CpuCoreCounter\Finder\FinderRegistry; + +final class CpuCoreCounter +{ + /** + * @var list + */ + private $finders; + + /** + * @var positive-int|null + */ + private $count; + + /** + * @param list|null $finders + */ + public function __construct(?array $finders = null) + { + $this->finders = $finders ?? FinderRegistry::getDefaultLogicalFinders(); + } + + /** + * @throws NumberOfCpuCoreNotFound + * + * @return positive-int + */ + public function getCount(): int + { + // Memoize result + if (null === $this->count) { + $this->count = $this->findCount(); + } + + return $this->count; + } + + /** + * @throws NumberOfCpuCoreNotFound + * + * @return positive-int + */ + private function findCount(): int + { + foreach ($this->finders as $finder) { + $cores = $finder->find(); + + if (null !== $cores) { + return $cores; + } + } + + throw NumberOfCpuCoreNotFound::create(); + } + + /** + * @throws NumberOfCpuCoreNotFound + * + * @return array{CpuCoreFinder, positive-int} + */ + public function getFinderAndCores(): array + { + foreach ($this->finders as $finder) { + $cores = $finder->find(); + + if (null !== $cores) { + return [$finder, $cores]; + } + } + + throw NumberOfCpuCoreNotFound::create(); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Diagnoser.php b/vendor/fidry/cpu-core-counter/src/Diagnoser.php new file mode 100644 index 00000000..872b55f8 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Diagnoser.php @@ -0,0 +1,101 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter; + +use Fidry\CpuCoreCounter\Finder\CpuCoreFinder; +use function array_map; +use function explode; +use function implode; +use function max; +use function str_repeat; +use const PHP_EOL; + +/** + * Utility to debug. + * + * @private + */ +final class Diagnoser +{ + /** + * Provides an aggregated diagnosis based on each finders diagnosis. + * + * @param list $finders + */ + public static function diagnose(array $finders): string + { + $diagnoses = array_map( + static function (CpuCoreFinder $finder): string { + return self::diagnoseFinder($finder); + }, + $finders + ); + + return implode(PHP_EOL, $diagnoses); + } + + /** + * Executes each finders. + * + * @param list $finders + */ + public static function execute(array $finders): string + { + $diagnoses = array_map( + static function (CpuCoreFinder $finder): string { + $coresCount = $finder->find(); + + return implode( + '', + [ + $finder->toString(), + ': ', + null === $coresCount ? 'NULL' : $coresCount, + ] + ); + }, + $finders + ); + + return implode(PHP_EOL, $diagnoses); + } + + private static function diagnoseFinder(CpuCoreFinder $finder): string + { + $diagnosis = $finder->diagnose(); + + $maxLineLength = max( + array_map( + 'strlen', + explode(PHP_EOL, $diagnosis) + ) + ); + + $separator = str_repeat('-', $maxLineLength); + + return implode( + '', + [ + $finder->toString().':'.PHP_EOL, + $separator.PHP_EOL, + $diagnosis.PHP_EOL, + $separator.PHP_EOL, + ] + ); + } + + private function __construct() + { + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Executor/ProcOpenExecutor.php b/vendor/fidry/cpu-core-counter/src/Executor/ProcOpenExecutor.php new file mode 100644 index 00000000..751a311d --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Executor/ProcOpenExecutor.php @@ -0,0 +1,56 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Executor; + +use function fclose; +use function function_exists; +use function is_resource; +use function proc_close; +use function proc_open; +use function stream_get_contents; + +final class ProcOpenExecutor implements ProcessExecutor +{ + public function execute(string $command): ?array + { + if (!function_exists('proc_open')) { + return null; + } + + $pipes = []; + + $process = @proc_open( + $command, + [ + ['pipe', 'rb'], + ['pipe', 'wb'], // stdout + ['pipe', 'wb'], // stderr + ], + $pipes + ); + + if (!is_resource($process)) { + return null; + } + + fclose($pipes[0]); + + $stdout = (string) stream_get_contents($pipes[1]); + $stderr = (string) stream_get_contents($pipes[2]); + + proc_close($process); + + return [$stdout, $stderr]; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Executor/ProcessExecutor.php b/vendor/fidry/cpu-core-counter/src/Executor/ProcessExecutor.php new file mode 100644 index 00000000..287c01e1 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Executor/ProcessExecutor.php @@ -0,0 +1,22 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Executor; + +interface ProcessExecutor +{ + /** + * @return array{string, string}|null STDOUT & STDERR tuple + */ + public function execute(string $command): ?array; +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php new file mode 100644 index 00000000..edb40e86 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/CpuCoreFinder.php @@ -0,0 +1,37 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +interface CpuCoreFinder +{ + /** + * Provides an explanation which may offer some insight as to what the finder + * will be able to find. + * + * This is practical to have an idea of what each finder will find collect + * information for the unit tests, since integration tests are quite complicated + * as dependent on complex infrastructures. + */ + public function diagnose(): string; + + /** + * Find the number of CPU cores. If it could not find it, returns null. The + * means used to find the cores are at the implementation discretion. + * + * @return positive-int|null + */ + public function find(): ?int; + + public function toString(): string; +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php new file mode 100644 index 00000000..dea4c412 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/CpuInfoFinder.php @@ -0,0 +1,98 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function file_get_contents; +use function is_file; +use function sprintf; +use function substr_count; +use const PHP_EOL; + +/** + * Find the number of CPU cores looking up at the cpuinfo file which is available + * on Linux systems and Windows systems with a Linux sub-system. + * + * @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L903-L909 + * @see https://unix.stackexchange.com/questions/146051/number-of-processors-in-proc-cpuinfo + */ +final class CpuInfoFinder implements CpuCoreFinder +{ + private const CPU_INFO_PATH = '/proc/cpuinfo'; + + public function diagnose(): string + { + if (!is_file(self::CPU_INFO_PATH)) { + return sprintf( + 'The file "%s" could not be found.', + self::CPU_INFO_PATH + ); + } + + $cpuInfo = file_get_contents(self::CPU_INFO_PATH); + + if (false === $cpuInfo) { + return sprintf( + 'Could not get the content of the file "%s".', + self::CPU_INFO_PATH + ); + } + + return sprintf( + 'Found the file "%s" with the content:%s%s', + self::CPU_INFO_PATH, + PHP_EOL, + $cpuInfo + ); + } + + /** + * @return positive-int|null + */ + public function find(): ?int + { + $cpuInfo = self::getCpuInfo(); + + return null === $cpuInfo ? null : self::countCpuCores($cpuInfo); + } + + public function toString(): string + { + return 'CpuInfoFinder'; + } + + private static function getCpuInfo(): ?string + { + if (!@is_file(self::CPU_INFO_PATH)) { + return null; + } + + $cpuInfo = @file_get_contents(self::CPU_INFO_PATH); + + return false === $cpuInfo + ? null + : $cpuInfo; + } + + /** + * @internal + * + * @return positive-int|null + */ + public static function countCpuCores(string $cpuInfo): ?int + { + $processorCount = substr_count($cpuInfo, 'processor'); + + return $processorCount > 0 ? $processorCount : null; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php new file mode 100644 index 00000000..1efa4da6 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/DummyCpuCoreFinder.php @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function sprintf; + +/** + * This finder returns whatever value you gave to it. This is useful for testing + * or as a fallback to avoid to catch the NumberOfCpuCoreNotFound exception. + */ +final class DummyCpuCoreFinder implements CpuCoreFinder +{ + /** + * @var positive-int + */ + private $count; + + public function diagnose(): string + { + return sprintf( + 'Will return "%d".', + $this->count + ); + } + + /** + * @param positive-int $count + */ + public function __construct(int $count) + { + $this->count = $count; + } + + public function find(): ?int + { + return $this->count; + } + + public function toString(): string + { + return sprintf( + 'DummyCpuCoreFinder(value=%d)', + $this->count + ); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/FinderRegistry.php b/vendor/fidry/cpu-core-counter/src/Finder/FinderRegistry.php new file mode 100644 index 00000000..4f824587 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/FinderRegistry.php @@ -0,0 +1,77 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +final class FinderRegistry +{ + /** + * @return list List of all the known finders with all their variants. + */ + public static function getAllVariants(): array + { + return [ + new CpuInfoFinder(), + new DummyCpuCoreFinder(1), + new HwLogicalFinder(), + new HwPhysicalFinder(), + new LscpuLogicalFinder(), + new LscpuPhysicalFinder(), + new _NProcessorFinder(), + new NProcessorFinder(), + new NProcFinder(true), + new NProcFinder(false), + new NullCpuCoreFinder(), + SkipOnOSFamilyFinder::forWindows( + new DummyCpuCoreFinder(1) + ), + OnlyOnOSFamilyFinder::forWindows( + new DummyCpuCoreFinder(1) + ), + new WmicPhysicalFinder(), + new WmicLogicalFinder(), + ]; + } + + /** + * @return list + */ + public static function getDefaultLogicalFinders(): array + { + return [ + OnlyOnOSFamilyFinder::forWindows(new WmicLogicalFinder()), + new NProcFinder(), + new HwLogicalFinder(), + new _NProcessorFinder(), + new NProcessorFinder(), + new LscpuLogicalFinder(), + new CpuInfoFinder(), + ]; + } + + /** + * @return list + */ + public static function getDefaultPhysicalFinders(): array + { + return [ + OnlyOnOSFamilyFinder::forWindows(new WmicPhysicalFinder()), + new HwPhysicalFinder(), + new LscpuPhysicalFinder(), + ]; + } + + private function __construct() + { + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php new file mode 100644 index 00000000..d1129038 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/HwLogicalFinder.php @@ -0,0 +1,33 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +/** + * Find the number of logical CPU cores for Linux, BSD and OSX. + * + * @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L903-L909 + * @see https://opensource.apple.com/source/xnu/xnu-792.2.4/libkern/libkern/sysctl.h.auto.html + */ +final class HwLogicalFinder extends ProcOpenBasedFinder +{ + protected function getCommand(): string + { + return 'sysctl -n hw.logicalcpu'; + } + + public function toString(): string + { + return 'HwLogicalFinder'; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php new file mode 100644 index 00000000..65ca1cfd --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/HwPhysicalFinder.php @@ -0,0 +1,33 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +/** + * Find the number of physical CPU cores for Linux, BSD and OSX. + * + * @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L903-L909 + * @see https://opensource.apple.com/source/xnu/xnu-792.2.4/libkern/libkern/sysctl.h.auto.html + */ +final class HwPhysicalFinder extends ProcOpenBasedFinder +{ + protected function getCommand(): string + { + return 'sysctl -n hw.physicalcpu'; + } + + public function toString(): string + { + return 'HwPhysicalFinder'; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/LscpuLogicalFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/LscpuLogicalFinder.php new file mode 100644 index 00000000..bce09ebf --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/LscpuLogicalFinder.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function count; +use function explode; +use function is_array; +use function preg_grep; +use const PHP_EOL; + +/** + * The number of logical cores. + * + * @see https://stackoverflow.com/a/23378780/5846754 + */ +final class LscpuLogicalFinder extends ProcOpenBasedFinder +{ + public function getCommand(): string + { + return 'lscpu -p'; + } + + protected function countCpuCores(string $process): ?int + { + $lines = explode(PHP_EOL, $process); + $actualLines = preg_grep('/^\d+,/', $lines); + + if (!is_array($actualLines)) { + return null; + } + + $count = count($actualLines); + + return 0 === $count ? null : $count; + } + + public function toString(): string + { + return 'LscpuLogicalFinder'; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/LscpuPhysicalFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/LscpuPhysicalFinder.php new file mode 100644 index 00000000..58523cee --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/LscpuPhysicalFinder.php @@ -0,0 +1,66 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function count; +use function explode; +use function is_array; +use function preg_grep; +use function strtok; +use const PHP_EOL; + +/** + * The number of physical processors. + * + * @see https://stackoverflow.com/a/23378780/5846754 + */ +final class LscpuPhysicalFinder extends ProcOpenBasedFinder +{ + public function toString(): string + { + return 'LscpuPhysicalFinder'; + } + + public function getCommand(): string + { + return 'lscpu -p'; + } + + protected function countCpuCores(string $process): ?int + { + $lines = explode(PHP_EOL, $process); + $actualLines = preg_grep('/^\d+/', $lines); + + if (!is_array($actualLines)) { + return null; + } + + $cores = []; + foreach ($actualLines as $line) { + strtok($line, ','); + $core = strtok(','); + + if (false === $core) { + continue; + } + + $cores[$core] = true; + } + unset($cores['-']); + + $count = count($cores); + + return 0 === $count ? null : $count; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php new file mode 100644 index 00000000..60a8ab78 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/NProcFinder.php @@ -0,0 +1,56 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use Fidry\CpuCoreCounter\Executor\ProcessExecutor; +use function sprintf; + +/** + * The number of (logical) cores. + * + * @see https://github.com/infection/infection/blob/fbd8c44/src/Resource/Processor/CpuCoresCountProvider.php#L69-L82 + * @see https://unix.stackexchange.com/questions/146051/number-of-processors-in-proc-cpuinfo + */ +final class NProcFinder extends ProcOpenBasedFinder +{ + /** + * @var bool + */ + private $all; + + /** + * @param bool $all If disabled will give the number of cores available for the current process only. + */ + public function __construct( + bool $all = true, + ?ProcessExecutor $executor = null + ) { + parent::__construct($executor); + + $this->all = $all; + } + + public function toString(): string + { + return sprintf( + 'NProcFinder(all=%s)', + $this->all ? 'true' : 'false' + ); + } + + protected function getCommand(): string + { + return 'nproc'.($this->all ? ' --all' : ''); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php new file mode 100644 index 00000000..9143e31c --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/NProcessorFinder.php @@ -0,0 +1,32 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +/** + * Find the number of logical CPU cores for FreeSBD, Solaris and the likes. + * + * @see https://twitter.com/freebsdfrau/status/1052016199452700678?s=20&t=M2pHkRqmmna-UF68lfL2hw + */ +final class NProcessorFinder extends ProcOpenBasedFinder +{ + protected function getCommand(): string + { + return 'getconf NPROCESSORS_ONLN'; + } + + public function toString(): string + { + return 'NProcessorFinder'; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php new file mode 100644 index 00000000..50af2d4d --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/NullCpuCoreFinder.php @@ -0,0 +1,35 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +/** + * This finder returns whatever value you gave to it. This is useful for testing. + */ +final class NullCpuCoreFinder implements CpuCoreFinder +{ + public function diagnose(): string + { + return 'Will return "null".'; + } + + public function find(): ?int + { + return null; + } + + public function toString(): string + { + return 'NullCpuCoreFinder'; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/OnlyOnOSFamilyFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/OnlyOnOSFamilyFinder.php new file mode 100644 index 00000000..31478083 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/OnlyOnOSFamilyFinder.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function implode; +use function sprintf; +use const PHP_OS_FAMILY; + +final class OnlyOnOSFamilyFinder implements CpuCoreFinder +{ + /** + * @var list + */ + private $skippedOSFamilies; + + /** + * @var CpuCoreFinder + */ + private $decoratedFinder; + + /** + * @param string|list $skippedOSFamilyOrFamilies + */ + public function __construct( + $skippedOSFamilyOrFamilies, + CpuCoreFinder $decoratedFinder + ) { + $this->skippedOSFamilies = (array) $skippedOSFamilyOrFamilies; + $this->decoratedFinder = $decoratedFinder; + } + + public static function forWindows(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Windows', + $decoratedFinder + ); + } + + public static function forBSD(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'BSD', + $decoratedFinder + ); + } + + public static function forDarwin(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Darwin', + $decoratedFinder + ); + } + + public static function forSolaris(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Solaris', + $decoratedFinder + ); + } + + public static function forLinux(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Linux', + $decoratedFinder + ); + } + + public function diagnose(): string + { + return $this->skip() + ? sprintf( + 'Skipped platform detected ("%s").', + PHP_OS_FAMILY + ) + : $this->decoratedFinder->diagnose(); + } + + public function find(): ?int + { + return $this->skip() + ? null + : $this->decoratedFinder->find(); + } + + public function toString(): string + { + return sprintf( + 'OnlyOnOSFamilyFinder(only=(%s),%s)', + implode(',', $this->skippedOSFamilies), + $this->decoratedFinder->toString() + ); + } + + private function skip(): bool + { + return !in_array(PHP_OS_FAMILY, $this->skippedOSFamilies, true); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php new file mode 100644 index 00000000..793ec647 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/ProcOpenBasedFinder.php @@ -0,0 +1,104 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use Fidry\CpuCoreCounter\Executor\ProcessExecutor; +use Fidry\CpuCoreCounter\Executor\ProcOpenExecutor; +use function filter_var; +use function function_exists; +use function is_int; +use function sprintf; +use function trim; +use const FILTER_VALIDATE_INT; +use const PHP_EOL; + +abstract class ProcOpenBasedFinder implements CpuCoreFinder +{ + /** + * @var ProcessExecutor + */ + private $executor; + + public function __construct(?ProcessExecutor $executor = null) + { + $this->executor = $executor ?? new ProcOpenExecutor(); + } + + public function diagnose(): string + { + if (!function_exists('proc_open')) { + return 'The function "proc_open" is not available.'; + } + + $command = $this->getCommand(); + $output = $this->executor->execute($command); + + if (null === $output) { + return sprintf( + 'Failed to execute the command "%s".', + $command + ); + } + + [$stdout, $stderr] = $output; + $failed = '' !== trim($stderr); + + return $failed + ? sprintf( + 'Executed the command "%s" which wrote the following output to the STDERR:%s%s', + $command, + PHP_EOL, + $stderr + ) + : sprintf( + 'Executed the command "%s" and got the following (STDOUT) output:%s%s', + $command, + PHP_EOL, + $stdout + ); + } + + /** + * @return positive-int|null + */ + public function find(): ?int + { + $output = $this->executor->execute($this->getCommand()); + + if (null === $output) { + return null; + } + + [$stdout, $stderr] = $output; + $failed = '' !== trim($stderr); + + return $failed + ? null + : $this->countCpuCores($stdout); + } + + /** + * @internal + * + * @return positive-int|null + */ + protected function countCpuCores(string $process): ?int + { + $cpuCount = filter_var($process, FILTER_VALIDATE_INT); + + return is_int($cpuCount) && $cpuCount > 0 ? $cpuCount : null; + } + + abstract protected function getCommand(): string; +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/SkipOnOSFamilyFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/SkipOnOSFamilyFinder.php new file mode 100644 index 00000000..66a50164 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/SkipOnOSFamilyFinder.php @@ -0,0 +1,113 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function implode; +use function in_array; +use function sprintf; + +final class SkipOnOSFamilyFinder implements CpuCoreFinder +{ + /** + * @var list + */ + private $skippedOSFamilies; + + /** + * @var CpuCoreFinder + */ + private $decoratedFinder; + + /** + * @param string|list $skippedOSFamilyOrFamilies + */ + public function __construct( + $skippedOSFamilyOrFamilies, + CpuCoreFinder $decoratedFinder + ) { + $this->skippedOSFamilies = (array) $skippedOSFamilyOrFamilies; + $this->decoratedFinder = $decoratedFinder; + } + + public static function forWindows(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Windows', + $decoratedFinder + ); + } + + public static function forBSD(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'BSD', + $decoratedFinder + ); + } + + public static function forDarwin(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Darwin', + $decoratedFinder + ); + } + + public static function forSolaris(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Solaris', + $decoratedFinder + ); + } + + public static function forLinux(CpuCoreFinder $decoratedFinder): self + { + return new self( + 'Linux', + $decoratedFinder + ); + } + + public function diagnose(): string + { + return $this->skip() + ? sprintf( + 'Skipped platform detected ("%s").', + PHP_OS_FAMILY + ) + : $this->decoratedFinder->diagnose(); + } + + public function find(): ?int + { + return $this->skip() + ? null + : $this->decoratedFinder->find(); + } + + public function toString(): string + { + return sprintf( + 'SkipOnOSFamilyFinder(skip=(%s),%s)', + implode(',', $this->skippedOSFamilies), + $this->decoratedFinder->toString() + ); + } + + private function skip(): bool + { + return in_array(PHP_OS_FAMILY, $this->skippedOSFamilies, true); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php new file mode 100644 index 00000000..db576a64 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/WmicLogicalFinder.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function preg_match; + +/** + * Find the number of logical CPU cores for Windows. + * + * @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L912-L916 + */ +final class WmicLogicalFinder extends ProcOpenBasedFinder +{ + private const CPU_CORE_COUNT_REGEX = '/NumberOfLogicalProcessors[\s\n]+(?\d+)/'; + + protected function getCommand(): string + { + return 'wmic cpu get NumberOfLogicalProcessors'; + } + + public function toString(): string + { + return 'WmicLogicalFinder'; + } + + protected function countCpuCores(string $process): ?int + { + if (0 === preg_match(self::CPU_CORE_COUNT_REGEX, $process, $matches)) { + return parent::countCpuCores($process); + } + + $count = $matches['count']; + + return parent::countCpuCores($count); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php new file mode 100644 index 00000000..140b9fdb --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/WmicPhysicalFinder.php @@ -0,0 +1,47 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +use function preg_match; + +/** + * Find the number of physical CPU cores for Windows. + * + * @see https://github.com/paratestphp/paratest/blob/c163539818fd96308ca8dc60f46088461e366ed4/src/Runners/PHPUnit/Options.php#L912-L916 + */ +final class WmicPhysicalFinder extends ProcOpenBasedFinder +{ + private const CPU_CORE_COUNT_REGEX = '/NumberOfCores[\s\n]+(?\d+)/'; + + protected function getCommand(): string + { + return 'wmic cpu get NumberOfCores'; + } + + public function toString(): string + { + return 'WmicPhysicalFinder'; + } + + protected function countCpuCores(string $process): ?int + { + if (0 === preg_match(self::CPU_CORE_COUNT_REGEX, $process, $matches)) { + return parent::countCpuCores($process); + } + + $count = $matches['count']; + + return parent::countCpuCores($count); + } +} diff --git a/vendor/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php b/vendor/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php new file mode 100644 index 00000000..23f452e4 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/Finder/_NProcessorFinder.php @@ -0,0 +1,32 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter\Finder; + +/** + * Find the number of logical CPU cores for Linux and the likes. + * + * @see https://twitter.com/freebsdfrau/status/1052016199452700678?s=20&t=M2pHkRqmmna-UF68lfL2hw + */ +final class _NProcessorFinder extends ProcOpenBasedFinder +{ + protected function getCommand(): string + { + return 'getconf _NPROCESSORS_ONLN'; + } + + public function toString(): string + { + return '_NProcessorFinder'; + } +} diff --git a/vendor/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php b/vendor/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php new file mode 100644 index 00000000..e54f8931 --- /dev/null +++ b/vendor/fidry/cpu-core-counter/src/NumberOfCpuCoreNotFound.php @@ -0,0 +1,26 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +declare(strict_types=1); + +namespace Fidry\CpuCoreCounter; + +use RuntimeException; + +final class NumberOfCpuCoreNotFound extends RuntimeException +{ + public static function create(): self + { + return new self( + 'Could not find the number of CPU cores available.' + ); + } +} diff --git a/vendor/nikic/php-parser/LICENSE b/vendor/nikic/php-parser/LICENSE new file mode 100644 index 00000000..2e567183 --- /dev/null +++ b/vendor/nikic/php-parser/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2011, Nikita Popov +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/nikic/php-parser/README.md b/vendor/nikic/php-parser/README.md new file mode 100644 index 00000000..36de23cd --- /dev/null +++ b/vendor/nikic/php-parser/README.md @@ -0,0 +1,225 @@ +PHP Parser +========== + +[![Coverage Status](https://coveralls.io/repos/github/nikic/PHP-Parser/badge.svg?branch=master)](https://coveralls.io/github/nikic/PHP-Parser?branch=master) + +This is a PHP 5.2 to PHP 8.2 parser written in PHP. Its purpose is to simplify static code analysis and +manipulation. + +[**Documentation for version 4.x**][doc_4_x] (stable; for running on PHP >= 7.0; for parsing PHP 5.2 to PHP 8.2). + +[Documentation for version 3.x][doc_3_x] (unsupported; for running on PHP >= 5.5; for parsing PHP 5.2 to PHP 7.2). + +Features +-------- + +The main features provided by this library are: + + * Parsing PHP 5, PHP 7, and PHP 8 code into an abstract syntax tree (AST). + * Invalid code can be parsed into a partial AST. + * The AST contains accurate location information. + * Dumping the AST in human-readable form. + * Converting an AST back to PHP code. + * Experimental: Formatting can be preserved for partially changed ASTs. + * Infrastructure to traverse and modify ASTs. + * Resolution of namespaced names. + * Evaluation of constant expressions. + * Builders to simplify AST construction for code generation. + * Converting an AST into JSON and back. + +Quick Start +----------- + +Install the library using [composer](https://getcomposer.org): + + php composer.phar require nikic/php-parser + +Parse some PHP code into an AST and dump the result in human-readable form: + +```php +create(ParserFactory::PREFER_PHP7); +try { + $ast = $parser->parse($code); +} catch (Error $error) { + echo "Parse error: {$error->getMessage()}\n"; + return; +} + +$dumper = new NodeDumper; +echo $dumper->dump($ast) . "\n"; +``` + +This dumps an AST looking something like this: + +``` +array( + 0: Stmt_Function( + byRef: false + name: Identifier( + name: test + ) + params: array( + 0: Param( + type: null + byRef: false + variadic: false + var: Expr_Variable( + name: foo + ) + default: null + ) + ) + returnType: null + stmts: array( + 0: Stmt_Expression( + expr: Expr_FuncCall( + name: Name( + parts: array( + 0: var_dump + ) + ) + args: array( + 0: Arg( + value: Expr_Variable( + name: foo + ) + byRef: false + unpack: false + ) + ) + ) + ) + ) + ) +) +``` + +Let's traverse the AST and perform some kind of modification. For example, drop all function bodies: + +```php +use PhpParser\Node; +use PhpParser\Node\Stmt\Function_; +use PhpParser\NodeTraverser; +use PhpParser\NodeVisitorAbstract; + +$traverser = new NodeTraverser(); +$traverser->addVisitor(new class extends NodeVisitorAbstract { + public function enterNode(Node $node) { + if ($node instanceof Function_) { + // Clean out the function body + $node->stmts = []; + } + } +}); + +$ast = $traverser->traverse($ast); +echo $dumper->dump($ast) . "\n"; +``` + +This gives us an AST where the `Function_::$stmts` are empty: + +``` +array( + 0: Stmt_Function( + byRef: false + name: Identifier( + name: test + ) + params: array( + 0: Param( + type: null + byRef: false + variadic: false + var: Expr_Variable( + name: foo + ) + default: null + ) + ) + returnType: null + stmts: array( + ) + ) +) +``` + +Finally, we can convert the new AST back to PHP code: + +```php +use PhpParser\PrettyPrinter; + +$prettyPrinter = new PrettyPrinter\Standard; +echo $prettyPrinter->prettyPrintFile($ast); +``` + +This gives us our original code, minus the `var_dump()` call inside the function: + +```php + [ + 'startLine', 'endLine', 'startFilePos', 'endFilePos', 'comments' +]]); +$parser = (new PhpParser\ParserFactory)->create( + PhpParser\ParserFactory::PREFER_PHP7, + $lexer +); +$dumper = new PhpParser\NodeDumper([ + 'dumpComments' => true, + 'dumpPositions' => $attributes['with-positions'], +]); +$prettyPrinter = new PhpParser\PrettyPrinter\Standard; + +$traverser = new PhpParser\NodeTraverser(); +$traverser->addVisitor(new PhpParser\NodeVisitor\NameResolver); + +foreach ($files as $file) { + if (strpos($file, ' Code $code\n"); + } else { + if (!file_exists($file)) { + fwrite(STDERR, "File $file does not exist.\n"); + exit(1); + } + + $code = file_get_contents($file); + fwrite(STDERR, "====> File $file:\n"); + } + + if ($attributes['with-recovery']) { + $errorHandler = new PhpParser\ErrorHandler\Collecting; + $stmts = $parser->parse($code, $errorHandler); + foreach ($errorHandler->getErrors() as $error) { + $message = formatErrorMessage($error, $code, $attributes['with-column-info']); + fwrite(STDERR, $message . "\n"); + } + if (null === $stmts) { + continue; + } + } else { + try { + $stmts = $parser->parse($code); + } catch (PhpParser\Error $error) { + $message = formatErrorMessage($error, $code, $attributes['with-column-info']); + fwrite(STDERR, $message . "\n"); + exit(1); + } + } + + foreach ($operations as $operation) { + if ('dump' === $operation) { + fwrite(STDERR, "==> Node dump:\n"); + echo $dumper->dump($stmts, $code), "\n"; + } elseif ('pretty-print' === $operation) { + fwrite(STDERR, "==> Pretty print:\n"); + echo $prettyPrinter->prettyPrintFile($stmts), "\n"; + } elseif ('json-dump' === $operation) { + fwrite(STDERR, "==> JSON dump:\n"); + echo json_encode($stmts, JSON_PRETTY_PRINT), "\n"; + } elseif ('var-dump' === $operation) { + fwrite(STDERR, "==> var_dump():\n"); + var_dump($stmts); + } elseif ('resolve-names' === $operation) { + fwrite(STDERR, "==> Resolved names.\n"); + $stmts = $traverser->traverse($stmts); + } + } +} + +function formatErrorMessage(PhpParser\Error $e, $code, $withColumnInfo) { + if ($withColumnInfo && $e->hasColumnInfo()) { + return $e->getMessageWithColumnInfo($code); + } else { + return $e->getMessage(); + } +} + +function showHelp($error = '') { + if ($error) { + fwrite(STDERR, $error . "\n\n"); + } + fwrite($error ? STDERR : STDOUT, << false, + 'with-positions' => false, + 'with-recovery' => false, + ]; + + array_shift($args); + $parseOptions = true; + foreach ($args as $arg) { + if (!$parseOptions) { + $files[] = $arg; + continue; + } + + switch ($arg) { + case '--dump': + case '-d': + $operations[] = 'dump'; + break; + case '--pretty-print': + case '-p': + $operations[] = 'pretty-print'; + break; + case '--json-dump': + case '-j': + $operations[] = 'json-dump'; + break; + case '--var-dump': + $operations[] = 'var-dump'; + break; + case '--resolve-names': + case '-N'; + $operations[] = 'resolve-names'; + break; + case '--with-column-info': + case '-c'; + $attributes['with-column-info'] = true; + break; + case '--with-positions': + case '-P': + $attributes['with-positions'] = true; + break; + case '--with-recovery': + case '-r': + $attributes['with-recovery'] = true; + break; + case '--help': + case '-h'; + showHelp(); + break; + case '--': + $parseOptions = false; + break; + default: + if ($arg[0] === '-') { + showHelp("Invalid operation $arg."); + } else { + $files[] = $arg; + } + } + } + + return [$operations, $files, $attributes]; +} diff --git a/vendor/nikic/php-parser/composer.json b/vendor/nikic/php-parser/composer.json new file mode 100644 index 00000000..2fd064a2 --- /dev/null +++ b/vendor/nikic/php-parser/composer.json @@ -0,0 +1,41 @@ +{ + "name": "nikic/php-parser", + "type": "library", + "description": "A PHP parser written in PHP", + "keywords": [ + "php", + "parser" + ], + "license": "BSD-3-Clause", + "authors": [ + { + "name": "Nikita Popov" + } + ], + "require": { + "php": ">=7.0", + "ext-tokenizer": "*" + }, + "require-dev": { + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0", + "ircmaxell/php-yacc": "^0.0.7" + }, + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "autoload-dev": { + "psr-4": { + "PhpParser\\": "test/PhpParser/" + } + }, + "bin": [ + "bin/php-parse" + ] +} diff --git a/vendor/nikic/php-parser/grammar/README.md b/vendor/nikic/php-parser/grammar/README.md new file mode 100644 index 00000000..4bae11d8 --- /dev/null +++ b/vendor/nikic/php-parser/grammar/README.md @@ -0,0 +1,30 @@ +What do all those files mean? +============================= + + * `php5.y`: PHP 5 grammar written in a pseudo language + * `php7.y`: PHP 7 grammar written in a pseudo language + * `tokens.y`: Tokens definition shared between PHP 5 and PHP 7 grammars + * `parser.template`: A `kmyacc` parser prototype file for PHP + * `tokens.template`: A `kmyacc` prototype file for the `Tokens` class + * `rebuildParsers.php`: Preprocesses the grammar and builds the parser using `kmyacc` + +.phpy pseudo language +===================== + +The `.y` file is a normal grammar in `kmyacc` (`yacc`) style, with some transformations +applied to it: + + * Nodes are created using the syntax `Name[..., ...]`. This is transformed into + `new Name(..., ..., attributes())` + * Some function-like constructs are resolved (see `rebuildParsers.php` for a list) + +Building the parser +=================== + +Run `php grammar/rebuildParsers.php` to rebuild the parsers. Additional options: + + * The `KMYACC` environment variable can be used to specify an alternative `kmyacc` binary. + By default the `phpyacc` dev dependency will be used. To use the original `kmyacc`, you + need to compile [moriyoshi's fork](https://github.com/moriyoshi/kmyacc-forked). + * The `--debug` option enables emission of debug symbols and creates the `y.output` file. + * The `--keep-tmp-grammar` option preserves the preprocessed grammar file. diff --git a/vendor/nikic/php-parser/grammar/parser.template b/vendor/nikic/php-parser/grammar/parser.template new file mode 100644 index 00000000..6166607c --- /dev/null +++ b/vendor/nikic/php-parser/grammar/parser.template @@ -0,0 +1,106 @@ +semValue +#semval($,%t) $this->semValue +#semval(%n) $stackPos-(%l-%n) +#semval(%n,%t) $stackPos-(%l-%n) + +namespace PhpParser\Parser; + +use PhpParser\Error; +use PhpParser\Node; +use PhpParser\Node\Expr; +use PhpParser\Node\Name; +use PhpParser\Node\Scalar; +use PhpParser\Node\Stmt; +#include; + +/* This is an automatically GENERATED file, which should not be manually edited. + * Instead edit one of the following: + * * the grammar files grammar/php5.y or grammar/php7.y + * * the skeleton file grammar/parser.template + * * the preprocessing script grammar/rebuildParsers.php + */ +class #(-p) extends \PhpParser\ParserAbstract +{ + protected $tokenToSymbolMapSize = #(YYMAXLEX); + protected $actionTableSize = #(YYLAST); + protected $gotoTableSize = #(YYGLAST); + + protected $invalidSymbol = #(YYBADCH); + protected $errorSymbol = #(YYINTERRTOK); + protected $defaultAction = #(YYDEFAULT); + protected $unexpectedTokenRule = #(YYUNEXPECTED); + + protected $YY2TBLSTATE = #(YY2TBLSTATE); + protected $numNonLeafStates = #(YYNLSTATES); + + protected $symbolToName = array( + #listvar terminals + ); + + protected $tokenToSymbol = array( + #listvar yytranslate + ); + + protected $action = array( + #listvar yyaction + ); + + protected $actionCheck = array( + #listvar yycheck + ); + + protected $actionBase = array( + #listvar yybase + ); + + protected $actionDefault = array( + #listvar yydefault + ); + + protected $goto = array( + #listvar yygoto + ); + + protected $gotoCheck = array( + #listvar yygcheck + ); + + protected $gotoBase = array( + #listvar yygbase + ); + + protected $gotoDefault = array( + #listvar yygdefault + ); + + protected $ruleToNonTerminal = array( + #listvar yylhs + ); + + protected $ruleToLength = array( + #listvar yylen + ); +#if -t + + protected $productions = array( + #production-strings; + ); +#endif + + protected function initReduceCallbacks() { + $this->reduceCallbacks = [ +#reduce + %n => function ($stackPos) { + %b + }, +#noact + %n => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, +#endreduce + ]; + } +} +#tailcode; diff --git a/vendor/nikic/php-parser/grammar/php5.y b/vendor/nikic/php-parser/grammar/php5.y new file mode 100644 index 00000000..2920dead --- /dev/null +++ b/vendor/nikic/php-parser/grammar/php5.y @@ -0,0 +1,1046 @@ +%pure_parser +%expect 6 + +%tokens + +%% + +start: + top_statement_list { $$ = $this->handleNamespaces($1); } +; + +top_statement_list_ex: + top_statement_list_ex top_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +top_statement_list: + top_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +ampersand: + T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG + | T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG +; + +reserved_non_modifiers: + T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND + | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE + | T_ENDWHILE | T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH + | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO + | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT + | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS + | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN + | T_MATCH +; + +semi_reserved: + reserved_non_modifiers + | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC +; + +identifier_ex: + T_STRING { $$ = Node\Identifier[$1]; } + | semi_reserved { $$ = Node\Identifier[$1]; } +; + +identifier: + T_STRING { $$ = Node\Identifier[$1]; } +; + +reserved_non_modifiers_identifier: + reserved_non_modifiers { $$ = Node\Identifier[$1]; } +; + +namespace_name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } +; + +legacy_namespace_name: + namespace_name { $$ = $1; } + | T_NAME_FULLY_QUALIFIED { $$ = Name[substr($1, 1)]; } +; + +plain_variable: + T_VARIABLE { $$ = Expr\Variable[parseVar($1)]; } +; + +top_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { $$ = Stmt\HaltCompiler[$this->lexer->handleHaltCompiler()]; } + | T_NAMESPACE namespace_name ';' + { $$ = Stmt\Namespace_[$2, null]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($$); } + | T_NAMESPACE namespace_name '{' top_statement_list '}' + { $$ = Stmt\Namespace_[$2, $4]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_NAMESPACE '{' top_statement_list '}' + { $$ = Stmt\Namespace_[null, $3]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_USE use_declarations ';' { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } + | T_USE use_type use_declarations ';' { $$ = Stmt\Use_[$3, $2]; } + | group_use_declaration ';' { $$ = $1; } + | T_CONST constant_declaration_list ';' { $$ = Stmt\Const_[$2]; } +; + +use_type: + T_FUNCTION { $$ = Stmt\Use_::TYPE_FUNCTION; } + | T_CONST { $$ = Stmt\Use_::TYPE_CONSTANT; } +; + +group_use_declaration: + T_USE use_type legacy_namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations '}' + { $$ = Stmt\GroupUse[$3, $6, $2]; } + | T_USE legacy_namespace_name T_NS_SEPARATOR '{' inline_use_declarations '}' + { $$ = Stmt\GroupUse[$2, $5, Stmt\Use_::TYPE_UNKNOWN]; } +; + +unprefixed_use_declarations: + unprefixed_use_declarations ',' unprefixed_use_declaration + { push($1, $3); } + | unprefixed_use_declaration { init($1); } +; + +use_declarations: + use_declarations ',' use_declaration { push($1, $3); } + | use_declaration { init($1); } +; + +inline_use_declarations: + inline_use_declarations ',' inline_use_declaration { push($1, $3); } + | inline_use_declaration { init($1); } +; + +unprefixed_use_declaration: + namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | namespace_name T_AS identifier + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +use_declaration: + legacy_namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | legacy_namespace_name T_AS identifier + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +inline_use_declaration: + unprefixed_use_declaration { $$ = $1; $$->type = Stmt\Use_::TYPE_NORMAL; } + | use_type unprefixed_use_declaration { $$ = $2; $$->type = $1; } +; + +constant_declaration_list: + constant_declaration_list ',' constant_declaration { push($1, $3); } + | constant_declaration { init($1); } +; + +constant_declaration: + identifier '=' static_scalar { $$ = Node\Const_[$1, $3]; } +; + +class_const_list: + class_const_list ',' class_const { push($1, $3); } + | class_const { init($1); } +; + +class_const: + identifier_ex '=' static_scalar { $$ = Node\Const_[$1, $3]; } +; + +inner_statement_list_ex: + inner_statement_list_ex inner_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +inner_statement_list: + inner_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +inner_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', attributes()); } +; + +non_empty_statement: + '{' inner_statement_list '}' + { + if ($2) { + $$ = $2; prependLeadingComments($$); + } else { + makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if (null === $$) { $$ = array(); } + } + } + | T_IF parentheses_expr statement elseif_list else_single + { $$ = Stmt\If_[$2, ['stmts' => toArray($3), 'elseifs' => $4, 'else' => $5]]; } + | T_IF parentheses_expr ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' + { $$ = Stmt\If_[$2, ['stmts' => $4, 'elseifs' => $5, 'else' => $6]]; } + | T_WHILE parentheses_expr while_statement { $$ = Stmt\While_[$2, $3]; } + | T_DO statement T_WHILE parentheses_expr ';' { $$ = Stmt\Do_ [$4, toArray($2)]; } + | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement + { $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; } + | T_SWITCH parentheses_expr switch_case_list { $$ = Stmt\Switch_[$2, $3]; } + | T_BREAK ';' { $$ = Stmt\Break_[null]; } + | T_BREAK expr ';' { $$ = Stmt\Break_[$2]; } + | T_CONTINUE ';' { $$ = Stmt\Continue_[null]; } + | T_CONTINUE expr ';' { $$ = Stmt\Continue_[$2]; } + | T_RETURN ';' { $$ = Stmt\Return_[null]; } + | T_RETURN expr ';' { $$ = Stmt\Return_[$2]; } + | T_GLOBAL global_var_list ';' { $$ = Stmt\Global_[$2]; } + | T_STATIC static_var_list ';' { $$ = Stmt\Static_[$2]; } + | T_ECHO expr_list ';' { $$ = Stmt\Echo_[$2]; } + | T_INLINE_HTML { $$ = Stmt\InlineHTML[$1]; } + | yield_expr ';' { $$ = Stmt\Expression[$1]; } + | expr ';' { $$ = Stmt\Expression[$1]; } + | T_UNSET '(' variables_list ')' ';' { $$ = Stmt\Unset_[$3]; } + | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } + | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } + | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } + | T_TRY '{' inner_statement_list '}' catches optional_finally + { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } + | T_THROW expr ';' { $$ = Stmt\Throw_[$2]; } + | T_GOTO identifier ';' { $$ = Stmt\Goto_[$2]; } + | identifier ':' { $$ = Stmt\Label[$1]; } + | expr error { $$ = Stmt\Expression[$1]; } + | error { $$ = array(); /* means: no statement */ } +; + +statement: + non_empty_statement { $$ = $1; } + | ';' + { makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if ($$ === null) $$ = array(); /* means: no statement */ } +; + +catches: + /* empty */ { init(); } + | catches catch { push($1, $2); } +; + +catch: + T_CATCH '(' name plain_variable ')' '{' inner_statement_list '}' + { $$ = Stmt\Catch_[array($3), $4, $7]; } +; + +optional_finally: + /* empty */ { $$ = null; } + | T_FINALLY '{' inner_statement_list '}' { $$ = Stmt\Finally_[$3]; } +; + +variables_list: + variable { init($1); } + | variables_list ',' variable { push($1, $3); } +; + +optional_ref: + /* empty */ { $$ = false; } + | ampersand { $$ = true; } +; + +optional_arg_ref: + /* empty */ { $$ = false; } + | T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG { $$ = true; } +; + +optional_ellipsis: + /* empty */ { $$ = false; } + | T_ELLIPSIS { $$ = true; } +; + +identifier_maybe_readonly: + identifier { $$ = $1; } + | T_READONLY { $$ = Node\Identifier[$1]; } +; + +function_declaration_statement: + T_FUNCTION optional_ref identifier_maybe_readonly '(' parameter_list ')' optional_return_type '{' inner_statement_list '}' + { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $9]]; } +; + +class_declaration_statement: + class_entry_type identifier extends_from implements_list '{' class_statement_list '}' + { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6]]; + $this->checkClass($$, #2); } + | T_INTERFACE identifier interface_extends_list '{' class_statement_list '}' + { $$ = Stmt\Interface_[$2, ['extends' => $3, 'stmts' => $5]]; + $this->checkInterface($$, #2); } + | T_TRAIT identifier '{' class_statement_list '}' + { $$ = Stmt\Trait_[$2, ['stmts' => $4]]; } +; + +class_entry_type: + T_CLASS { $$ = 0; } + | T_ABSTRACT T_CLASS { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL T_CLASS { $$ = Stmt\Class_::MODIFIER_FINAL; } +; + +extends_from: + /* empty */ { $$ = null; } + | T_EXTENDS class_name { $$ = $2; } +; + +interface_extends_list: + /* empty */ { $$ = array(); } + | T_EXTENDS class_name_list { $$ = $2; } +; + +implements_list: + /* empty */ { $$ = array(); } + | T_IMPLEMENTS class_name_list { $$ = $2; } +; + +class_name_list: + class_name { init($1); } + | class_name_list ',' class_name { push($1, $3); } +; + +for_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOR ';' { $$ = $2; } +; + +foreach_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOREACH ';' { $$ = $2; } +; + +declare_statement: + non_empty_statement { $$ = toArray($1); } + | ';' { $$ = null; } + | ':' inner_statement_list T_ENDDECLARE ';' { $$ = $2; } +; + +declare_list: + declare_list_element { init($1); } + | declare_list ',' declare_list_element { push($1, $3); } +; + +declare_list_element: + identifier '=' static_scalar { $$ = Stmt\DeclareDeclare[$1, $3]; } +; + +switch_case_list: + '{' case_list '}' { $$ = $2; } + | '{' ';' case_list '}' { $$ = $3; } + | ':' case_list T_ENDSWITCH ';' { $$ = $2; } + | ':' ';' case_list T_ENDSWITCH ';' { $$ = $3; } +; + +case_list: + /* empty */ { init(); } + | case_list case { push($1, $2); } +; + +case: + T_CASE expr case_separator inner_statement_list_ex { $$ = Stmt\Case_[$2, $4]; } + | T_DEFAULT case_separator inner_statement_list_ex { $$ = Stmt\Case_[null, $3]; } +; + +case_separator: + ':' + | ';' +; + +while_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDWHILE ';' { $$ = $2; } +; + +elseif_list: + /* empty */ { init(); } + | elseif_list elseif { push($1, $2); } +; + +elseif: + T_ELSEIF parentheses_expr statement { $$ = Stmt\ElseIf_[$2, toArray($3)]; } +; + +new_elseif_list: + /* empty */ { init(); } + | new_elseif_list new_elseif { push($1, $2); } +; + +new_elseif: + T_ELSEIF parentheses_expr ':' inner_statement_list { $$ = Stmt\ElseIf_[$2, $4]; } +; + +else_single: + /* empty */ { $$ = null; } + | T_ELSE statement { $$ = Stmt\Else_[toArray($2)]; } +; + +new_else_single: + /* empty */ { $$ = null; } + | T_ELSE ':' inner_statement_list { $$ = Stmt\Else_[$3]; } +; + +foreach_variable: + variable { $$ = array($1, false); } + | ampersand variable { $$ = array($2, true); } + | list_expr { $$ = array($1, false); } +; + +parameter_list: + non_empty_parameter_list { $$ = $1; } + | /* empty */ { $$ = array(); } +; + +non_empty_parameter_list: + parameter { init($1); } + | non_empty_parameter_list ',' parameter { push($1, $3); } +; + +parameter: + optional_param_type optional_arg_ref optional_ellipsis plain_variable + { $$ = Node\Param[$4, null, $1, $2, $3]; $this->checkParam($$); } + | optional_param_type optional_arg_ref optional_ellipsis plain_variable '=' static_scalar + { $$ = Node\Param[$4, $6, $1, $2, $3]; $this->checkParam($$); } +; + +type: + name { $$ = $1; } + | T_ARRAY { $$ = Node\Identifier['array']; } + | T_CALLABLE { $$ = Node\Identifier['callable']; } +; + +optional_param_type: + /* empty */ { $$ = null; } + | type { $$ = $1; } +; + +optional_return_type: + /* empty */ { $$ = null; } + | ':' type { $$ = $2; } +; + +argument_list: + '(' ')' { $$ = array(); } + | '(' non_empty_argument_list ')' { $$ = $2; } + | '(' yield_expr ')' { $$ = array(Node\Arg[$2, false, false]); } +; + +non_empty_argument_list: + argument { init($1); } + | non_empty_argument_list ',' argument { push($1, $3); } +; + +argument: + expr { $$ = Node\Arg[$1, false, false]; } + | ampersand variable { $$ = Node\Arg[$2, true, false]; } + | T_ELLIPSIS expr { $$ = Node\Arg[$2, false, true]; } +; + +global_var_list: + global_var_list ',' global_var { push($1, $3); } + | global_var { init($1); } +; + +global_var: + plain_variable { $$ = $1; } + | '$' variable { $$ = Expr\Variable[$2]; } + | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } +; + +static_var_list: + static_var_list ',' static_var { push($1, $3); } + | static_var { init($1); } +; + +static_var: + plain_variable { $$ = Stmt\StaticVar[$1, null]; } + | plain_variable '=' static_scalar { $$ = Stmt\StaticVar[$1, $3]; } +; + +class_statement_list_ex: + class_statement_list_ex class_statement { if ($2 !== null) { push($1, $2); } } + | /* empty */ { init(); } +; + +class_statement_list: + class_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +class_statement: + variable_modifiers property_declaration_list ';' + { $$ = Stmt\Property[$1, $2]; $this->checkProperty($$, #1); } + | T_CONST class_const_list ';' { $$ = Stmt\ClassConst[$2, 0]; } + | method_modifiers T_FUNCTION optional_ref identifier_ex '(' parameter_list ')' optional_return_type method_body + { $$ = Stmt\ClassMethod[$4, ['type' => $1, 'byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9]]; + $this->checkClassMethod($$, #1); } + | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } +; + +trait_adaptations: + ';' { $$ = array(); } + | '{' trait_adaptation_list '}' { $$ = $2; } +; + +trait_adaptation_list: + /* empty */ { init(); } + | trait_adaptation_list trait_adaptation { push($1, $2); } +; + +trait_adaptation: + trait_method_reference_fully_qualified T_INSTEADOF class_name_list ';' + { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } + | trait_method_reference T_AS member_modifier identifier_ex ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } + | trait_method_reference T_AS member_modifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } + | trait_method_reference T_AS identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } + | trait_method_reference T_AS reserved_non_modifiers_identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } +; + +trait_method_reference_fully_qualified: + name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = array($1, $3); } +; +trait_method_reference: + trait_method_reference_fully_qualified { $$ = $1; } + | identifier_ex { $$ = array(null, $1); } +; + +method_body: + ';' /* abstract method */ { $$ = null; } + | '{' inner_statement_list '}' { $$ = $2; } +; + +variable_modifiers: + non_empty_member_modifiers { $$ = $1; } + | T_VAR { $$ = 0; } +; + +method_modifiers: + /* empty */ { $$ = 0; } + | non_empty_member_modifiers { $$ = $1; } +; + +non_empty_member_modifiers: + member_modifier { $$ = $1; } + | non_empty_member_modifiers member_modifier { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } +; + +member_modifier: + T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } + | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } + | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } + | T_STATIC { $$ = Stmt\Class_::MODIFIER_STATIC; } + | T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } +; + +property_declaration_list: + property_declaration { init($1); } + | property_declaration_list ',' property_declaration { push($1, $3); } +; + +property_decl_name: + T_VARIABLE { $$ = Node\VarLikeIdentifier[parseVar($1)]; } +; + +property_declaration: + property_decl_name { $$ = Stmt\PropertyProperty[$1, null]; } + | property_decl_name '=' static_scalar { $$ = Stmt\PropertyProperty[$1, $3]; } +; + +expr_list: + expr_list ',' expr { push($1, $3); } + | expr { init($1); } +; + +for_expr: + /* empty */ { $$ = array(); } + | expr_list { $$ = $1; } +; + +expr: + variable { $$ = $1; } + | list_expr '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' ampersand variable { $$ = Expr\AssignRef[$1, $4]; } + | variable '=' ampersand new_expr { $$ = Expr\AssignRef[$1, $4]; } + | new_expr { $$ = $1; } + | T_CLONE expr { $$ = Expr\Clone_[$2]; } + | variable T_PLUS_EQUAL expr { $$ = Expr\AssignOp\Plus [$1, $3]; } + | variable T_MINUS_EQUAL expr { $$ = Expr\AssignOp\Minus [$1, $3]; } + | variable T_MUL_EQUAL expr { $$ = Expr\AssignOp\Mul [$1, $3]; } + | variable T_DIV_EQUAL expr { $$ = Expr\AssignOp\Div [$1, $3]; } + | variable T_CONCAT_EQUAL expr { $$ = Expr\AssignOp\Concat [$1, $3]; } + | variable T_MOD_EQUAL expr { $$ = Expr\AssignOp\Mod [$1, $3]; } + | variable T_AND_EQUAL expr { $$ = Expr\AssignOp\BitwiseAnd[$1, $3]; } + | variable T_OR_EQUAL expr { $$ = Expr\AssignOp\BitwiseOr [$1, $3]; } + | variable T_XOR_EQUAL expr { $$ = Expr\AssignOp\BitwiseXor[$1, $3]; } + | variable T_SL_EQUAL expr { $$ = Expr\AssignOp\ShiftLeft [$1, $3]; } + | variable T_SR_EQUAL expr { $$ = Expr\AssignOp\ShiftRight[$1, $3]; } + | variable T_POW_EQUAL expr { $$ = Expr\AssignOp\Pow [$1, $3]; } + | variable T_COALESCE_EQUAL expr { $$ = Expr\AssignOp\Coalesce [$1, $3]; } + | variable T_INC { $$ = Expr\PostInc[$1]; } + | T_INC variable { $$ = Expr\PreInc [$2]; } + | variable T_DEC { $$ = Expr\PostDec[$1]; } + | T_DEC variable { $$ = Expr\PreDec [$2]; } + | expr T_BOOLEAN_OR expr { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } + | expr T_BOOLEAN_AND expr { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } + | expr T_LOGICAL_OR expr { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } + | expr T_LOGICAL_AND expr { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } + | expr T_LOGICAL_XOR expr { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } + | expr '|' expr { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } + | expr T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | expr T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | expr '^' expr { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } + | expr '.' expr { $$ = Expr\BinaryOp\Concat [$1, $3]; } + | expr '+' expr { $$ = Expr\BinaryOp\Plus [$1, $3]; } + | expr '-' expr { $$ = Expr\BinaryOp\Minus [$1, $3]; } + | expr '*' expr { $$ = Expr\BinaryOp\Mul [$1, $3]; } + | expr '/' expr { $$ = Expr\BinaryOp\Div [$1, $3]; } + | expr '%' expr { $$ = Expr\BinaryOp\Mod [$1, $3]; } + | expr T_SL expr { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } + | expr T_SR expr { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } + | expr T_POW expr { $$ = Expr\BinaryOp\Pow [$1, $3]; } + | '+' expr %prec T_INC { $$ = Expr\UnaryPlus [$2]; } + | '-' expr %prec T_INC { $$ = Expr\UnaryMinus[$2]; } + | '!' expr { $$ = Expr\BooleanNot[$2]; } + | '~' expr { $$ = Expr\BitwiseNot[$2]; } + | expr T_IS_IDENTICAL expr { $$ = Expr\BinaryOp\Identical [$1, $3]; } + | expr T_IS_NOT_IDENTICAL expr { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } + | expr T_IS_EQUAL expr { $$ = Expr\BinaryOp\Equal [$1, $3]; } + | expr T_IS_NOT_EQUAL expr { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } + | expr T_SPACESHIP expr { $$ = Expr\BinaryOp\Spaceship [$1, $3]; } + | expr '<' expr { $$ = Expr\BinaryOp\Smaller [$1, $3]; } + | expr T_IS_SMALLER_OR_EQUAL expr { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } + | expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; } + | expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } + | expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; } + | parentheses_expr { $$ = $1; } + /* we need a separate '(' new_expr ')' rule to avoid problems caused by a s/r conflict */ + | '(' new_expr ')' { $$ = $2; } + | expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; } + | expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; } + | expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; } + | T_ISSET '(' variables_list ')' { $$ = Expr\Isset_[$3]; } + | T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; } + | T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; } + | T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; } + | T_EVAL parentheses_expr { $$ = Expr\Eval_[$2]; } + | T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; } + | T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; } + | T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; } + | T_DOUBLE_CAST expr + { $attrs = attributes(); + $attrs['kind'] = $this->getFloatCastKind($1); + $$ = new Expr\Cast\Double($2, $attrs); } + | T_STRING_CAST expr { $$ = Expr\Cast\String_ [$2]; } + | T_ARRAY_CAST expr { $$ = Expr\Cast\Array_ [$2]; } + | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } + | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } + | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } + | T_EXIT exit_expr + { $attrs = attributes(); + $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $$ = new Expr\Exit_($2, $attrs); } + | '@' expr { $$ = Expr\ErrorSuppress[$2]; } + | scalar { $$ = $1; } + | array_expr { $$ = $1; } + | scalar_dereference { $$ = $1; } + | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } + | T_PRINT expr { $$ = Expr\Print_[$2]; } + | T_YIELD { $$ = Expr\Yield_[null, null]; } + | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } + | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type + '{' inner_statement_list '}' + { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $9]]; } + | T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type + '{' inner_statement_list '}' + { $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $10]]; } +; + +parentheses_expr: + '(' expr ')' { $$ = $2; } + | '(' yield_expr ')' { $$ = $2; } +; + +yield_expr: + T_YIELD expr { $$ = Expr\Yield_[$2, null]; } + | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } +; + +array_expr: + T_ARRAY '(' array_pair_list ')' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG; + $$ = new Expr\Array_($3, $attrs); } + | '[' array_pair_list ']' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_SHORT; + $$ = new Expr\Array_($2, $attrs); } +; + +scalar_dereference: + array_expr '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | T_CONSTANT_ENCAPSED_STRING '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[Scalar\String_::fromString($1, attributes()), $3]; } + | constant '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | scalar_dereference '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + /* alternative array syntax missing intentionally */ +; + +anonymous_class: + T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' + { $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $3, 'implements' => $4, 'stmts' => $6]], $2); + $this->checkClass($$[0], -1); } +; + +new_expr: + T_NEW class_name_reference ctor_arguments { $$ = Expr\New_[$2, $3]; } + | T_NEW anonymous_class + { list($class, $ctorArgs) = $2; $$ = Expr\New_[$class, $ctorArgs]; } +; + +lexical_vars: + /* empty */ { $$ = array(); } + | T_USE '(' lexical_var_list ')' { $$ = $3; } +; + +lexical_var_list: + lexical_var { init($1); } + | lexical_var_list ',' lexical_var { push($1, $3); } +; + +lexical_var: + optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } +; + +name_readonly: + T_READONLY { $$ = Name[$1]; } +; + +function_call: + name argument_list { $$ = Expr\FuncCall[$1, $2]; } + | name_readonly argument_list { $$ = Expr\FuncCall[$1, $2]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex argument_list + { $$ = Expr\StaticCall[$1, $3, $4]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '{' expr '}' argument_list + { $$ = Expr\StaticCall[$1, $4, $6]; } + | static_property argument_list + { $$ = $this->fixupPhp5StaticPropCall($1, $2, attributes()); } + | variable_without_objects argument_list + { $$ = Expr\FuncCall[$1, $2]; } + | function_call '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + /* alternative array syntax missing intentionally */ +; + +class_name: + T_STATIC { $$ = Name[$1]; } + | name { $$ = $1; } +; + +name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } + | T_NAME_FULLY_QUALIFIED { $$ = Name\FullyQualified[substr($1, 1)]; } + | T_NAME_RELATIVE { $$ = Name\Relative[substr($1, 10)]; } +; + +class_name_reference: + class_name { $$ = $1; } + | dynamic_class_name_reference { $$ = $1; } +; + +dynamic_class_name_reference: + object_access_for_dcnr { $$ = $1; } + | base_variable { $$ = $1; } +; + +class_name_or_var: + class_name { $$ = $1; } + | reference_variable { $$ = $1; } +; + +object_access_for_dcnr: + base_variable T_OBJECT_OPERATOR object_property + { $$ = Expr\PropertyFetch[$1, $3]; } + | object_access_for_dcnr T_OBJECT_OPERATOR object_property + { $$ = Expr\PropertyFetch[$1, $3]; } + | object_access_for_dcnr '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | object_access_for_dcnr '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +; + +exit_expr: + /* empty */ { $$ = null; } + | '(' ')' { $$ = null; } + | parentheses_expr { $$ = $1; } +; + +backticks_expr: + /* empty */ { $$ = array(); } + | T_ENCAPSED_AND_WHITESPACE + { $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`', false)]); } + | encaps_list { parseEncapsed($1, '`', false); $$ = $1; } +; + +ctor_arguments: + /* empty */ { $$ = array(); } + | argument_list { $$ = $1; } +; + +common_scalar: + T_LNUMBER { $$ = $this->parseLNumber($1, attributes(), true); } + | T_DNUMBER { $$ = Scalar\DNumber::fromString($1, attributes()); } + | T_CONSTANT_ENCAPSED_STRING { $$ = Scalar\String_::fromString($1, attributes(), false); } + | T_LINE { $$ = Scalar\MagicConst\Line[]; } + | T_FILE { $$ = Scalar\MagicConst\File[]; } + | T_DIR { $$ = Scalar\MagicConst\Dir[]; } + | T_CLASS_C { $$ = Scalar\MagicConst\Class_[]; } + | T_TRAIT_C { $$ = Scalar\MagicConst\Trait_[]; } + | T_METHOD_C { $$ = Scalar\MagicConst\Method[]; } + | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } + | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), false); } + | T_START_HEREDOC T_END_HEREDOC + { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), false); } +; + +static_scalar: + common_scalar { $$ = $1; } + | class_name T_PAAMAYIM_NEKUDOTAYIM identifier_ex { $$ = Expr\ClassConstFetch[$1, $3]; } + | name { $$ = Expr\ConstFetch[$1]; } + | T_ARRAY '(' static_array_pair_list ')' { $$ = Expr\Array_[$3]; } + | '[' static_array_pair_list ']' { $$ = Expr\Array_[$2]; } + | static_operation { $$ = $1; } +; + +static_operation: + static_scalar T_BOOLEAN_OR static_scalar { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } + | static_scalar T_BOOLEAN_AND static_scalar { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } + | static_scalar T_LOGICAL_OR static_scalar { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } + | static_scalar T_LOGICAL_AND static_scalar { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } + | static_scalar T_LOGICAL_XOR static_scalar { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } + | static_scalar '|' static_scalar { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } + | static_scalar T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG static_scalar + { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | static_scalar T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG static_scalar + { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | static_scalar '^' static_scalar { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } + | static_scalar '.' static_scalar { $$ = Expr\BinaryOp\Concat [$1, $3]; } + | static_scalar '+' static_scalar { $$ = Expr\BinaryOp\Plus [$1, $3]; } + | static_scalar '-' static_scalar { $$ = Expr\BinaryOp\Minus [$1, $3]; } + | static_scalar '*' static_scalar { $$ = Expr\BinaryOp\Mul [$1, $3]; } + | static_scalar '/' static_scalar { $$ = Expr\BinaryOp\Div [$1, $3]; } + | static_scalar '%' static_scalar { $$ = Expr\BinaryOp\Mod [$1, $3]; } + | static_scalar T_SL static_scalar { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } + | static_scalar T_SR static_scalar { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } + | static_scalar T_POW static_scalar { $$ = Expr\BinaryOp\Pow [$1, $3]; } + | '+' static_scalar %prec T_INC { $$ = Expr\UnaryPlus [$2]; } + | '-' static_scalar %prec T_INC { $$ = Expr\UnaryMinus[$2]; } + | '!' static_scalar { $$ = Expr\BooleanNot[$2]; } + | '~' static_scalar { $$ = Expr\BitwiseNot[$2]; } + | static_scalar T_IS_IDENTICAL static_scalar { $$ = Expr\BinaryOp\Identical [$1, $3]; } + | static_scalar T_IS_NOT_IDENTICAL static_scalar { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } + | static_scalar T_IS_EQUAL static_scalar { $$ = Expr\BinaryOp\Equal [$1, $3]; } + | static_scalar T_IS_NOT_EQUAL static_scalar { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } + | static_scalar '<' static_scalar { $$ = Expr\BinaryOp\Smaller [$1, $3]; } + | static_scalar T_IS_SMALLER_OR_EQUAL static_scalar { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } + | static_scalar '>' static_scalar { $$ = Expr\BinaryOp\Greater [$1, $3]; } + | static_scalar T_IS_GREATER_OR_EQUAL static_scalar { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } + | static_scalar '?' static_scalar ':' static_scalar { $$ = Expr\Ternary[$1, $3, $5]; } + | static_scalar '?' ':' static_scalar { $$ = Expr\Ternary[$1, null, $4]; } + | static_scalar '[' static_scalar ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | '(' static_scalar ')' { $$ = $2; } +; + +constant: + name { $$ = Expr\ConstFetch[$1]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_ex + { $$ = Expr\ClassConstFetch[$1, $3]; } +; + +scalar: + common_scalar { $$ = $1; } + | constant { $$ = $1; } + | '"' encaps_list '"' + { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } + | T_START_HEREDOC encaps_list T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } +; + +static_array_pair_list: + /* empty */ { $$ = array(); } + | non_empty_static_array_pair_list optional_comma { $$ = $1; } +; + +optional_comma: + /* empty */ + | ',' +; + +non_empty_static_array_pair_list: + non_empty_static_array_pair_list ',' static_array_pair { push($1, $3); } + | static_array_pair { init($1); } +; + +static_array_pair: + static_scalar T_DOUBLE_ARROW static_scalar { $$ = Expr\ArrayItem[$3, $1, false]; } + | static_scalar { $$ = Expr\ArrayItem[$1, null, false]; } +; + +variable: + object_access { $$ = $1; } + | base_variable { $$ = $1; } + | function_call { $$ = $1; } + | new_expr_array_deref { $$ = $1; } +; + +new_expr_array_deref: + '(' new_expr ')' '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$2, $5]; } + | new_expr_array_deref '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + /* alternative array syntax missing intentionally */ +; + +object_access: + variable_or_new_expr T_OBJECT_OPERATOR object_property + { $$ = Expr\PropertyFetch[$1, $3]; } + | variable_or_new_expr T_OBJECT_OPERATOR object_property argument_list + { $$ = Expr\MethodCall[$1, $3, $4]; } + | object_access argument_list { $$ = Expr\FuncCall[$1, $2]; } + | object_access '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | object_access '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +; + +variable_or_new_expr: + variable { $$ = $1; } + | '(' new_expr ')' { $$ = $2; } +; + +variable_without_objects: + reference_variable { $$ = $1; } + | '$' variable_without_objects { $$ = Expr\Variable[$2]; } +; + +base_variable: + variable_without_objects { $$ = $1; } + | static_property { $$ = $1; } +; + +static_property: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '$' reference_variable + { $$ = Expr\StaticPropertyFetch[$1, $4]; } + | static_property_with_arrays { $$ = $1; } +; + +static_property_simple_name: + T_VARIABLE + { $var = parseVar($1); $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; } +; + +static_property_with_arrays: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM static_property_simple_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM '$' '{' expr '}' + { $$ = Expr\StaticPropertyFetch[$1, $5]; } + | static_property_with_arrays '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | static_property_with_arrays '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } +; + +reference_variable: + reference_variable '[' dim_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | reference_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | plain_variable { $$ = $1; } + | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } +; + +dim_offset: + /* empty */ { $$ = null; } + | expr { $$ = $1; } +; + +object_property: + identifier { $$ = $1; } + | '{' expr '}' { $$ = $2; } + | variable_without_objects { $$ = $1; } + | error { $$ = Expr\Error[]; $this->errorState = 2; } +; + +list_expr: + T_LIST '(' list_expr_elements ')' { $$ = Expr\List_[$3]; } +; + +list_expr_elements: + list_expr_elements ',' list_expr_element { push($1, $3); } + | list_expr_element { init($1); } +; + +list_expr_element: + variable { $$ = Expr\ArrayItem[$1, null, false]; } + | list_expr { $$ = Expr\ArrayItem[$1, null, false]; } + | /* empty */ { $$ = null; } +; + +array_pair_list: + /* empty */ { $$ = array(); } + | non_empty_array_pair_list optional_comma { $$ = $1; } +; + +non_empty_array_pair_list: + non_empty_array_pair_list ',' array_pair { push($1, $3); } + | array_pair { init($1); } +; + +array_pair: + expr T_DOUBLE_ARROW expr { $$ = Expr\ArrayItem[$3, $1, false]; } + | expr { $$ = Expr\ArrayItem[$1, null, false]; } + | expr T_DOUBLE_ARROW ampersand variable { $$ = Expr\ArrayItem[$4, $1, true]; } + | ampersand variable { $$ = Expr\ArrayItem[$2, null, true]; } + | T_ELLIPSIS expr { $$ = Expr\ArrayItem[$2, null, false, attributes(), true]; } +; + +encaps_list: + encaps_list encaps_var { push($1, $2); } + | encaps_list encaps_string_part { push($1, $2); } + | encaps_var { init($1); } + | encaps_string_part encaps_var { init($1, $2); } +; + +encaps_string_part: + T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; } +; + +encaps_str_varname: + T_STRING_VARNAME { $$ = Expr\Variable[$1]; } +; + +encaps_var: + plain_variable { $$ = $1; } + | plain_variable '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | plain_variable T_OBJECT_OPERATOR identifier { $$ = Expr\PropertyFetch[$1, $3]; } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES encaps_str_varname '[' expr ']' '}' + { $$ = Expr\ArrayDimFetch[$2, $4]; } + | T_CURLY_OPEN variable '}' { $$ = $2; } +; + +encaps_var_offset: + T_STRING { $$ = Scalar\String_[$1]; } + | T_NUM_STRING { $$ = $this->parseNumString($1, attributes()); } + | plain_variable { $$ = $1; } +; + +%% diff --git a/vendor/nikic/php-parser/grammar/php7.y b/vendor/nikic/php-parser/grammar/php7.y new file mode 100644 index 00000000..fc7862c3 --- /dev/null +++ b/vendor/nikic/php-parser/grammar/php7.y @@ -0,0 +1,1237 @@ +%pure_parser +%expect 2 + +%tokens + +%% + +start: + top_statement_list { $$ = $this->handleNamespaces($1); } +; + +top_statement_list_ex: + top_statement_list_ex top_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +top_statement_list: + top_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +ampersand: + T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG + | T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG +; + +reserved_non_modifiers: + T_INCLUDE | T_INCLUDE_ONCE | T_EVAL | T_REQUIRE | T_REQUIRE_ONCE | T_LOGICAL_OR | T_LOGICAL_XOR | T_LOGICAL_AND + | T_INSTANCEOF | T_NEW | T_CLONE | T_EXIT | T_IF | T_ELSEIF | T_ELSE | T_ENDIF | T_ECHO | T_DO | T_WHILE + | T_ENDWHILE | T_FOR | T_ENDFOR | T_FOREACH | T_ENDFOREACH | T_DECLARE | T_ENDDECLARE | T_AS | T_TRY | T_CATCH + | T_FINALLY | T_THROW | T_USE | T_INSTEADOF | T_GLOBAL | T_VAR | T_UNSET | T_ISSET | T_EMPTY | T_CONTINUE | T_GOTO + | T_FUNCTION | T_CONST | T_RETURN | T_PRINT | T_YIELD | T_LIST | T_SWITCH | T_ENDSWITCH | T_CASE | T_DEFAULT + | T_BREAK | T_ARRAY | T_CALLABLE | T_EXTENDS | T_IMPLEMENTS | T_NAMESPACE | T_TRAIT | T_INTERFACE | T_CLASS + | T_CLASS_C | T_TRAIT_C | T_FUNC_C | T_METHOD_C | T_LINE | T_FILE | T_DIR | T_NS_C | T_HALT_COMPILER | T_FN + | T_MATCH | T_ENUM +; + +semi_reserved: + reserved_non_modifiers + | T_STATIC | T_ABSTRACT | T_FINAL | T_PRIVATE | T_PROTECTED | T_PUBLIC | T_READONLY +; + +identifier_maybe_reserved: + T_STRING { $$ = Node\Identifier[$1]; } + | semi_reserved { $$ = Node\Identifier[$1]; } +; + +identifier_not_reserved: + T_STRING { $$ = Node\Identifier[$1]; } +; + +reserved_non_modifiers_identifier: + reserved_non_modifiers { $$ = Node\Identifier[$1]; } +; + +namespace_declaration_name: + T_STRING { $$ = Name[$1]; } + | semi_reserved { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } +; + +namespace_name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } +; + +legacy_namespace_name: + namespace_name { $$ = $1; } + | T_NAME_FULLY_QUALIFIED { $$ = Name[substr($1, 1)]; } +; + +plain_variable: + T_VARIABLE { $$ = Expr\Variable[parseVar($1)]; } +; + +semi: + ';' { /* nothing */ } + | error { /* nothing */ } +; + +no_comma: + /* empty */ { /* nothing */ } + | ',' { $this->emitError(new Error('A trailing comma is not allowed here', attributes())); } +; + +optional_comma: + /* empty */ + | ',' +; + +attribute_decl: + class_name { $$ = Node\Attribute[$1, []]; } + | class_name argument_list { $$ = Node\Attribute[$1, $2]; } +; + +attribute_group: + attribute_decl { init($1); } + | attribute_group ',' attribute_decl { push($1, $3); } +; + +attribute: + T_ATTRIBUTE attribute_group optional_comma ']' { $$ = Node\AttributeGroup[$2]; } +; + +attributes: + attribute { init($1); } + | attributes attribute { push($1, $2); } +; + +optional_attributes: + /* empty */ { $$ = []; } + | attributes { $$ = $1; } +; + +top_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { $$ = Stmt\HaltCompiler[$this->lexer->handleHaltCompiler()]; } + | T_NAMESPACE namespace_declaration_name semi + { $$ = Stmt\Namespace_[$2, null]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($$); } + | T_NAMESPACE namespace_declaration_name '{' top_statement_list '}' + { $$ = Stmt\Namespace_[$2, $4]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_NAMESPACE '{' top_statement_list '}' + { $$ = Stmt\Namespace_[null, $3]; + $$->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($$); } + | T_USE use_declarations semi { $$ = Stmt\Use_[$2, Stmt\Use_::TYPE_NORMAL]; } + | T_USE use_type use_declarations semi { $$ = Stmt\Use_[$3, $2]; } + | group_use_declaration semi { $$ = $1; } + | T_CONST constant_declaration_list semi { $$ = Stmt\Const_[$2]; } +; + +use_type: + T_FUNCTION { $$ = Stmt\Use_::TYPE_FUNCTION; } + | T_CONST { $$ = Stmt\Use_::TYPE_CONSTANT; } +; + +group_use_declaration: + T_USE use_type legacy_namespace_name T_NS_SEPARATOR '{' unprefixed_use_declarations '}' + { $$ = Stmt\GroupUse[$3, $6, $2]; } + | T_USE legacy_namespace_name T_NS_SEPARATOR '{' inline_use_declarations '}' + { $$ = Stmt\GroupUse[$2, $5, Stmt\Use_::TYPE_UNKNOWN]; } +; + +unprefixed_use_declarations: + non_empty_unprefixed_use_declarations optional_comma { $$ = $1; } +; + +non_empty_unprefixed_use_declarations: + non_empty_unprefixed_use_declarations ',' unprefixed_use_declaration + { push($1, $3); } + | unprefixed_use_declaration { init($1); } +; + +use_declarations: + non_empty_use_declarations no_comma { $$ = $1; } +; + +non_empty_use_declarations: + non_empty_use_declarations ',' use_declaration { push($1, $3); } + | use_declaration { init($1); } +; + +inline_use_declarations: + non_empty_inline_use_declarations optional_comma { $$ = $1; } +; + +non_empty_inline_use_declarations: + non_empty_inline_use_declarations ',' inline_use_declaration + { push($1, $3); } + | inline_use_declaration { init($1); } +; + +unprefixed_use_declaration: + namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | namespace_name T_AS identifier_not_reserved + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +use_declaration: + legacy_namespace_name + { $$ = Stmt\UseUse[$1, null, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #1); } + | legacy_namespace_name T_AS identifier_not_reserved + { $$ = Stmt\UseUse[$1, $3, Stmt\Use_::TYPE_UNKNOWN]; $this->checkUseUse($$, #3); } +; + +inline_use_declaration: + unprefixed_use_declaration { $$ = $1; $$->type = Stmt\Use_::TYPE_NORMAL; } + | use_type unprefixed_use_declaration { $$ = $2; $$->type = $1; } +; + +constant_declaration_list: + non_empty_constant_declaration_list no_comma { $$ = $1; } +; + +non_empty_constant_declaration_list: + non_empty_constant_declaration_list ',' constant_declaration + { push($1, $3); } + | constant_declaration { init($1); } +; + +constant_declaration: + identifier_not_reserved '=' expr { $$ = Node\Const_[$1, $3]; } +; + +class_const_list: + non_empty_class_const_list no_comma { $$ = $1; } +; + +non_empty_class_const_list: + non_empty_class_const_list ',' class_const { push($1, $3); } + | class_const { init($1); } +; + +class_const: + identifier_maybe_reserved '=' expr { $$ = Node\Const_[$1, $3]; } +; + +inner_statement_list_ex: + inner_statement_list_ex inner_statement { pushNormalizing($1, $2); } + | /* empty */ { init(); } +; + +inner_statement_list: + inner_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +inner_statement: + statement { $$ = $1; } + | function_declaration_statement { $$ = $1; } + | class_declaration_statement { $$ = $1; } + | T_HALT_COMPILER + { throw new Error('__HALT_COMPILER() can only be used from the outermost scope', attributes()); } +; + +non_empty_statement: + '{' inner_statement_list '}' + { + if ($2) { + $$ = $2; prependLeadingComments($$); + } else { + makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if (null === $$) { $$ = array(); } + } + } + | T_IF '(' expr ')' statement elseif_list else_single + { $$ = Stmt\If_[$3, ['stmts' => toArray($5), 'elseifs' => $6, 'else' => $7]]; } + | T_IF '(' expr ')' ':' inner_statement_list new_elseif_list new_else_single T_ENDIF ';' + { $$ = Stmt\If_[$3, ['stmts' => $6, 'elseifs' => $7, 'else' => $8]]; } + | T_WHILE '(' expr ')' while_statement { $$ = Stmt\While_[$3, $5]; } + | T_DO statement T_WHILE '(' expr ')' ';' { $$ = Stmt\Do_ [$5, toArray($2)]; } + | T_FOR '(' for_expr ';' for_expr ';' for_expr ')' for_statement + { $$ = Stmt\For_[['init' => $3, 'cond' => $5, 'loop' => $7, 'stmts' => $9]]; } + | T_SWITCH '(' expr ')' switch_case_list { $$ = Stmt\Switch_[$3, $5]; } + | T_BREAK optional_expr semi { $$ = Stmt\Break_[$2]; } + | T_CONTINUE optional_expr semi { $$ = Stmt\Continue_[$2]; } + | T_RETURN optional_expr semi { $$ = Stmt\Return_[$2]; } + | T_GLOBAL global_var_list semi { $$ = Stmt\Global_[$2]; } + | T_STATIC static_var_list semi { $$ = Stmt\Static_[$2]; } + | T_ECHO expr_list_forbid_comma semi { $$ = Stmt\Echo_[$2]; } + | T_INLINE_HTML { $$ = Stmt\InlineHTML[$1]; } + | expr semi { + $e = $1; + if ($e instanceof Expr\Throw_) { + // For backwards-compatibility reasons, convert throw in statement position into + // Stmt\Throw_ rather than Stmt\Expression(Expr\Throw_). + $$ = Stmt\Throw_[$e->expr]; + } else { + $$ = Stmt\Expression[$e]; + } + } + | T_UNSET '(' variables_list ')' semi { $$ = Stmt\Unset_[$3]; } + | T_FOREACH '(' expr T_AS foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $5[0], ['keyVar' => null, 'byRef' => $5[1], 'stmts' => $7]]; } + | T_FOREACH '(' expr T_AS variable T_DOUBLE_ARROW foreach_variable ')' foreach_statement + { $$ = Stmt\Foreach_[$3, $7[0], ['keyVar' => $5, 'byRef' => $7[1], 'stmts' => $9]]; } + | T_FOREACH '(' expr error ')' foreach_statement + { $$ = Stmt\Foreach_[$3, new Expr\Error(stackAttributes(#4)), ['stmts' => $6]]; } + | T_DECLARE '(' declare_list ')' declare_statement { $$ = Stmt\Declare_[$3, $5]; } + | T_TRY '{' inner_statement_list '}' catches optional_finally + { $$ = Stmt\TryCatch[$3, $5, $6]; $this->checkTryCatch($$); } + | T_GOTO identifier_not_reserved semi { $$ = Stmt\Goto_[$2]; } + | identifier_not_reserved ':' { $$ = Stmt\Label[$1]; } + | error { $$ = array(); /* means: no statement */ } +; + +statement: + non_empty_statement { $$ = $1; } + | ';' + { makeNop($$, $this->startAttributeStack[#1], $this->endAttributes); + if ($$ === null) $$ = array(); /* means: no statement */ } +; + +catches: + /* empty */ { init(); } + | catches catch { push($1, $2); } +; + +name_union: + name { init($1); } + | name_union '|' name { push($1, $3); } +; + +catch: + T_CATCH '(' name_union optional_plain_variable ')' '{' inner_statement_list '}' + { $$ = Stmt\Catch_[$3, $4, $7]; } +; + +optional_finally: + /* empty */ { $$ = null; } + | T_FINALLY '{' inner_statement_list '}' { $$ = Stmt\Finally_[$3]; } +; + +variables_list: + non_empty_variables_list optional_comma { $$ = $1; } +; + +non_empty_variables_list: + variable { init($1); } + | non_empty_variables_list ',' variable { push($1, $3); } +; + +optional_ref: + /* empty */ { $$ = false; } + | ampersand { $$ = true; } +; + +optional_arg_ref: + /* empty */ { $$ = false; } + | T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG { $$ = true; } +; + +optional_ellipsis: + /* empty */ { $$ = false; } + | T_ELLIPSIS { $$ = true; } +; + +block_or_error: + '{' inner_statement_list '}' { $$ = $2; } + | error { $$ = []; } +; + +identifier_maybe_readonly: + identifier_not_reserved { $$ = $1; } + | T_READONLY { $$ = Node\Identifier[$1]; } +; + +function_declaration_statement: + T_FUNCTION optional_ref identifier_maybe_readonly '(' parameter_list ')' optional_return_type block_or_error + { $$ = Stmt\Function_[$3, ['byRef' => $2, 'params' => $5, 'returnType' => $7, 'stmts' => $8, 'attrGroups' => []]]; } + | attributes T_FUNCTION optional_ref identifier_maybe_readonly '(' parameter_list ')' optional_return_type block_or_error + { $$ = Stmt\Function_[$4, ['byRef' => $3, 'params' => $6, 'returnType' => $8, 'stmts' => $9, 'attrGroups' => $1]]; } +; + +class_declaration_statement: + class_entry_type identifier_not_reserved extends_from implements_list '{' class_statement_list '}' + { $$ = Stmt\Class_[$2, ['type' => $1, 'extends' => $3, 'implements' => $4, 'stmts' => $6, 'attrGroups' => []]]; + $this->checkClass($$, #2); } + | attributes class_entry_type identifier_not_reserved extends_from implements_list '{' class_statement_list '}' + { $$ = Stmt\Class_[$3, ['type' => $2, 'extends' => $4, 'implements' => $5, 'stmts' => $7, 'attrGroups' => $1]]; + $this->checkClass($$, #3); } + | optional_attributes T_INTERFACE identifier_not_reserved interface_extends_list '{' class_statement_list '}' + { $$ = Stmt\Interface_[$3, ['extends' => $4, 'stmts' => $6, 'attrGroups' => $1]]; + $this->checkInterface($$, #3); } + | optional_attributes T_TRAIT identifier_not_reserved '{' class_statement_list '}' + { $$ = Stmt\Trait_[$3, ['stmts' => $5, 'attrGroups' => $1]]; } + | optional_attributes T_ENUM identifier_not_reserved enum_scalar_type implements_list '{' class_statement_list '}' + { $$ = Stmt\Enum_[$3, ['scalarType' => $4, 'implements' => $5, 'stmts' => $7, 'attrGroups' => $1]]; + $this->checkEnum($$, #3); } +; + +enum_scalar_type: + /* empty */ { $$ = null; } + | ':' type { $$ = $2; } + +enum_case_expr: + /* empty */ { $$ = null; } + | '=' expr { $$ = $2; } +; + +class_entry_type: + T_CLASS { $$ = 0; } + | class_modifiers T_CLASS { $$ = $1; } +; + +class_modifiers: + class_modifier { $$ = $1; } + | class_modifiers class_modifier { $this->checkClassModifier($1, $2, #2); $$ = $1 | $2; } +; + +class_modifier: + T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } + | T_READONLY { $$ = Stmt\Class_::MODIFIER_READONLY; } +; + +extends_from: + /* empty */ { $$ = null; } + | T_EXTENDS class_name { $$ = $2; } +; + +interface_extends_list: + /* empty */ { $$ = array(); } + | T_EXTENDS class_name_list { $$ = $2; } +; + +implements_list: + /* empty */ { $$ = array(); } + | T_IMPLEMENTS class_name_list { $$ = $2; } +; + +class_name_list: + non_empty_class_name_list no_comma { $$ = $1; } +; + +non_empty_class_name_list: + class_name { init($1); } + | non_empty_class_name_list ',' class_name { push($1, $3); } +; + +for_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOR ';' { $$ = $2; } +; + +foreach_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDFOREACH ';' { $$ = $2; } +; + +declare_statement: + non_empty_statement { $$ = toArray($1); } + | ';' { $$ = null; } + | ':' inner_statement_list T_ENDDECLARE ';' { $$ = $2; } +; + +declare_list: + non_empty_declare_list no_comma { $$ = $1; } +; + +non_empty_declare_list: + declare_list_element { init($1); } + | non_empty_declare_list ',' declare_list_element { push($1, $3); } +; + +declare_list_element: + identifier_not_reserved '=' expr { $$ = Stmt\DeclareDeclare[$1, $3]; } +; + +switch_case_list: + '{' case_list '}' { $$ = $2; } + | '{' ';' case_list '}' { $$ = $3; } + | ':' case_list T_ENDSWITCH ';' { $$ = $2; } + | ':' ';' case_list T_ENDSWITCH ';' { $$ = $3; } +; + +case_list: + /* empty */ { init(); } + | case_list case { push($1, $2); } +; + +case: + T_CASE expr case_separator inner_statement_list_ex { $$ = Stmt\Case_[$2, $4]; } + | T_DEFAULT case_separator inner_statement_list_ex { $$ = Stmt\Case_[null, $3]; } +; + +case_separator: + ':' + | ';' +; + +match: + T_MATCH '(' expr ')' '{' match_arm_list '}' { $$ = Expr\Match_[$3, $6]; } +; + +match_arm_list: + /* empty */ { $$ = []; } + | non_empty_match_arm_list optional_comma { $$ = $1; } +; + +non_empty_match_arm_list: + match_arm { init($1); } + | non_empty_match_arm_list ',' match_arm { push($1, $3); } +; + +match_arm: + expr_list_allow_comma T_DOUBLE_ARROW expr { $$ = Node\MatchArm[$1, $3]; } + | T_DEFAULT optional_comma T_DOUBLE_ARROW expr { $$ = Node\MatchArm[null, $4]; } +; + +while_statement: + statement { $$ = toArray($1); } + | ':' inner_statement_list T_ENDWHILE ';' { $$ = $2; } +; + +elseif_list: + /* empty */ { init(); } + | elseif_list elseif { push($1, $2); } +; + +elseif: + T_ELSEIF '(' expr ')' statement { $$ = Stmt\ElseIf_[$3, toArray($5)]; } +; + +new_elseif_list: + /* empty */ { init(); } + | new_elseif_list new_elseif { push($1, $2); } +; + +new_elseif: + T_ELSEIF '(' expr ')' ':' inner_statement_list + { $$ = Stmt\ElseIf_[$3, $6]; $this->fixupAlternativeElse($$); } +; + +else_single: + /* empty */ { $$ = null; } + | T_ELSE statement { $$ = Stmt\Else_[toArray($2)]; } +; + +new_else_single: + /* empty */ { $$ = null; } + | T_ELSE ':' inner_statement_list + { $$ = Stmt\Else_[$3]; $this->fixupAlternativeElse($$); } +; + +foreach_variable: + variable { $$ = array($1, false); } + | ampersand variable { $$ = array($2, true); } + | list_expr { $$ = array($1, false); } + | array_short_syntax { $$ = array($1, false); } +; + +parameter_list: + non_empty_parameter_list optional_comma { $$ = $1; } + | /* empty */ { $$ = array(); } +; + +non_empty_parameter_list: + parameter { init($1); } + | non_empty_parameter_list ',' parameter { push($1, $3); } +; + +optional_property_modifiers: + /* empty */ { $$ = 0; } + | optional_property_modifiers property_modifier + { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } +; + +property_modifier: + T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } + | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } + | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } + | T_READONLY { $$ = Stmt\Class_::MODIFIER_READONLY; } +; + +parameter: + optional_attributes optional_property_modifiers optional_type_without_static + optional_arg_ref optional_ellipsis plain_variable + { $$ = new Node\Param($6, null, $3, $4, $5, attributes(), $2, $1); + $this->checkParam($$); } + | optional_attributes optional_property_modifiers optional_type_without_static + optional_arg_ref optional_ellipsis plain_variable '=' expr + { $$ = new Node\Param($6, $8, $3, $4, $5, attributes(), $2, $1); + $this->checkParam($$); } + | optional_attributes optional_property_modifiers optional_type_without_static + optional_arg_ref optional_ellipsis error + { $$ = new Node\Param(Expr\Error[], null, $3, $4, $5, attributes(), $2, $1); } +; + +type_expr: + type { $$ = $1; } + | '?' type { $$ = Node\NullableType[$2]; } + | union_type { $$ = Node\UnionType[$1]; } + | intersection_type { $$ = $1; } +; + +type: + type_without_static { $$ = $1; } + | T_STATIC { $$ = Node\Name['static']; } +; + +type_without_static: + name { $$ = $this->handleBuiltinTypes($1); } + | T_ARRAY { $$ = Node\Identifier['array']; } + | T_CALLABLE { $$ = Node\Identifier['callable']; } +; + +union_type_element: + type { $$ = $1; } + | '(' intersection_type ')' { $$ = $2; } +; + +union_type: + union_type_element '|' union_type_element { init($1, $3); } + | union_type '|' union_type_element { push($1, $3); } +; + +union_type_without_static_element: + type_without_static { $$ = $1; } + | '(' intersection_type_without_static ')' { $$ = $2; } +; + +union_type_without_static: + union_type_without_static_element '|' union_type_without_static_element { init($1, $3); } + | union_type_without_static '|' union_type_without_static_element { push($1, $3); } +; + +intersection_type_list: + type T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type { init($1, $3); } + | intersection_type_list T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type + { push($1, $3); } +; + +intersection_type: + intersection_type_list { $$ = Node\IntersectionType[$1]; } +; + +intersection_type_without_static_list: + type_without_static T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static + { init($1, $3); } + | intersection_type_without_static_list T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG type_without_static + { push($1, $3); } +; + +intersection_type_without_static: + intersection_type_without_static_list { $$ = Node\IntersectionType[$1]; } +; + +type_expr_without_static: + type_without_static { $$ = $1; } + | '?' type_without_static { $$ = Node\NullableType[$2]; } + | union_type_without_static { $$ = Node\UnionType[$1]; } + | intersection_type_without_static { $$ = $1; } +; + +optional_type_without_static: + /* empty */ { $$ = null; } + | type_expr_without_static { $$ = $1; } +; + +optional_return_type: + /* empty */ { $$ = null; } + | ':' type_expr { $$ = $2; } + | ':' error { $$ = null; } +; + +argument_list: + '(' ')' { $$ = array(); } + | '(' non_empty_argument_list optional_comma ')' { $$ = $2; } + | '(' variadic_placeholder ')' { init($2); } +; + +variadic_placeholder: + T_ELLIPSIS { $$ = Node\VariadicPlaceholder[]; } +; + +non_empty_argument_list: + argument { init($1); } + | non_empty_argument_list ',' argument { push($1, $3); } +; + +argument: + expr { $$ = Node\Arg[$1, false, false]; } + | ampersand variable { $$ = Node\Arg[$2, true, false]; } + | T_ELLIPSIS expr { $$ = Node\Arg[$2, false, true]; } + | identifier_maybe_reserved ':' expr + { $$ = new Node\Arg($3, false, false, attributes(), $1); } +; + +global_var_list: + non_empty_global_var_list no_comma { $$ = $1; } +; + +non_empty_global_var_list: + non_empty_global_var_list ',' global_var { push($1, $3); } + | global_var { init($1); } +; + +global_var: + simple_variable { $$ = $1; } +; + +static_var_list: + non_empty_static_var_list no_comma { $$ = $1; } +; + +non_empty_static_var_list: + non_empty_static_var_list ',' static_var { push($1, $3); } + | static_var { init($1); } +; + +static_var: + plain_variable { $$ = Stmt\StaticVar[$1, null]; } + | plain_variable '=' expr { $$ = Stmt\StaticVar[$1, $3]; } +; + +class_statement_list_ex: + class_statement_list_ex class_statement { if ($2 !== null) { push($1, $2); } } + | /* empty */ { init(); } +; + +class_statement_list: + class_statement_list_ex + { makeZeroLengthNop($nop, $this->lookaheadStartAttributes); + if ($nop !== null) { $1[] = $nop; } $$ = $1; } +; + +class_statement: + optional_attributes variable_modifiers optional_type_without_static property_declaration_list semi + { $$ = new Stmt\Property($2, $4, attributes(), $3, $1); + $this->checkProperty($$, #2); } + | optional_attributes method_modifiers T_CONST class_const_list semi + { $$ = new Stmt\ClassConst($4, $2, attributes(), $1); + $this->checkClassConst($$, #2); } + | optional_attributes method_modifiers T_FUNCTION optional_ref identifier_maybe_reserved '(' parameter_list ')' + optional_return_type method_body + { $$ = Stmt\ClassMethod[$5, ['type' => $2, 'byRef' => $4, 'params' => $7, 'returnType' => $9, 'stmts' => $10, 'attrGroups' => $1]]; + $this->checkClassMethod($$, #2); } + | T_USE class_name_list trait_adaptations { $$ = Stmt\TraitUse[$2, $3]; } + | optional_attributes T_CASE identifier_maybe_reserved enum_case_expr semi + { $$ = Stmt\EnumCase[$3, $4, $1]; } + | error { $$ = null; /* will be skipped */ } +; + +trait_adaptations: + ';' { $$ = array(); } + | '{' trait_adaptation_list '}' { $$ = $2; } +; + +trait_adaptation_list: + /* empty */ { init(); } + | trait_adaptation_list trait_adaptation { push($1, $2); } +; + +trait_adaptation: + trait_method_reference_fully_qualified T_INSTEADOF class_name_list ';' + { $$ = Stmt\TraitUseAdaptation\Precedence[$1[0], $1[1], $3]; } + | trait_method_reference T_AS member_modifier identifier_maybe_reserved ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, $4]; } + | trait_method_reference T_AS member_modifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], $3, null]; } + | trait_method_reference T_AS identifier_not_reserved ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } + | trait_method_reference T_AS reserved_non_modifiers_identifier ';' + { $$ = Stmt\TraitUseAdaptation\Alias[$1[0], $1[1], null, $3]; } +; + +trait_method_reference_fully_qualified: + name T_PAAMAYIM_NEKUDOTAYIM identifier_maybe_reserved { $$ = array($1, $3); } +; +trait_method_reference: + trait_method_reference_fully_qualified { $$ = $1; } + | identifier_maybe_reserved { $$ = array(null, $1); } +; + +method_body: + ';' /* abstract method */ { $$ = null; } + | block_or_error { $$ = $1; } +; + +variable_modifiers: + non_empty_member_modifiers { $$ = $1; } + | T_VAR { $$ = 0; } +; + +method_modifiers: + /* empty */ { $$ = 0; } + | non_empty_member_modifiers { $$ = $1; } +; + +non_empty_member_modifiers: + member_modifier { $$ = $1; } + | non_empty_member_modifiers member_modifier { $this->checkModifier($1, $2, #2); $$ = $1 | $2; } +; + +member_modifier: + T_PUBLIC { $$ = Stmt\Class_::MODIFIER_PUBLIC; } + | T_PROTECTED { $$ = Stmt\Class_::MODIFIER_PROTECTED; } + | T_PRIVATE { $$ = Stmt\Class_::MODIFIER_PRIVATE; } + | T_STATIC { $$ = Stmt\Class_::MODIFIER_STATIC; } + | T_ABSTRACT { $$ = Stmt\Class_::MODIFIER_ABSTRACT; } + | T_FINAL { $$ = Stmt\Class_::MODIFIER_FINAL; } + | T_READONLY { $$ = Stmt\Class_::MODIFIER_READONLY; } +; + +property_declaration_list: + non_empty_property_declaration_list no_comma { $$ = $1; } +; + +non_empty_property_declaration_list: + property_declaration { init($1); } + | non_empty_property_declaration_list ',' property_declaration + { push($1, $3); } +; + +property_decl_name: + T_VARIABLE { $$ = Node\VarLikeIdentifier[parseVar($1)]; } +; + +property_declaration: + property_decl_name { $$ = Stmt\PropertyProperty[$1, null]; } + | property_decl_name '=' expr { $$ = Stmt\PropertyProperty[$1, $3]; } +; + +expr_list_forbid_comma: + non_empty_expr_list no_comma { $$ = $1; } +; + +expr_list_allow_comma: + non_empty_expr_list optional_comma { $$ = $1; } +; + +non_empty_expr_list: + non_empty_expr_list ',' expr { push($1, $3); } + | expr { init($1); } +; + +for_expr: + /* empty */ { $$ = array(); } + | expr_list_forbid_comma { $$ = $1; } +; + +expr: + variable { $$ = $1; } + | list_expr '=' expr { $$ = Expr\Assign[$1, $3]; } + | array_short_syntax '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' expr { $$ = Expr\Assign[$1, $3]; } + | variable '=' ampersand variable { $$ = Expr\AssignRef[$1, $4]; } + | new_expr { $$ = $1; } + | match { $$ = $1; } + | T_CLONE expr { $$ = Expr\Clone_[$2]; } + | variable T_PLUS_EQUAL expr { $$ = Expr\AssignOp\Plus [$1, $3]; } + | variable T_MINUS_EQUAL expr { $$ = Expr\AssignOp\Minus [$1, $3]; } + | variable T_MUL_EQUAL expr { $$ = Expr\AssignOp\Mul [$1, $3]; } + | variable T_DIV_EQUAL expr { $$ = Expr\AssignOp\Div [$1, $3]; } + | variable T_CONCAT_EQUAL expr { $$ = Expr\AssignOp\Concat [$1, $3]; } + | variable T_MOD_EQUAL expr { $$ = Expr\AssignOp\Mod [$1, $3]; } + | variable T_AND_EQUAL expr { $$ = Expr\AssignOp\BitwiseAnd[$1, $3]; } + | variable T_OR_EQUAL expr { $$ = Expr\AssignOp\BitwiseOr [$1, $3]; } + | variable T_XOR_EQUAL expr { $$ = Expr\AssignOp\BitwiseXor[$1, $3]; } + | variable T_SL_EQUAL expr { $$ = Expr\AssignOp\ShiftLeft [$1, $3]; } + | variable T_SR_EQUAL expr { $$ = Expr\AssignOp\ShiftRight[$1, $3]; } + | variable T_POW_EQUAL expr { $$ = Expr\AssignOp\Pow [$1, $3]; } + | variable T_COALESCE_EQUAL expr { $$ = Expr\AssignOp\Coalesce [$1, $3]; } + | variable T_INC { $$ = Expr\PostInc[$1]; } + | T_INC variable { $$ = Expr\PreInc [$2]; } + | variable T_DEC { $$ = Expr\PostDec[$1]; } + | T_DEC variable { $$ = Expr\PreDec [$2]; } + | expr T_BOOLEAN_OR expr { $$ = Expr\BinaryOp\BooleanOr [$1, $3]; } + | expr T_BOOLEAN_AND expr { $$ = Expr\BinaryOp\BooleanAnd[$1, $3]; } + | expr T_LOGICAL_OR expr { $$ = Expr\BinaryOp\LogicalOr [$1, $3]; } + | expr T_LOGICAL_AND expr { $$ = Expr\BinaryOp\LogicalAnd[$1, $3]; } + | expr T_LOGICAL_XOR expr { $$ = Expr\BinaryOp\LogicalXor[$1, $3]; } + | expr '|' expr { $$ = Expr\BinaryOp\BitwiseOr [$1, $3]; } + | expr T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | expr T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG expr { $$ = Expr\BinaryOp\BitwiseAnd[$1, $3]; } + | expr '^' expr { $$ = Expr\BinaryOp\BitwiseXor[$1, $3]; } + | expr '.' expr { $$ = Expr\BinaryOp\Concat [$1, $3]; } + | expr '+' expr { $$ = Expr\BinaryOp\Plus [$1, $3]; } + | expr '-' expr { $$ = Expr\BinaryOp\Minus [$1, $3]; } + | expr '*' expr { $$ = Expr\BinaryOp\Mul [$1, $3]; } + | expr '/' expr { $$ = Expr\BinaryOp\Div [$1, $3]; } + | expr '%' expr { $$ = Expr\BinaryOp\Mod [$1, $3]; } + | expr T_SL expr { $$ = Expr\BinaryOp\ShiftLeft [$1, $3]; } + | expr T_SR expr { $$ = Expr\BinaryOp\ShiftRight[$1, $3]; } + | expr T_POW expr { $$ = Expr\BinaryOp\Pow [$1, $3]; } + | '+' expr %prec T_INC { $$ = Expr\UnaryPlus [$2]; } + | '-' expr %prec T_INC { $$ = Expr\UnaryMinus[$2]; } + | '!' expr { $$ = Expr\BooleanNot[$2]; } + | '~' expr { $$ = Expr\BitwiseNot[$2]; } + | expr T_IS_IDENTICAL expr { $$ = Expr\BinaryOp\Identical [$1, $3]; } + | expr T_IS_NOT_IDENTICAL expr { $$ = Expr\BinaryOp\NotIdentical [$1, $3]; } + | expr T_IS_EQUAL expr { $$ = Expr\BinaryOp\Equal [$1, $3]; } + | expr T_IS_NOT_EQUAL expr { $$ = Expr\BinaryOp\NotEqual [$1, $3]; } + | expr T_SPACESHIP expr { $$ = Expr\BinaryOp\Spaceship [$1, $3]; } + | expr '<' expr { $$ = Expr\BinaryOp\Smaller [$1, $3]; } + | expr T_IS_SMALLER_OR_EQUAL expr { $$ = Expr\BinaryOp\SmallerOrEqual[$1, $3]; } + | expr '>' expr { $$ = Expr\BinaryOp\Greater [$1, $3]; } + | expr T_IS_GREATER_OR_EQUAL expr { $$ = Expr\BinaryOp\GreaterOrEqual[$1, $3]; } + | expr T_INSTANCEOF class_name_reference { $$ = Expr\Instanceof_[$1, $3]; } + | '(' expr ')' { $$ = $2; } + | expr '?' expr ':' expr { $$ = Expr\Ternary[$1, $3, $5]; } + | expr '?' ':' expr { $$ = Expr\Ternary[$1, null, $4]; } + | expr T_COALESCE expr { $$ = Expr\BinaryOp\Coalesce[$1, $3]; } + | T_ISSET '(' expr_list_allow_comma ')' { $$ = Expr\Isset_[$3]; } + | T_EMPTY '(' expr ')' { $$ = Expr\Empty_[$3]; } + | T_INCLUDE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE]; } + | T_INCLUDE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_INCLUDE_ONCE]; } + | T_EVAL '(' expr ')' { $$ = Expr\Eval_[$3]; } + | T_REQUIRE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE]; } + | T_REQUIRE_ONCE expr { $$ = Expr\Include_[$2, Expr\Include_::TYPE_REQUIRE_ONCE]; } + | T_INT_CAST expr { $$ = Expr\Cast\Int_ [$2]; } + | T_DOUBLE_CAST expr + { $attrs = attributes(); + $attrs['kind'] = $this->getFloatCastKind($1); + $$ = new Expr\Cast\Double($2, $attrs); } + | T_STRING_CAST expr { $$ = Expr\Cast\String_ [$2]; } + | T_ARRAY_CAST expr { $$ = Expr\Cast\Array_ [$2]; } + | T_OBJECT_CAST expr { $$ = Expr\Cast\Object_ [$2]; } + | T_BOOL_CAST expr { $$ = Expr\Cast\Bool_ [$2]; } + | T_UNSET_CAST expr { $$ = Expr\Cast\Unset_ [$2]; } + | T_EXIT exit_expr + { $attrs = attributes(); + $attrs['kind'] = strtolower($1) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $$ = new Expr\Exit_($2, $attrs); } + | '@' expr { $$ = Expr\ErrorSuppress[$2]; } + | scalar { $$ = $1; } + | '`' backticks_expr '`' { $$ = Expr\ShellExec[$2]; } + | T_PRINT expr { $$ = Expr\Print_[$2]; } + | T_YIELD { $$ = Expr\Yield_[null, null]; } + | T_YIELD expr { $$ = Expr\Yield_[$2, null]; } + | T_YIELD expr T_DOUBLE_ARROW expr { $$ = Expr\Yield_[$4, $2]; } + | T_YIELD_FROM expr { $$ = Expr\YieldFrom[$2]; } + | T_THROW expr { $$ = Expr\Throw_[$2]; } + + | T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr %prec T_THROW + { $$ = Expr\ArrowFunction[['static' => false, 'byRef' => $2, 'params' => $4, 'returnType' => $6, 'expr' => $8, 'attrGroups' => []]]; } + | T_STATIC T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr %prec T_THROW + { $$ = Expr\ArrowFunction[['static' => true, 'byRef' => $3, 'params' => $5, 'returnType' => $7, 'expr' => $9, 'attrGroups' => []]]; } + | T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => false, 'byRef' => $2, 'params' => $4, 'uses' => $6, 'returnType' => $7, 'stmts' => $8, 'attrGroups' => []]]; } + | T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => true, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $9, 'attrGroups' => []]]; } + + | attributes T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr %prec T_THROW + { $$ = Expr\ArrowFunction[['static' => false, 'byRef' => $3, 'params' => $5, 'returnType' => $7, 'expr' => $9, 'attrGroups' => $1]]; } + | attributes T_STATIC T_FN optional_ref '(' parameter_list ')' optional_return_type T_DOUBLE_ARROW expr %prec T_THROW + { $$ = Expr\ArrowFunction[['static' => true, 'byRef' => $4, 'params' => $6, 'returnType' => $8, 'expr' => $10, 'attrGroups' => $1]]; } + | attributes T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => false, 'byRef' => $3, 'params' => $5, 'uses' => $7, 'returnType' => $8, 'stmts' => $9, 'attrGroups' => $1]]; } + | attributes T_STATIC T_FUNCTION optional_ref '(' parameter_list ')' lexical_vars optional_return_type block_or_error + { $$ = Expr\Closure[['static' => true, 'byRef' => $4, 'params' => $6, 'uses' => $8, 'returnType' => $9, 'stmts' => $10, 'attrGroups' => $1]]; } +; + +anonymous_class: + optional_attributes T_CLASS ctor_arguments extends_from implements_list '{' class_statement_list '}' + { $$ = array(Stmt\Class_[null, ['type' => 0, 'extends' => $4, 'implements' => $5, 'stmts' => $7, 'attrGroups' => $1]], $3); + $this->checkClass($$[0], -1); } +; + +new_expr: + T_NEW class_name_reference ctor_arguments { $$ = Expr\New_[$2, $3]; } + | T_NEW anonymous_class + { list($class, $ctorArgs) = $2; $$ = Expr\New_[$class, $ctorArgs]; } +; + +lexical_vars: + /* empty */ { $$ = array(); } + | T_USE '(' lexical_var_list ')' { $$ = $3; } +; + +lexical_var_list: + non_empty_lexical_var_list optional_comma { $$ = $1; } +; + +non_empty_lexical_var_list: + lexical_var { init($1); } + | non_empty_lexical_var_list ',' lexical_var { push($1, $3); } +; + +lexical_var: + optional_ref plain_variable { $$ = Expr\ClosureUse[$2, $1]; } +; + +name_readonly: + T_READONLY { $$ = Name[$1]; } +; + +function_call: + name argument_list { $$ = Expr\FuncCall[$1, $2]; } + | name_readonly argument_list { $$ = Expr\FuncCall[$1, $2]; } + | callable_expr argument_list { $$ = Expr\FuncCall[$1, $2]; } + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM member_name argument_list + { $$ = Expr\StaticCall[$1, $3, $4]; } +; + +class_name: + T_STATIC { $$ = Name[$1]; } + | name { $$ = $1; } +; + +name: + T_STRING { $$ = Name[$1]; } + | T_NAME_QUALIFIED { $$ = Name[$1]; } + | T_NAME_FULLY_QUALIFIED { $$ = Name\FullyQualified[substr($1, 1)]; } + | T_NAME_RELATIVE { $$ = Name\Relative[substr($1, 10)]; } +; + +class_name_reference: + class_name { $$ = $1; } + | new_variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | error { $$ = Expr\Error[]; $this->errorState = 2; } +; + +class_name_or_var: + class_name { $$ = $1; } + | fully_dereferencable { $$ = $1; } +; + +exit_expr: + /* empty */ { $$ = null; } + | '(' optional_expr ')' { $$ = $2; } +; + +backticks_expr: + /* empty */ { $$ = array(); } + | T_ENCAPSED_AND_WHITESPACE + { $$ = array(Scalar\EncapsedStringPart[Scalar\String_::parseEscapeSequences($1, '`')]); } + | encaps_list { parseEncapsed($1, '`', true); $$ = $1; } +; + +ctor_arguments: + /* empty */ { $$ = array(); } + | argument_list { $$ = $1; } +; + +constant: + name { $$ = Expr\ConstFetch[$1]; } + | T_LINE { $$ = Scalar\MagicConst\Line[]; } + | T_FILE { $$ = Scalar\MagicConst\File[]; } + | T_DIR { $$ = Scalar\MagicConst\Dir[]; } + | T_CLASS_C { $$ = Scalar\MagicConst\Class_[]; } + | T_TRAIT_C { $$ = Scalar\MagicConst\Trait_[]; } + | T_METHOD_C { $$ = Scalar\MagicConst\Method[]; } + | T_FUNC_C { $$ = Scalar\MagicConst\Function_[]; } + | T_NS_C { $$ = Scalar\MagicConst\Namespace_[]; } +; + +class_constant: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM identifier_maybe_reserved + { $$ = Expr\ClassConstFetch[$1, $3]; } + /* We interpret an isolated FOO:: as an unfinished class constant fetch. It could also be + an unfinished static property fetch or unfinished scoped call. */ + | class_name_or_var T_PAAMAYIM_NEKUDOTAYIM error + { $$ = Expr\ClassConstFetch[$1, new Expr\Error(stackAttributes(#3))]; $this->errorState = 2; } +; + +array_short_syntax: + '[' array_pair_list ']' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_SHORT; + $$ = new Expr\Array_($2, $attrs); } +; + +dereferencable_scalar: + T_ARRAY '(' array_pair_list ')' + { $attrs = attributes(); $attrs['kind'] = Expr\Array_::KIND_LONG; + $$ = new Expr\Array_($3, $attrs); } + | array_short_syntax { $$ = $1; } + | T_CONSTANT_ENCAPSED_STRING { $$ = Scalar\String_::fromString($1, attributes()); } + | '"' encaps_list '"' + { $attrs = attributes(); $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + parseEncapsed($2, '"', true); $$ = new Scalar\Encapsed($2, $attrs); } +; + +scalar: + T_LNUMBER { $$ = $this->parseLNumber($1, attributes()); } + | T_DNUMBER { $$ = Scalar\DNumber::fromString($1, attributes()); } + | dereferencable_scalar { $$ = $1; } + | constant { $$ = $1; } + | class_constant { $$ = $1; } + | T_START_HEREDOC T_ENCAPSED_AND_WHITESPACE T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } + | T_START_HEREDOC T_END_HEREDOC + { $$ = $this->parseDocString($1, '', $2, attributes(), stackAttributes(#2), true); } + | T_START_HEREDOC encaps_list T_END_HEREDOC + { $$ = $this->parseDocString($1, $2, $3, attributes(), stackAttributes(#3), true); } +; + +optional_expr: + /* empty */ { $$ = null; } + | expr { $$ = $1; } +; + +fully_dereferencable: + variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | dereferencable_scalar { $$ = $1; } + | class_constant { $$ = $1; } +; + +array_object_dereferencable: + fully_dereferencable { $$ = $1; } + | constant { $$ = $1; } +; + +callable_expr: + callable_variable { $$ = $1; } + | '(' expr ')' { $$ = $2; } + | dereferencable_scalar { $$ = $1; } +; + +callable_variable: + simple_variable { $$ = $1; } + | array_object_dereferencable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | array_object_dereferencable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | function_call { $$ = $1; } + | array_object_dereferencable T_OBJECT_OPERATOR property_name argument_list + { $$ = Expr\MethodCall[$1, $3, $4]; } + | array_object_dereferencable T_NULLSAFE_OBJECT_OPERATOR property_name argument_list + { $$ = Expr\NullsafeMethodCall[$1, $3, $4]; } +; + +optional_plain_variable: + /* empty */ { $$ = null; } + | plain_variable { $$ = $1; } +; + +variable: + callable_variable { $$ = $1; } + | static_member { $$ = $1; } + | array_object_dereferencable T_OBJECT_OPERATOR property_name + { $$ = Expr\PropertyFetch[$1, $3]; } + | array_object_dereferencable T_NULLSAFE_OBJECT_OPERATOR property_name + { $$ = Expr\NullsafePropertyFetch[$1, $3]; } +; + +simple_variable: + plain_variable { $$ = $1; } + | '$' '{' expr '}' { $$ = Expr\Variable[$3]; } + | '$' simple_variable { $$ = Expr\Variable[$2]; } + | '$' error { $$ = Expr\Variable[Expr\Error[]]; $this->errorState = 2; } +; + +static_member_prop_name: + simple_variable + { $var = $1->name; $$ = \is_string($var) ? Node\VarLikeIdentifier[$var] : $var; } +; + +static_member: + class_name_or_var T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } +; + +new_variable: + simple_variable { $$ = $1; } + | new_variable '[' optional_expr ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | new_variable '{' expr '}' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | new_variable T_OBJECT_OPERATOR property_name { $$ = Expr\PropertyFetch[$1, $3]; } + | new_variable T_NULLSAFE_OBJECT_OPERATOR property_name { $$ = Expr\NullsafePropertyFetch[$1, $3]; } + | class_name T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } + | new_variable T_PAAMAYIM_NEKUDOTAYIM static_member_prop_name + { $$ = Expr\StaticPropertyFetch[$1, $3]; } +; + +member_name: + identifier_maybe_reserved { $$ = $1; } + | '{' expr '}' { $$ = $2; } + | simple_variable { $$ = $1; } +; + +property_name: + identifier_not_reserved { $$ = $1; } + | '{' expr '}' { $$ = $2; } + | simple_variable { $$ = $1; } + | error { $$ = Expr\Error[]; $this->errorState = 2; } +; + +list_expr: + T_LIST '(' inner_array_pair_list ')' { $$ = Expr\List_[$3]; } +; + +array_pair_list: + inner_array_pair_list + { $$ = $1; $end = count($$)-1; if ($$[$end] === null) array_pop($$); } +; + +comma_or_error: + ',' + | error + { /* do nothing -- prevent default action of $$=$1. See #551. */ } +; + +inner_array_pair_list: + inner_array_pair_list comma_or_error array_pair { push($1, $3); } + | array_pair { init($1); } +; + +array_pair: + expr { $$ = Expr\ArrayItem[$1, null, false]; } + | ampersand variable { $$ = Expr\ArrayItem[$2, null, true]; } + | list_expr { $$ = Expr\ArrayItem[$1, null, false]; } + | expr T_DOUBLE_ARROW expr { $$ = Expr\ArrayItem[$3, $1, false]; } + | expr T_DOUBLE_ARROW ampersand variable { $$ = Expr\ArrayItem[$4, $1, true]; } + | expr T_DOUBLE_ARROW list_expr { $$ = Expr\ArrayItem[$3, $1, false]; } + | T_ELLIPSIS expr { $$ = Expr\ArrayItem[$2, null, false, attributes(), true]; } + | /* empty */ { $$ = null; } +; + +encaps_list: + encaps_list encaps_var { push($1, $2); } + | encaps_list encaps_string_part { push($1, $2); } + | encaps_var { init($1); } + | encaps_string_part encaps_var { init($1, $2); } +; + +encaps_string_part: + T_ENCAPSED_AND_WHITESPACE { $$ = Scalar\EncapsedStringPart[$1]; } +; + +encaps_str_varname: + T_STRING_VARNAME { $$ = Expr\Variable[$1]; } +; + +encaps_var: + plain_variable { $$ = $1; } + | plain_variable '[' encaps_var_offset ']' { $$ = Expr\ArrayDimFetch[$1, $3]; } + | plain_variable T_OBJECT_OPERATOR identifier_not_reserved + { $$ = Expr\PropertyFetch[$1, $3]; } + | plain_variable T_NULLSAFE_OBJECT_OPERATOR identifier_not_reserved + { $$ = Expr\NullsafePropertyFetch[$1, $3]; } + | T_DOLLAR_OPEN_CURLY_BRACES expr '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES T_STRING_VARNAME '}' { $$ = Expr\Variable[$2]; } + | T_DOLLAR_OPEN_CURLY_BRACES encaps_str_varname '[' expr ']' '}' + { $$ = Expr\ArrayDimFetch[$2, $4]; } + | T_CURLY_OPEN variable '}' { $$ = $2; } +; + +encaps_var_offset: + T_STRING { $$ = Scalar\String_[$1]; } + | T_NUM_STRING { $$ = $this->parseNumString($1, attributes()); } + | '-' T_NUM_STRING { $$ = $this->parseNumString('-' . $2, attributes()); } + | plain_variable { $$ = $1; } +; + +%% diff --git a/vendor/nikic/php-parser/grammar/phpyLang.php b/vendor/nikic/php-parser/grammar/phpyLang.php new file mode 100644 index 00000000..663c2a14 --- /dev/null +++ b/vendor/nikic/php-parser/grammar/phpyLang.php @@ -0,0 +1,184 @@ +\'[^\\\\\']*+(?:\\\\.[^\\\\\']*+)*+\') + (?"[^\\\\"]*+(?:\\\\.[^\\\\"]*+)*+") + (?(?&singleQuotedString)|(?&doubleQuotedString)) + (?/\*[^*]*+(?:\*(?!/)[^*]*+)*+\*/) + (?\{[^\'"/{}]*+(?:(?:(?&string)|(?&comment)|(?&code)|/)[^\'"/{}]*+)*+}) +)'; + +const PARAMS = '\[(?[^[\]]*+(?:\[(?¶ms)\][^[\]]*+)*+)\]'; +const ARGS = '\((?[^()]*+(?:\((?&args)\)[^()]*+)*+)\)'; + +/////////////////////////////// +/// Preprocessing functions /// +/////////////////////////////// + +function preprocessGrammar($code) { + $code = resolveNodes($code); + $code = resolveMacros($code); + $code = resolveStackAccess($code); + + return $code; +} + +function resolveNodes($code) { + return preg_replace_callback( + '~\b(?[A-Z][a-zA-Z_\\\\]++)\s*' . PARAMS . '~', + function($matches) { + // recurse + $matches['params'] = resolveNodes($matches['params']); + + $params = magicSplit( + '(?:' . PARAMS . '|' . ARGS . ')(*SKIP)(*FAIL)|,', + $matches['params'] + ); + + $paramCode = ''; + foreach ($params as $param) { + $paramCode .= $param . ', '; + } + + return 'new ' . $matches['name'] . '(' . $paramCode . 'attributes())'; + }, + $code + ); +} + +function resolveMacros($code) { + return preg_replace_callback( + '~\b(?)(?!array\()(?[a-z][A-Za-z]++)' . ARGS . '~', + function($matches) { + // recurse + $matches['args'] = resolveMacros($matches['args']); + + $name = $matches['name']; + $args = magicSplit( + '(?:' . PARAMS . '|' . ARGS . ')(*SKIP)(*FAIL)|,', + $matches['args'] + ); + + if ('attributes' === $name) { + assertArgs(0, $args, $name); + return '$this->startAttributeStack[#1] + $this->endAttributes'; + } + + if ('stackAttributes' === $name) { + assertArgs(1, $args, $name); + return '$this->startAttributeStack[' . $args[0] . ']' + . ' + $this->endAttributeStack[' . $args[0] . ']'; + } + + if ('init' === $name) { + return '$$ = array(' . implode(', ', $args) . ')'; + } + + if ('push' === $name) { + assertArgs(2, $args, $name); + + return $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0]; + } + + if ('pushNormalizing' === $name) { + assertArgs(2, $args, $name); + + return 'if (is_array(' . $args[1] . ')) { $$ = array_merge(' . $args[0] . ', ' . $args[1] . '); }' + . ' else { ' . $args[0] . '[] = ' . $args[1] . '; $$ = ' . $args[0] . '; }'; + } + + if ('toArray' == $name) { + assertArgs(1, $args, $name); + + return 'is_array(' . $args[0] . ') ? ' . $args[0] . ' : array(' . $args[0] . ')'; + } + + if ('parseVar' === $name) { + assertArgs(1, $args, $name); + + return 'substr(' . $args[0] . ', 1)'; + } + + if ('parseEncapsed' === $name) { + assertArgs(3, $args, $name); + + return 'foreach (' . $args[0] . ' as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) {' + . ' $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, ' . $args[1] . ', ' . $args[2] . '); } }'; + } + + if ('makeNop' === $name) { + assertArgs(3, $args, $name); + + return '$startAttributes = ' . $args[1] . ';' + . ' if (isset($startAttributes[\'comments\']))' + . ' { ' . $args[0] . ' = new Stmt\Nop($startAttributes + ' . $args[2] . '); }' + . ' else { ' . $args[0] . ' = null; }'; + } + + if ('makeZeroLengthNop' == $name) { + assertArgs(2, $args, $name); + + return '$startAttributes = ' . $args[1] . ';' + . ' if (isset($startAttributes[\'comments\']))' + . ' { ' . $args[0] . ' = new Stmt\Nop($this->createCommentNopAttributes($startAttributes[\'comments\'])); }' + . ' else { ' . $args[0] . ' = null; }'; + } + + if ('prependLeadingComments' === $name) { + assertArgs(1, $args, $name); + + return '$attrs = $this->startAttributeStack[#1]; $stmts = ' . $args[0] . '; ' + . 'if (!empty($attrs[\'comments\'])) {' + . '$stmts[0]->setAttribute(\'comments\', ' + . 'array_merge($attrs[\'comments\'], $stmts[0]->getAttribute(\'comments\', []))); }'; + } + + return $matches[0]; + }, + $code + ); +} + +function assertArgs($num, $args, $name) { + if ($num != count($args)) { + die('Wrong argument count for ' . $name . '().'); + } +} + +function resolveStackAccess($code) { + $code = preg_replace('/\$\d+/', '$this->semStack[$0]', $code); + $code = preg_replace('/#(\d+)/', '$$1', $code); + return $code; +} + +function removeTrailingWhitespace($code) { + $lines = explode("\n", $code); + $lines = array_map('rtrim', $lines); + return implode("\n", $lines); +} + +////////////////////////////// +/// Regex helper functions /// +////////////////////////////// + +function regex($regex) { + return '~' . LIB . '(?:' . str_replace('~', '\~', $regex) . ')~'; +} + +function magicSplit($regex, $string) { + $pieces = preg_split(regex('(?:(?&string)|(?&comment)|(?&code))(*SKIP)(*FAIL)|' . $regex), $string); + + foreach ($pieces as &$piece) { + $piece = trim($piece); + } + + if ($pieces === ['']) { + return []; + } + + return $pieces; +} diff --git a/vendor/nikic/php-parser/grammar/rebuildParsers.php b/vendor/nikic/php-parser/grammar/rebuildParsers.php new file mode 100644 index 00000000..2d0c6b14 --- /dev/null +++ b/vendor/nikic/php-parser/grammar/rebuildParsers.php @@ -0,0 +1,81 @@ + 'Php5', + __DIR__ . '/php7.y' => 'Php7', +]; + +$tokensFile = __DIR__ . '/tokens.y'; +$tokensTemplate = __DIR__ . '/tokens.template'; +$skeletonFile = __DIR__ . '/parser.template'; +$tmpGrammarFile = __DIR__ . '/tmp_parser.phpy'; +$tmpResultFile = __DIR__ . '/tmp_parser.php'; +$resultDir = __DIR__ . '/../lib/PhpParser/Parser'; +$tokensResultsFile = $resultDir . '/Tokens.php'; + +$kmyacc = getenv('KMYACC'); +if (!$kmyacc) { + // Use phpyacc from dev dependencies by default. + $kmyacc = __DIR__ . '/../vendor/bin/phpyacc'; +} + +$options = array_flip($argv); +$optionDebug = isset($options['--debug']); +$optionKeepTmpGrammar = isset($options['--keep-tmp-grammar']); + +/////////////////// +/// Main script /// +/////////////////// + +$tokens = file_get_contents($tokensFile); + +foreach ($grammarFileToName as $grammarFile => $name) { + echo "Building temporary $name grammar file.\n"; + + $grammarCode = file_get_contents($grammarFile); + $grammarCode = str_replace('%tokens', $tokens, $grammarCode); + $grammarCode = preprocessGrammar($grammarCode); + + file_put_contents($tmpGrammarFile, $grammarCode); + + $additionalArgs = $optionDebug ? '-t -v' : ''; + + echo "Building $name parser.\n"; + $output = execCmd("$kmyacc $additionalArgs -m $skeletonFile -p $name $tmpGrammarFile"); + + $resultCode = file_get_contents($tmpResultFile); + $resultCode = removeTrailingWhitespace($resultCode); + + ensureDirExists($resultDir); + file_put_contents("$resultDir/$name.php", $resultCode); + unlink($tmpResultFile); + + echo "Building token definition.\n"; + $output = execCmd("$kmyacc -m $tokensTemplate $tmpGrammarFile"); + rename($tmpResultFile, $tokensResultsFile); + + if (!$optionKeepTmpGrammar) { + unlink($tmpGrammarFile); + } +} + +//////////////////////////////// +/// Utility helper functions /// +//////////////////////////////// + +function ensureDirExists($dir) { + if (!is_dir($dir)) { + mkdir($dir, 0777, true); + } +} + +function execCmd($cmd) { + $output = trim(shell_exec("$cmd 2>&1")); + if ($output !== "") { + echo "> " . $cmd . "\n"; + echo $output; + } + return $output; +} diff --git a/vendor/nikic/php-parser/grammar/tokens.template b/vendor/nikic/php-parser/grammar/tokens.template new file mode 100644 index 00000000..ba4e4901 --- /dev/null +++ b/vendor/nikic/php-parser/grammar/tokens.template @@ -0,0 +1,17 @@ +semValue +#semval($,%t) $this->semValue +#semval(%n) $this->stackPos-(%l-%n) +#semval(%n,%t) $this->stackPos-(%l-%n) + +namespace PhpParser\Parser; +#include; + +/* GENERATED file based on grammar/tokens.y */ +final class Tokens +{ +#tokenval + const %s = %n; +#endtokenval +} diff --git a/vendor/nikic/php-parser/grammar/tokens.y b/vendor/nikic/php-parser/grammar/tokens.y new file mode 100644 index 00000000..8f0b2172 --- /dev/null +++ b/vendor/nikic/php-parser/grammar/tokens.y @@ -0,0 +1,115 @@ +/* We currently rely on the token ID mapping to be the same between PHP 5 and PHP 7 - so the same lexer can be used for + * both. This is enforced by sharing this token file. */ + +%right T_THROW +%left T_INCLUDE T_INCLUDE_ONCE T_EVAL T_REQUIRE T_REQUIRE_ONCE +%left ',' +%left T_LOGICAL_OR +%left T_LOGICAL_XOR +%left T_LOGICAL_AND +%right T_PRINT +%right T_YIELD +%right T_DOUBLE_ARROW +%right T_YIELD_FROM +%left '=' T_PLUS_EQUAL T_MINUS_EQUAL T_MUL_EQUAL T_DIV_EQUAL T_CONCAT_EQUAL T_MOD_EQUAL T_AND_EQUAL T_OR_EQUAL T_XOR_EQUAL T_SL_EQUAL T_SR_EQUAL T_POW_EQUAL T_COALESCE_EQUAL +%left '?' ':' +%right T_COALESCE +%left T_BOOLEAN_OR +%left T_BOOLEAN_AND +%left '|' +%left '^' +%left T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG +%nonassoc T_IS_EQUAL T_IS_NOT_EQUAL T_IS_IDENTICAL T_IS_NOT_IDENTICAL T_SPACESHIP +%nonassoc '<' T_IS_SMALLER_OR_EQUAL '>' T_IS_GREATER_OR_EQUAL +%left T_SL T_SR +%left '+' '-' '.' +%left '*' '/' '%' +%right '!' +%nonassoc T_INSTANCEOF +%right '~' T_INC T_DEC T_INT_CAST T_DOUBLE_CAST T_STRING_CAST T_ARRAY_CAST T_OBJECT_CAST T_BOOL_CAST T_UNSET_CAST '@' +%right T_POW +%right '[' +%nonassoc T_NEW T_CLONE +%token T_EXIT +%token T_IF +%left T_ELSEIF +%left T_ELSE +%left T_ENDIF +%token T_LNUMBER +%token T_DNUMBER +%token T_STRING +%token T_STRING_VARNAME +%token T_VARIABLE +%token T_NUM_STRING +%token T_INLINE_HTML +%token T_ENCAPSED_AND_WHITESPACE +%token T_CONSTANT_ENCAPSED_STRING +%token T_ECHO +%token T_DO +%token T_WHILE +%token T_ENDWHILE +%token T_FOR +%token T_ENDFOR +%token T_FOREACH +%token T_ENDFOREACH +%token T_DECLARE +%token T_ENDDECLARE +%token T_AS +%token T_SWITCH +%token T_MATCH +%token T_ENDSWITCH +%token T_CASE +%token T_DEFAULT +%token T_BREAK +%token T_CONTINUE +%token T_GOTO +%token T_FUNCTION +%token T_FN +%token T_CONST +%token T_RETURN +%token T_TRY +%token T_CATCH +%token T_FINALLY +%token T_THROW +%token T_USE +%token T_INSTEADOF +%token T_GLOBAL +%right T_STATIC T_ABSTRACT T_FINAL T_PRIVATE T_PROTECTED T_PUBLIC T_READONLY +%token T_VAR +%token T_UNSET +%token T_ISSET +%token T_EMPTY +%token T_HALT_COMPILER +%token T_CLASS +%token T_TRAIT +%token T_INTERFACE +%token T_ENUM +%token T_EXTENDS +%token T_IMPLEMENTS +%token T_OBJECT_OPERATOR +%token T_NULLSAFE_OBJECT_OPERATOR +%token T_DOUBLE_ARROW +%token T_LIST +%token T_ARRAY +%token T_CALLABLE +%token T_CLASS_C +%token T_TRAIT_C +%token T_METHOD_C +%token T_FUNC_C +%token T_LINE +%token T_FILE +%token T_START_HEREDOC +%token T_END_HEREDOC +%token T_DOLLAR_OPEN_CURLY_BRACES +%token T_CURLY_OPEN +%token T_PAAMAYIM_NEKUDOTAYIM +%token T_NAMESPACE +%token T_NS_C +%token T_DIR +%token T_NS_SEPARATOR +%token T_ELLIPSIS +%token T_NAME_FULLY_QUALIFIED +%token T_NAME_QUALIFIED +%token T_NAME_RELATIVE +%token T_ATTRIBUTE +%token T_ENUM diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder.php b/vendor/nikic/php-parser/lib/PhpParser/Builder.php new file mode 100644 index 00000000..26d8921e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder.php @@ -0,0 +1,13 @@ +constants = [new Const_($name, BuilderHelpers::normalizeValue($value))]; + } + + /** + * Add another constant to const group + * + * @param string|Identifier $name Name + * @param Node\Expr|bool|null|int|float|string|array $value Value + * + * @return $this The builder instance (for fluid interface) + */ + public function addConst($name, $value) { + $this->constants[] = new Const_($name, BuilderHelpers::normalizeValue($value)); + + return $this; + } + + /** + * Makes the constant public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); + + return $this; + } + + /** + * Makes the constant protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); + + return $this; + } + + /** + * Makes the constant private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); + + return $this; + } + + /** + * Makes the constant final. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeFinal() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); + + return $this; + } + + /** + * Sets doc comment for the constant. + * + * @param PhpParser\Comment\Doc|string $docComment Doc comment to set + * + * @return $this The builder instance (for fluid interface) + */ + public function setDocComment($docComment) { + $this->attributes = [ + 'comments' => [BuilderHelpers::normalizeDocComment($docComment)] + ]; + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built class node. + * + * @return Stmt\ClassConst The built constant node + */ + public function getNode(): PhpParser\Node { + return new Stmt\ClassConst( + $this->constants, + $this->flags, + $this->attributes, + $this->attributeGroups + ); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php new file mode 100644 index 00000000..35b54d04 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Class_.php @@ -0,0 +1,146 @@ +name = $name; + } + + /** + * Extends a class. + * + * @param Name|string $class Name of class to extend + * + * @return $this The builder instance (for fluid interface) + */ + public function extend($class) { + $this->extends = BuilderHelpers::normalizeName($class); + + return $this; + } + + /** + * Implements one or more interfaces. + * + * @param Name|string ...$interfaces Names of interfaces to implement + * + * @return $this The builder instance (for fluid interface) + */ + public function implement(...$interfaces) { + foreach ($interfaces as $interface) { + $this->implements[] = BuilderHelpers::normalizeName($interface); + } + + return $this; + } + + /** + * Makes the class abstract. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeAbstract() { + $this->flags = BuilderHelpers::addClassModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); + + return $this; + } + + /** + * Makes the class final. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeFinal() { + $this->flags = BuilderHelpers::addClassModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); + + return $this; + } + + public function makeReadonly() { + $this->flags = BuilderHelpers::addClassModifier($this->flags, Stmt\Class_::MODIFIER_READONLY); + + return $this; + } + + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + $stmt = BuilderHelpers::normalizeNode($stmt); + + $targets = [ + Stmt\TraitUse::class => &$this->uses, + Stmt\ClassConst::class => &$this->constants, + Stmt\Property::class => &$this->properties, + Stmt\ClassMethod::class => &$this->methods, + ]; + + $class = \get_class($stmt); + if (!isset($targets[$class])) { + throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + + $targets[$class][] = $stmt; + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built class node. + * + * @return Stmt\Class_ The built class node + */ + public function getNode() : PhpParser\Node { + return new Stmt\Class_($this->name, [ + 'flags' => $this->flags, + 'extends' => $this->extends, + 'implements' => $this->implements, + 'stmts' => array_merge($this->uses, $this->constants, $this->properties, $this->methods), + 'attrGroups' => $this->attributeGroups, + ], $this->attributes); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php new file mode 100644 index 00000000..83094992 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Declaration.php @@ -0,0 +1,43 @@ +addStmt($stmt); + } + + return $this; + } + + /** + * Sets doc comment for the declaration. + * + * @param PhpParser\Comment\Doc|string $docComment Doc comment to set + * + * @return $this The builder instance (for fluid interface) + */ + public function setDocComment($docComment) { + $this->attributes['comments'] = [ + BuilderHelpers::normalizeDocComment($docComment) + ]; + + return $this; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php new file mode 100644 index 00000000..accc5166 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php @@ -0,0 +1,85 @@ +name = $name; + } + + /** + * Sets the value. + * + * @param Node\Expr|string|int $value + * + * @return $this + */ + public function setValue($value) { + $this->value = BuilderHelpers::normalizeValue($value); + + return $this; + } + + /** + * Sets doc comment for the constant. + * + * @param PhpParser\Comment\Doc|string $docComment Doc comment to set + * + * @return $this The builder instance (for fluid interface) + */ + public function setDocComment($docComment) { + $this->attributes = [ + 'comments' => [BuilderHelpers::normalizeDocComment($docComment)] + ]; + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built enum case node. + * + * @return Stmt\EnumCase The built constant node + */ + public function getNode(): PhpParser\Node { + return new Stmt\EnumCase( + $this->name, + $this->value, + $this->attributeGroups, + $this->attributes + ); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php new file mode 100644 index 00000000..be7eef95 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Enum_.php @@ -0,0 +1,117 @@ +name = $name; + } + + /** + * Sets the scalar type. + * + * @param string|Identifier $type + * + * @return $this + */ + public function setScalarType($scalarType) { + $this->scalarType = BuilderHelpers::normalizeType($scalarType); + + return $this; + } + + /** + * Implements one or more interfaces. + * + * @param Name|string ...$interfaces Names of interfaces to implement + * + * @return $this The builder instance (for fluid interface) + */ + public function implement(...$interfaces) { + foreach ($interfaces as $interface) { + $this->implements[] = BuilderHelpers::normalizeName($interface); + } + + return $this; + } + + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + $stmt = BuilderHelpers::normalizeNode($stmt); + + $targets = [ + Stmt\TraitUse::class => &$this->uses, + Stmt\EnumCase::class => &$this->enumCases, + Stmt\ClassConst::class => &$this->constants, + Stmt\ClassMethod::class => &$this->methods, + ]; + + $class = \get_class($stmt); + if (!isset($targets[$class])) { + throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + + $targets[$class][] = $stmt; + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built class node. + * + * @return Stmt\Enum_ The built enum node + */ + public function getNode() : PhpParser\Node { + return new Stmt\Enum_($this->name, [ + 'scalarType' => $this->scalarType, + 'implements' => $this->implements, + 'stmts' => array_merge($this->uses, $this->enumCases, $this->constants, $this->methods), + 'attrGroups' => $this->attributeGroups, + ], $this->attributes); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php new file mode 100644 index 00000000..98ea9d33 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php @@ -0,0 +1,73 @@ +returnByRef = true; + + return $this; + } + + /** + * Adds a parameter. + * + * @param Node\Param|Param $param The parameter to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addParam($param) { + $param = BuilderHelpers::normalizeNode($param); + + if (!$param instanceof Node\Param) { + throw new \LogicException(sprintf('Expected parameter node, got "%s"', $param->getType())); + } + + $this->params[] = $param; + + return $this; + } + + /** + * Adds multiple parameters. + * + * @param array $params The parameters to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addParams(array $params) { + foreach ($params as $param) { + $this->addParam($param); + } + + return $this; + } + + /** + * Sets the return type for PHP 7. + * + * @param string|Node\Name|Node\Identifier|Node\ComplexType $type + * + * @return $this The builder instance (for fluid interface) + */ + public function setReturnType($type) { + $this->returnType = BuilderHelpers::normalizeType($type); + + return $this; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php new file mode 100644 index 00000000..1cd73c0d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Function_.php @@ -0,0 +1,67 @@ +name = $name; + } + + /** + * Adds a statement. + * + * @param Node|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built function node. + * + * @return Stmt\Function_ The built function node + */ + public function getNode() : Node { + return new Stmt\Function_($this->name, [ + 'byRef' => $this->returnByRef, + 'params' => $this->params, + 'returnType' => $this->returnType, + 'stmts' => $this->stmts, + 'attrGroups' => $this->attributeGroups, + ], $this->attributes); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php new file mode 100644 index 00000000..7806e85f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Interface_.php @@ -0,0 +1,93 @@ +name = $name; + } + + /** + * Extends one or more interfaces. + * + * @param Name|string ...$interfaces Names of interfaces to extend + * + * @return $this The builder instance (for fluid interface) + */ + public function extend(...$interfaces) { + foreach ($interfaces as $interface) { + $this->extends[] = BuilderHelpers::normalizeName($interface); + } + + return $this; + } + + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + $stmt = BuilderHelpers::normalizeNode($stmt); + + if ($stmt instanceof Stmt\ClassConst) { + $this->constants[] = $stmt; + } elseif ($stmt instanceof Stmt\ClassMethod) { + // we erase all statements in the body of an interface method + $stmt->stmts = null; + $this->methods[] = $stmt; + } else { + throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built interface node. + * + * @return Stmt\Interface_ The built interface node + */ + public function getNode() : PhpParser\Node { + return new Stmt\Interface_($this->name, [ + 'extends' => $this->extends, + 'stmts' => array_merge($this->constants, $this->methods), + 'attrGroups' => $this->attributeGroups, + ], $this->attributes); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php new file mode 100644 index 00000000..232d7cb8 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Method.php @@ -0,0 +1,146 @@ +name = $name; + } + + /** + * Makes the method public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); + + return $this; + } + + /** + * Makes the method protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); + + return $this; + } + + /** + * Makes the method private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); + + return $this; + } + + /** + * Makes the method static. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeStatic() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); + + return $this; + } + + /** + * Makes the method abstract. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeAbstract() { + if (!empty($this->stmts)) { + throw new \LogicException('Cannot make method with statements abstract'); + } + + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_ABSTRACT); + $this->stmts = null; // abstract methods don't have statements + + return $this; + } + + /** + * Makes the method final. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeFinal() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_FINAL); + + return $this; + } + + /** + * Adds a statement. + * + * @param Node|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + if (null === $this->stmts) { + throw new \LogicException('Cannot add statements to an abstract method'); + } + + $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built method node. + * + * @return Stmt\ClassMethod The built method node + */ + public function getNode() : Node { + return new Stmt\ClassMethod($this->name, [ + 'flags' => $this->flags, + 'byRef' => $this->returnByRef, + 'params' => $this->params, + 'returnType' => $this->returnType, + 'stmts' => $this->stmts, + 'attrGroups' => $this->attributeGroups, + ], $this->attributes); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php new file mode 100644 index 00000000..1c751e16 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php @@ -0,0 +1,45 @@ +name = null !== $name ? BuilderHelpers::normalizeName($name) : null; + } + + /** + * Adds a statement. + * + * @param Node|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + $this->stmts[] = BuilderHelpers::normalizeStmt($stmt); + + return $this; + } + + /** + * Returns the built node. + * + * @return Stmt\Namespace_ The built node + */ + public function getNode() : Node { + return new Stmt\Namespace_($this->name, $this->stmts, $this->attributes); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php new file mode 100644 index 00000000..de9aae7e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Param.php @@ -0,0 +1,122 @@ +name = $name; + } + + /** + * Sets default value for the parameter. + * + * @param mixed $value Default value to use + * + * @return $this The builder instance (for fluid interface) + */ + public function setDefault($value) { + $this->default = BuilderHelpers::normalizeValue($value); + + return $this; + } + + /** + * Sets type for the parameter. + * + * @param string|Node\Name|Node\Identifier|Node\ComplexType $type Parameter type + * + * @return $this The builder instance (for fluid interface) + */ + public function setType($type) { + $this->type = BuilderHelpers::normalizeType($type); + if ($this->type == 'void') { + throw new \LogicException('Parameter type cannot be void'); + } + + return $this; + } + + /** + * Sets type for the parameter. + * + * @param string|Node\Name|Node\Identifier|Node\ComplexType $type Parameter type + * + * @return $this The builder instance (for fluid interface) + * + * @deprecated Use setType() instead + */ + public function setTypeHint($type) { + return $this->setType($type); + } + + /** + * Make the parameter accept the value by reference. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeByRef() { + $this->byRef = true; + + return $this; + } + + /** + * Make the parameter variadic + * + * @return $this The builder instance (for fluid interface) + */ + public function makeVariadic() { + $this->variadic = true; + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built parameter node. + * + * @return Node\Param The built parameter node + */ + public function getNode() : Node { + return new Node\Param( + new Node\Expr\Variable($this->name), + $this->default, $this->type, $this->byRef, $this->variadic, [], 0, $this->attributeGroups + ); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php new file mode 100644 index 00000000..68e31856 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Property.php @@ -0,0 +1,161 @@ +name = $name; + } + + /** + * Makes the property public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PUBLIC); + + return $this; + } + + /** + * Makes the property protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PROTECTED); + + return $this; + } + + /** + * Makes the property private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_PRIVATE); + + return $this; + } + + /** + * Makes the property static. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeStatic() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_STATIC); + + return $this; + } + + /** + * Makes the property readonly. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeReadonly() { + $this->flags = BuilderHelpers::addModifier($this->flags, Stmt\Class_::MODIFIER_READONLY); + + return $this; + } + + /** + * Sets default value for the property. + * + * @param mixed $value Default value to use + * + * @return $this The builder instance (for fluid interface) + */ + public function setDefault($value) { + $this->default = BuilderHelpers::normalizeValue($value); + + return $this; + } + + /** + * Sets doc comment for the property. + * + * @param PhpParser\Comment\Doc|string $docComment Doc comment to set + * + * @return $this The builder instance (for fluid interface) + */ + public function setDocComment($docComment) { + $this->attributes = [ + 'comments' => [BuilderHelpers::normalizeDocComment($docComment)] + ]; + + return $this; + } + + /** + * Sets the property type for PHP 7.4+. + * + * @param string|Name|Identifier|ComplexType $type + * + * @return $this + */ + public function setType($type) { + $this->type = BuilderHelpers::normalizeType($type); + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built class node. + * + * @return Stmt\Property The built property node + */ + public function getNode() : PhpParser\Node { + return new Stmt\Property( + $this->flags !== 0 ? $this->flags : Stmt\Class_::MODIFIER_PUBLIC, + [ + new Stmt\PropertyProperty($this->name, $this->default) + ], + $this->attributes, + $this->type, + $this->attributeGroups + ); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php new file mode 100644 index 00000000..311e8cd7 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php @@ -0,0 +1,64 @@ +and($trait); + } + } + + /** + * Adds used trait. + * + * @param Node\Name|string $trait Trait name + * + * @return $this The builder instance (for fluid interface) + */ + public function and($trait) { + $this->traits[] = BuilderHelpers::normalizeName($trait); + return $this; + } + + /** + * Adds trait adaptation. + * + * @param Stmt\TraitUseAdaptation|Builder\TraitUseAdaptation $adaptation Trait adaptation + * + * @return $this The builder instance (for fluid interface) + */ + public function with($adaptation) { + $adaptation = BuilderHelpers::normalizeNode($adaptation); + + if (!$adaptation instanceof Stmt\TraitUseAdaptation) { + throw new \LogicException('Adaptation must have type TraitUseAdaptation'); + } + + $this->adaptations[] = $adaptation; + return $this; + } + + /** + * Returns the built node. + * + * @return Node The built node + */ + public function getNode() : Node { + return new Stmt\TraitUse($this->traits, $this->adaptations); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php new file mode 100644 index 00000000..eb6c0b62 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php @@ -0,0 +1,148 @@ +type = self::TYPE_UNDEFINED; + + $this->trait = is_null($trait)? null: BuilderHelpers::normalizeName($trait); + $this->method = BuilderHelpers::normalizeIdentifier($method); + } + + /** + * Sets alias of method. + * + * @param Node\Identifier|string $alias Alias for adaptated method + * + * @return $this The builder instance (for fluid interface) + */ + public function as($alias) { + if ($this->type === self::TYPE_UNDEFINED) { + $this->type = self::TYPE_ALIAS; + } + + if ($this->type !== self::TYPE_ALIAS) { + throw new \LogicException('Cannot set alias for not alias adaptation buider'); + } + + $this->alias = $alias; + return $this; + } + + /** + * Sets adaptated method public. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePublic() { + $this->setModifier(Stmt\Class_::MODIFIER_PUBLIC); + return $this; + } + + /** + * Sets adaptated method protected. + * + * @return $this The builder instance (for fluid interface) + */ + public function makeProtected() { + $this->setModifier(Stmt\Class_::MODIFIER_PROTECTED); + return $this; + } + + /** + * Sets adaptated method private. + * + * @return $this The builder instance (for fluid interface) + */ + public function makePrivate() { + $this->setModifier(Stmt\Class_::MODIFIER_PRIVATE); + return $this; + } + + /** + * Adds overwritten traits. + * + * @param Node\Name|string ...$traits Traits for overwrite + * + * @return $this The builder instance (for fluid interface) + */ + public function insteadof(...$traits) { + if ($this->type === self::TYPE_UNDEFINED) { + if (is_null($this->trait)) { + throw new \LogicException('Precedence adaptation must have trait'); + } + + $this->type = self::TYPE_PRECEDENCE; + } + + if ($this->type !== self::TYPE_PRECEDENCE) { + throw new \LogicException('Cannot add overwritten traits for not precedence adaptation buider'); + } + + foreach ($traits as $trait) { + $this->insteadof[] = BuilderHelpers::normalizeName($trait); + } + + return $this; + } + + protected function setModifier(int $modifier) { + if ($this->type === self::TYPE_UNDEFINED) { + $this->type = self::TYPE_ALIAS; + } + + if ($this->type !== self::TYPE_ALIAS) { + throw new \LogicException('Cannot set access modifier for not alias adaptation buider'); + } + + if (is_null($this->modifier)) { + $this->modifier = $modifier; + } else { + throw new \LogicException('Multiple access type modifiers are not allowed'); + } + } + + /** + * Returns the built node. + * + * @return Node The built node + */ + public function getNode() : Node { + switch ($this->type) { + case self::TYPE_ALIAS: + return new Stmt\TraitUseAdaptation\Alias($this->trait, $this->method, $this->modifier, $this->alias); + case self::TYPE_PRECEDENCE: + return new Stmt\TraitUseAdaptation\Precedence($this->trait, $this->method, $this->insteadof); + default: + throw new \LogicException('Type of adaptation is not defined'); + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php new file mode 100644 index 00000000..97f32f98 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Trait_.php @@ -0,0 +1,78 @@ +name = $name; + } + + /** + * Adds a statement. + * + * @param Stmt|PhpParser\Builder $stmt The statement to add + * + * @return $this The builder instance (for fluid interface) + */ + public function addStmt($stmt) { + $stmt = BuilderHelpers::normalizeNode($stmt); + + if ($stmt instanceof Stmt\Property) { + $this->properties[] = $stmt; + } elseif ($stmt instanceof Stmt\ClassMethod) { + $this->methods[] = $stmt; + } elseif ($stmt instanceof Stmt\TraitUse) { + $this->uses[] = $stmt; + } else { + throw new \LogicException(sprintf('Unexpected node of type "%s"', $stmt->getType())); + } + + return $this; + } + + /** + * Adds an attribute group. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return $this The builder instance (for fluid interface) + */ + public function addAttribute($attribute) { + $this->attributeGroups[] = BuilderHelpers::normalizeAttribute($attribute); + + return $this; + } + + /** + * Returns the built trait node. + * + * @return Stmt\Trait_ The built interface node + */ + public function getNode() : PhpParser\Node { + return new Stmt\Trait_( + $this->name, [ + 'stmts' => array_merge($this->uses, $this->properties, $this->methods), + 'attrGroups' => $this->attributeGroups, + ], $this->attributes + ); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php b/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php new file mode 100644 index 00000000..4bd3d12d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Builder/Use_.php @@ -0,0 +1,49 @@ +name = BuilderHelpers::normalizeName($name); + $this->type = $type; + } + + /** + * Sets alias for used name. + * + * @param string $alias Alias to use (last component of full name by default) + * + * @return $this The builder instance (for fluid interface) + */ + public function as(string $alias) { + $this->alias = $alias; + return $this; + } + + /** + * Returns the built node. + * + * @return Stmt\Use_ The built node + */ + public function getNode() : Node { + return new Stmt\Use_([ + new Stmt\UseUse($this->name, $this->alias) + ], $this->type); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php b/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php new file mode 100644 index 00000000..fef2579b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/BuilderFactory.php @@ -0,0 +1,399 @@ +args($args) + ); + } + + /** + * Creates a namespace builder. + * + * @param null|string|Node\Name $name Name of the namespace + * + * @return Builder\Namespace_ The created namespace builder + */ + public function namespace($name) : Builder\Namespace_ { + return new Builder\Namespace_($name); + } + + /** + * Creates a class builder. + * + * @param string $name Name of the class + * + * @return Builder\Class_ The created class builder + */ + public function class(string $name) : Builder\Class_ { + return new Builder\Class_($name); + } + + /** + * Creates an interface builder. + * + * @param string $name Name of the interface + * + * @return Builder\Interface_ The created interface builder + */ + public function interface(string $name) : Builder\Interface_ { + return new Builder\Interface_($name); + } + + /** + * Creates a trait builder. + * + * @param string $name Name of the trait + * + * @return Builder\Trait_ The created trait builder + */ + public function trait(string $name) : Builder\Trait_ { + return new Builder\Trait_($name); + } + + /** + * Creates an enum builder. + * + * @param string $name Name of the enum + * + * @return Builder\Enum_ The created enum builder + */ + public function enum(string $name) : Builder\Enum_ { + return new Builder\Enum_($name); + } + + /** + * Creates a trait use builder. + * + * @param Node\Name|string ...$traits Trait names + * + * @return Builder\TraitUse The create trait use builder + */ + public function useTrait(...$traits) : Builder\TraitUse { + return new Builder\TraitUse(...$traits); + } + + /** + * Creates a trait use adaptation builder. + * + * @param Node\Name|string|null $trait Trait name + * @param Node\Identifier|string $method Method name + * + * @return Builder\TraitUseAdaptation The create trait use adaptation builder + */ + public function traitUseAdaptation($trait, $method = null) : Builder\TraitUseAdaptation { + if ($method === null) { + $method = $trait; + $trait = null; + } + + return new Builder\TraitUseAdaptation($trait, $method); + } + + /** + * Creates a method builder. + * + * @param string $name Name of the method + * + * @return Builder\Method The created method builder + */ + public function method(string $name) : Builder\Method { + return new Builder\Method($name); + } + + /** + * Creates a parameter builder. + * + * @param string $name Name of the parameter + * + * @return Builder\Param The created parameter builder + */ + public function param(string $name) : Builder\Param { + return new Builder\Param($name); + } + + /** + * Creates a property builder. + * + * @param string $name Name of the property + * + * @return Builder\Property The created property builder + */ + public function property(string $name) : Builder\Property { + return new Builder\Property($name); + } + + /** + * Creates a function builder. + * + * @param string $name Name of the function + * + * @return Builder\Function_ The created function builder + */ + public function function(string $name) : Builder\Function_ { + return new Builder\Function_($name); + } + + /** + * Creates a namespace/class use builder. + * + * @param Node\Name|string $name Name of the entity (namespace or class) to alias + * + * @return Builder\Use_ The created use builder + */ + public function use($name) : Builder\Use_ { + return new Builder\Use_($name, Use_::TYPE_NORMAL); + } + + /** + * Creates a function use builder. + * + * @param Node\Name|string $name Name of the function to alias + * + * @return Builder\Use_ The created use function builder + */ + public function useFunction($name) : Builder\Use_ { + return new Builder\Use_($name, Use_::TYPE_FUNCTION); + } + + /** + * Creates a constant use builder. + * + * @param Node\Name|string $name Name of the const to alias + * + * @return Builder\Use_ The created use const builder + */ + public function useConst($name) : Builder\Use_ { + return new Builder\Use_($name, Use_::TYPE_CONSTANT); + } + + /** + * Creates a class constant builder. + * + * @param string|Identifier $name Name + * @param Node\Expr|bool|null|int|float|string|array $value Value + * + * @return Builder\ClassConst The created use const builder + */ + public function classConst($name, $value) : Builder\ClassConst { + return new Builder\ClassConst($name, $value); + } + + /** + * Creates an enum case builder. + * + * @param string|Identifier $name Name + * + * @return Builder\EnumCase The created use const builder + */ + public function enumCase($name) : Builder\EnumCase { + return new Builder\EnumCase($name); + } + + /** + * Creates node a for a literal value. + * + * @param Expr|bool|null|int|float|string|array $value $value + * + * @return Expr + */ + public function val($value) : Expr { + return BuilderHelpers::normalizeValue($value); + } + + /** + * Creates variable node. + * + * @param string|Expr $name Name + * + * @return Expr\Variable + */ + public function var($name) : Expr\Variable { + if (!\is_string($name) && !$name instanceof Expr) { + throw new \LogicException('Variable name must be string or Expr'); + } + + return new Expr\Variable($name); + } + + /** + * Normalizes an argument list. + * + * Creates Arg nodes for all arguments and converts literal values to expressions. + * + * @param array $args List of arguments to normalize + * + * @return Arg[] + */ + public function args(array $args) : array { + $normalizedArgs = []; + foreach ($args as $key => $arg) { + if (!($arg instanceof Arg)) { + $arg = new Arg(BuilderHelpers::normalizeValue($arg)); + } + if (\is_string($key)) { + $arg->name = BuilderHelpers::normalizeIdentifier($key); + } + $normalizedArgs[] = $arg; + } + return $normalizedArgs; + } + + /** + * Creates a function call node. + * + * @param string|Name|Expr $name Function name + * @param array $args Function arguments + * + * @return Expr\FuncCall + */ + public function funcCall($name, array $args = []) : Expr\FuncCall { + return new Expr\FuncCall( + BuilderHelpers::normalizeNameOrExpr($name), + $this->args($args) + ); + } + + /** + * Creates a method call node. + * + * @param Expr $var Variable the method is called on + * @param string|Identifier|Expr $name Method name + * @param array $args Method arguments + * + * @return Expr\MethodCall + */ + public function methodCall(Expr $var, $name, array $args = []) : Expr\MethodCall { + return new Expr\MethodCall( + $var, + BuilderHelpers::normalizeIdentifierOrExpr($name), + $this->args($args) + ); + } + + /** + * Creates a static method call node. + * + * @param string|Name|Expr $class Class name + * @param string|Identifier|Expr $name Method name + * @param array $args Method arguments + * + * @return Expr\StaticCall + */ + public function staticCall($class, $name, array $args = []) : Expr\StaticCall { + return new Expr\StaticCall( + BuilderHelpers::normalizeNameOrExpr($class), + BuilderHelpers::normalizeIdentifierOrExpr($name), + $this->args($args) + ); + } + + /** + * Creates an object creation node. + * + * @param string|Name|Expr $class Class name + * @param array $args Constructor arguments + * + * @return Expr\New_ + */ + public function new($class, array $args = []) : Expr\New_ { + return new Expr\New_( + BuilderHelpers::normalizeNameOrExpr($class), + $this->args($args) + ); + } + + /** + * Creates a constant fetch node. + * + * @param string|Name $name Constant name + * + * @return Expr\ConstFetch + */ + public function constFetch($name) : Expr\ConstFetch { + return new Expr\ConstFetch(BuilderHelpers::normalizeName($name)); + } + + /** + * Creates a property fetch node. + * + * @param Expr $var Variable holding object + * @param string|Identifier|Expr $name Property name + * + * @return Expr\PropertyFetch + */ + public function propertyFetch(Expr $var, $name) : Expr\PropertyFetch { + return new Expr\PropertyFetch($var, BuilderHelpers::normalizeIdentifierOrExpr($name)); + } + + /** + * Creates a class constant fetch node. + * + * @param string|Name|Expr $class Class name + * @param string|Identifier $name Constant name + * + * @return Expr\ClassConstFetch + */ + public function classConstFetch($class, $name): Expr\ClassConstFetch { + return new Expr\ClassConstFetch( + BuilderHelpers::normalizeNameOrExpr($class), + BuilderHelpers::normalizeIdentifier($name) + ); + } + + /** + * Creates nested Concat nodes from a list of expressions. + * + * @param Expr|string ...$exprs Expressions or literal strings + * + * @return Concat + */ + public function concat(...$exprs) : Concat { + $numExprs = count($exprs); + if ($numExprs < 2) { + throw new \LogicException('Expected at least two expressions'); + } + + $lastConcat = $this->normalizeStringExpr($exprs[0]); + for ($i = 1; $i < $numExprs; $i++) { + $lastConcat = new Concat($lastConcat, $this->normalizeStringExpr($exprs[$i])); + } + return $lastConcat; + } + + /** + * @param string|Expr $expr + * @return Expr + */ + private function normalizeStringExpr($expr) : Expr { + if ($expr instanceof Expr) { + return $expr; + } + + if (\is_string($expr)) { + return new String_($expr); + } + + throw new \LogicException('Expected string or Expr'); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php b/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php new file mode 100644 index 00000000..af6ceb99 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/BuilderHelpers.php @@ -0,0 +1,335 @@ +getNode(); + } + + if ($node instanceof Node) { + return $node; + } + + throw new \LogicException('Expected node or builder object'); + } + + /** + * Normalizes a node to a statement. + * + * Expressions are wrapped in a Stmt\Expression node. + * + * @param Node|Builder $node The node to normalize + * + * @return Stmt The normalized statement node + */ + public static function normalizeStmt($node) : Stmt { + $node = self::normalizeNode($node); + if ($node instanceof Stmt) { + return $node; + } + + if ($node instanceof Expr) { + return new Stmt\Expression($node); + } + + throw new \LogicException('Expected statement or expression node'); + } + + /** + * Normalizes strings to Identifier. + * + * @param string|Identifier $name The identifier to normalize + * + * @return Identifier The normalized identifier + */ + public static function normalizeIdentifier($name) : Identifier { + if ($name instanceof Identifier) { + return $name; + } + + if (\is_string($name)) { + return new Identifier($name); + } + + throw new \LogicException('Expected string or instance of Node\Identifier'); + } + + /** + * Normalizes strings to Identifier, also allowing expressions. + * + * @param string|Identifier|Expr $name The identifier to normalize + * + * @return Identifier|Expr The normalized identifier or expression + */ + public static function normalizeIdentifierOrExpr($name) { + if ($name instanceof Identifier || $name instanceof Expr) { + return $name; + } + + if (\is_string($name)) { + return new Identifier($name); + } + + throw new \LogicException('Expected string or instance of Node\Identifier or Node\Expr'); + } + + /** + * Normalizes a name: Converts string names to Name nodes. + * + * @param Name|string $name The name to normalize + * + * @return Name The normalized name + */ + public static function normalizeName($name) : Name { + if ($name instanceof Name) { + return $name; + } + + if (is_string($name)) { + if (!$name) { + throw new \LogicException('Name cannot be empty'); + } + + if ($name[0] === '\\') { + return new Name\FullyQualified(substr($name, 1)); + } + + if (0 === strpos($name, 'namespace\\')) { + return new Name\Relative(substr($name, strlen('namespace\\'))); + } + + return new Name($name); + } + + throw new \LogicException('Name must be a string or an instance of Node\Name'); + } + + /** + * Normalizes a name: Converts string names to Name nodes, while also allowing expressions. + * + * @param Expr|Name|string $name The name to normalize + * + * @return Name|Expr The normalized name or expression + */ + public static function normalizeNameOrExpr($name) { + if ($name instanceof Expr) { + return $name; + } + + if (!is_string($name) && !($name instanceof Name)) { + throw new \LogicException( + 'Name must be a string or an instance of Node\Name or Node\Expr' + ); + } + + return self::normalizeName($name); + } + + /** + * Normalizes a type: Converts plain-text type names into proper AST representation. + * + * In particular, builtin types become Identifiers, custom types become Names and nullables + * are wrapped in NullableType nodes. + * + * @param string|Name|Identifier|ComplexType $type The type to normalize + * + * @return Name|Identifier|ComplexType The normalized type + */ + public static function normalizeType($type) { + if (!is_string($type)) { + if ( + !$type instanceof Name && !$type instanceof Identifier && + !$type instanceof ComplexType + ) { + throw new \LogicException( + 'Type must be a string, or an instance of Name, Identifier or ComplexType' + ); + } + return $type; + } + + $nullable = false; + if (strlen($type) > 0 && $type[0] === '?') { + $nullable = true; + $type = substr($type, 1); + } + + $builtinTypes = [ + 'array', + 'callable', + 'bool', + 'int', + 'float', + 'string', + 'iterable', + 'void', + 'object', + 'null', + 'false', + 'mixed', + 'never', + 'true', + ]; + + $lowerType = strtolower($type); + if (in_array($lowerType, $builtinTypes)) { + $type = new Identifier($lowerType); + } else { + $type = self::normalizeName($type); + } + + $notNullableTypes = [ + 'void', 'mixed', 'never', + ]; + if ($nullable && in_array((string) $type, $notNullableTypes)) { + throw new \LogicException(sprintf('%s type cannot be nullable', $type)); + } + + return $nullable ? new NullableType($type) : $type; + } + + /** + * Normalizes a value: Converts nulls, booleans, integers, + * floats, strings and arrays into their respective nodes + * + * @param Node\Expr|bool|null|int|float|string|array $value The value to normalize + * + * @return Expr The normalized value + */ + public static function normalizeValue($value) : Expr { + if ($value instanceof Node\Expr) { + return $value; + } + + if (is_null($value)) { + return new Expr\ConstFetch( + new Name('null') + ); + } + + if (is_bool($value)) { + return new Expr\ConstFetch( + new Name($value ? 'true' : 'false') + ); + } + + if (is_int($value)) { + return new Scalar\LNumber($value); + } + + if (is_float($value)) { + return new Scalar\DNumber($value); + } + + if (is_string($value)) { + return new Scalar\String_($value); + } + + if (is_array($value)) { + $items = []; + $lastKey = -1; + foreach ($value as $itemKey => $itemValue) { + // for consecutive, numeric keys don't generate keys + if (null !== $lastKey && ++$lastKey === $itemKey) { + $items[] = new Expr\ArrayItem( + self::normalizeValue($itemValue) + ); + } else { + $lastKey = null; + $items[] = new Expr\ArrayItem( + self::normalizeValue($itemValue), + self::normalizeValue($itemKey) + ); + } + } + + return new Expr\Array_($items); + } + + throw new \LogicException('Invalid value'); + } + + /** + * Normalizes a doc comment: Converts plain strings to PhpParser\Comment\Doc. + * + * @param Comment\Doc|string $docComment The doc comment to normalize + * + * @return Comment\Doc The normalized doc comment + */ + public static function normalizeDocComment($docComment) : Comment\Doc { + if ($docComment instanceof Comment\Doc) { + return $docComment; + } + + if (is_string($docComment)) { + return new Comment\Doc($docComment); + } + + throw new \LogicException('Doc comment must be a string or an instance of PhpParser\Comment\Doc'); + } + + /** + * Normalizes a attribute: Converts attribute to the Attribute Group if needed. + * + * @param Node\Attribute|Node\AttributeGroup $attribute + * + * @return Node\AttributeGroup The Attribute Group + */ + public static function normalizeAttribute($attribute) : Node\AttributeGroup + { + if ($attribute instanceof Node\AttributeGroup) { + return $attribute; + } + + if (!($attribute instanceof Node\Attribute)) { + throw new \LogicException('Attribute must be an instance of PhpParser\Node\Attribute or PhpParser\Node\AttributeGroup'); + } + + return new Node\AttributeGroup([$attribute]); + } + + /** + * Adds a modifier and returns new modifier bitmask. + * + * @param int $modifiers Existing modifiers + * @param int $modifier Modifier to set + * + * @return int New modifiers + */ + public static function addModifier(int $modifiers, int $modifier) : int { + Stmt\Class_::verifyModifier($modifiers, $modifier); + return $modifiers | $modifier; + } + + /** + * Adds a modifier and returns new modifier bitmask. + * @return int New modifiers + */ + public static function addClassModifier(int $existingModifiers, int $modifierToSet) : int { + Stmt\Class_::verifyClassModifier($existingModifiers, $modifierToSet); + return $existingModifiers | $modifierToSet; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Comment.php b/vendor/nikic/php-parser/lib/PhpParser/Comment.php new file mode 100644 index 00000000..61e98d3d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Comment.php @@ -0,0 +1,239 @@ +text = $text; + $this->startLine = $startLine; + $this->startFilePos = $startFilePos; + $this->startTokenPos = $startTokenPos; + $this->endLine = $endLine; + $this->endFilePos = $endFilePos; + $this->endTokenPos = $endTokenPos; + } + + /** + * Gets the comment text. + * + * @return string The comment text (including comment delimiters like /*) + */ + public function getText() : string { + return $this->text; + } + + /** + * Gets the line number the comment started on. + * + * @return int Line number (or -1 if not available) + */ + public function getStartLine() : int { + return $this->startLine; + } + + /** + * Gets the file offset the comment started on. + * + * @return int File offset (or -1 if not available) + */ + public function getStartFilePos() : int { + return $this->startFilePos; + } + + /** + * Gets the token offset the comment started on. + * + * @return int Token offset (or -1 if not available) + */ + public function getStartTokenPos() : int { + return $this->startTokenPos; + } + + /** + * Gets the line number the comment ends on. + * + * @return int Line number (or -1 if not available) + */ + public function getEndLine() : int { + return $this->endLine; + } + + /** + * Gets the file offset the comment ends on. + * + * @return int File offset (or -1 if not available) + */ + public function getEndFilePos() : int { + return $this->endFilePos; + } + + /** + * Gets the token offset the comment ends on. + * + * @return int Token offset (or -1 if not available) + */ + public function getEndTokenPos() : int { + return $this->endTokenPos; + } + + /** + * Gets the line number the comment started on. + * + * @deprecated Use getStartLine() instead + * + * @return int Line number + */ + public function getLine() : int { + return $this->startLine; + } + + /** + * Gets the file offset the comment started on. + * + * @deprecated Use getStartFilePos() instead + * + * @return int File offset + */ + public function getFilePos() : int { + return $this->startFilePos; + } + + /** + * Gets the token offset the comment started on. + * + * @deprecated Use getStartTokenPos() instead + * + * @return int Token offset + */ + public function getTokenPos() : int { + return $this->startTokenPos; + } + + /** + * Gets the comment text. + * + * @return string The comment text (including comment delimiters like /*) + */ + public function __toString() : string { + return $this->text; + } + + /** + * Gets the reformatted comment text. + * + * "Reformatted" here means that we try to clean up the whitespace at the + * starts of the lines. This is necessary because we receive the comments + * without trailing whitespace on the first line, but with trailing whitespace + * on all subsequent lines. + * + * @return mixed|string + */ + public function getReformattedText() { + $text = trim($this->text); + $newlinePos = strpos($text, "\n"); + if (false === $newlinePos) { + // Single line comments don't need further processing + return $text; + } elseif (preg_match('((*BSR_ANYCRLF)(*ANYCRLF)^.*(?:\R\s+\*.*)+$)', $text)) { + // Multi line comment of the type + // + // /* + // * Some text. + // * Some more text. + // */ + // + // is handled by replacing the whitespace sequences before the * by a single space + return preg_replace('(^\s+\*)m', ' *', $this->text); + } elseif (preg_match('(^/\*\*?\s*[\r\n])', $text) && preg_match('(\n(\s*)\*/$)', $text, $matches)) { + // Multi line comment of the type + // + // /* + // Some text. + // Some more text. + // */ + // + // is handled by removing the whitespace sequence on the line before the closing + // */ on all lines. So if the last line is " */", then " " is removed at the + // start of all lines. + return preg_replace('(^' . preg_quote($matches[1]) . ')m', '', $text); + } elseif (preg_match('(^/\*\*?\s*(?!\s))', $text, $matches)) { + // Multi line comment of the type + // + // /* Some text. + // Some more text. + // Indented text. + // Even more text. */ + // + // is handled by removing the difference between the shortest whitespace prefix on all + // lines and the length of the "/* " opening sequence. + $prefixLen = $this->getShortestWhitespacePrefixLen(substr($text, $newlinePos + 1)); + $removeLen = $prefixLen - strlen($matches[0]); + return preg_replace('(^\s{' . $removeLen . '})m', '', $text); + } + + // No idea how to format this comment, so simply return as is + return $text; + } + + /** + * Get length of shortest whitespace prefix (at the start of a line). + * + * If there is a line with no prefix whitespace, 0 is a valid return value. + * + * @param string $str String to check + * @return int Length in characters. Tabs count as single characters. + */ + private function getShortestWhitespacePrefixLen(string $str) : int { + $lines = explode("\n", $str); + $shortestPrefixLen = \INF; + foreach ($lines as $line) { + preg_match('(^\s*)', $line, $matches); + $prefixLen = strlen($matches[0]); + if ($prefixLen < $shortestPrefixLen) { + $shortestPrefixLen = $prefixLen; + } + } + return $shortestPrefixLen; + } + + /** + * @return array + * @psalm-return array{nodeType:string, text:mixed, line:mixed, filePos:mixed} + */ + public function jsonSerialize() : array { + // Technically not a node, but we make it look like one anyway + $type = $this instanceof Comment\Doc ? 'Comment_Doc' : 'Comment'; + return [ + 'nodeType' => $type, + 'text' => $this->text, + // TODO: Rename these to include "start". + 'line' => $this->startLine, + 'filePos' => $this->startFilePos, + 'tokenPos' => $this->startTokenPos, + 'endLine' => $this->endLine, + 'endFilePos' => $this->endFilePos, + 'endTokenPos' => $this->endTokenPos, + ]; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php b/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php new file mode 100644 index 00000000..a9db6128 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Comment/Doc.php @@ -0,0 +1,7 @@ +fallbackEvaluator = $fallbackEvaluator ?? function(Expr $expr) { + throw new ConstExprEvaluationException( + "Expression of type {$expr->getType()} cannot be evaluated" + ); + }; + } + + /** + * Silently evaluates a constant expression into a PHP value. + * + * Thrown Errors, warnings or notices will be converted into a ConstExprEvaluationException. + * The original source of the exception is available through getPrevious(). + * + * If some part of the expression cannot be evaluated, the fallback evaluator passed to the + * constructor will be invoked. By default, if no fallback is provided, an exception of type + * ConstExprEvaluationException is thrown. + * + * See class doc comment for caveats and limitations. + * + * @param Expr $expr Constant expression to evaluate + * @return mixed Result of evaluation + * + * @throws ConstExprEvaluationException if the expression cannot be evaluated or an error occurred + */ + public function evaluateSilently(Expr $expr) { + set_error_handler(function($num, $str, $file, $line) { + throw new \ErrorException($str, 0, $num, $file, $line); + }); + + try { + return $this->evaluate($expr); + } catch (\Throwable $e) { + if (!$e instanceof ConstExprEvaluationException) { + $e = new ConstExprEvaluationException( + "An error occurred during constant expression evaluation", 0, $e); + } + throw $e; + } finally { + restore_error_handler(); + } + } + + /** + * Directly evaluates a constant expression into a PHP value. + * + * May generate Error exceptions, warnings or notices. Use evaluateSilently() to convert these + * into a ConstExprEvaluationException. + * + * If some part of the expression cannot be evaluated, the fallback evaluator passed to the + * constructor will be invoked. By default, if no fallback is provided, an exception of type + * ConstExprEvaluationException is thrown. + * + * See class doc comment for caveats and limitations. + * + * @param Expr $expr Constant expression to evaluate + * @return mixed Result of evaluation + * + * @throws ConstExprEvaluationException if the expression cannot be evaluated + */ + public function evaluateDirectly(Expr $expr) { + return $this->evaluate($expr); + } + + private function evaluate(Expr $expr) { + if ($expr instanceof Scalar\LNumber + || $expr instanceof Scalar\DNumber + || $expr instanceof Scalar\String_ + ) { + return $expr->value; + } + + if ($expr instanceof Expr\Array_) { + return $this->evaluateArray($expr); + } + + // Unary operators + if ($expr instanceof Expr\UnaryPlus) { + return +$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\UnaryMinus) { + return -$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\BooleanNot) { + return !$this->evaluate($expr->expr); + } + if ($expr instanceof Expr\BitwiseNot) { + return ~$this->evaluate($expr->expr); + } + + if ($expr instanceof Expr\BinaryOp) { + return $this->evaluateBinaryOp($expr); + } + + if ($expr instanceof Expr\Ternary) { + return $this->evaluateTernary($expr); + } + + if ($expr instanceof Expr\ArrayDimFetch && null !== $expr->dim) { + return $this->evaluate($expr->var)[$this->evaluate($expr->dim)]; + } + + if ($expr instanceof Expr\ConstFetch) { + return $this->evaluateConstFetch($expr); + } + + return ($this->fallbackEvaluator)($expr); + } + + private function evaluateArray(Expr\Array_ $expr) { + $array = []; + foreach ($expr->items as $item) { + if (null !== $item->key) { + $array[$this->evaluate($item->key)] = $this->evaluate($item->value); + } elseif ($item->unpack) { + $array = array_merge($array, $this->evaluate($item->value)); + } else { + $array[] = $this->evaluate($item->value); + } + } + return $array; + } + + private function evaluateTernary(Expr\Ternary $expr) { + if (null === $expr->if) { + return $this->evaluate($expr->cond) ?: $this->evaluate($expr->else); + } + + return $this->evaluate($expr->cond) + ? $this->evaluate($expr->if) + : $this->evaluate($expr->else); + } + + private function evaluateBinaryOp(Expr\BinaryOp $expr) { + if ($expr instanceof Expr\BinaryOp\Coalesce + && $expr->left instanceof Expr\ArrayDimFetch + ) { + // This needs to be special cased to respect BP_VAR_IS fetch semantics + return $this->evaluate($expr->left->var)[$this->evaluate($expr->left->dim)] + ?? $this->evaluate($expr->right); + } + + // The evaluate() calls are repeated in each branch, because some of the operators are + // short-circuiting and evaluating the RHS in advance may be illegal in that case + $l = $expr->left; + $r = $expr->right; + switch ($expr->getOperatorSigil()) { + case '&': return $this->evaluate($l) & $this->evaluate($r); + case '|': return $this->evaluate($l) | $this->evaluate($r); + case '^': return $this->evaluate($l) ^ $this->evaluate($r); + case '&&': return $this->evaluate($l) && $this->evaluate($r); + case '||': return $this->evaluate($l) || $this->evaluate($r); + case '??': return $this->evaluate($l) ?? $this->evaluate($r); + case '.': return $this->evaluate($l) . $this->evaluate($r); + case '/': return $this->evaluate($l) / $this->evaluate($r); + case '==': return $this->evaluate($l) == $this->evaluate($r); + case '>': return $this->evaluate($l) > $this->evaluate($r); + case '>=': return $this->evaluate($l) >= $this->evaluate($r); + case '===': return $this->evaluate($l) === $this->evaluate($r); + case 'and': return $this->evaluate($l) and $this->evaluate($r); + case 'or': return $this->evaluate($l) or $this->evaluate($r); + case 'xor': return $this->evaluate($l) xor $this->evaluate($r); + case '-': return $this->evaluate($l) - $this->evaluate($r); + case '%': return $this->evaluate($l) % $this->evaluate($r); + case '*': return $this->evaluate($l) * $this->evaluate($r); + case '!=': return $this->evaluate($l) != $this->evaluate($r); + case '!==': return $this->evaluate($l) !== $this->evaluate($r); + case '+': return $this->evaluate($l) + $this->evaluate($r); + case '**': return $this->evaluate($l) ** $this->evaluate($r); + case '<<': return $this->evaluate($l) << $this->evaluate($r); + case '>>': return $this->evaluate($l) >> $this->evaluate($r); + case '<': return $this->evaluate($l) < $this->evaluate($r); + case '<=': return $this->evaluate($l) <= $this->evaluate($r); + case '<=>': return $this->evaluate($l) <=> $this->evaluate($r); + } + + throw new \Exception('Should not happen'); + } + + private function evaluateConstFetch(Expr\ConstFetch $expr) { + $name = $expr->name->toLowerString(); + switch ($name) { + case 'null': return null; + case 'false': return false; + case 'true': return true; + } + + return ($this->fallbackEvaluator)($expr); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Error.php b/vendor/nikic/php-parser/lib/PhpParser/Error.php new file mode 100644 index 00000000..d1fb959d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Error.php @@ -0,0 +1,180 @@ +rawMessage = $message; + if (is_array($attributes)) { + $this->attributes = $attributes; + } else { + $this->attributes = ['startLine' => $attributes]; + } + $this->updateMessage(); + } + + /** + * Gets the error message + * + * @return string Error message + */ + public function getRawMessage() : string { + return $this->rawMessage; + } + + /** + * Gets the line the error starts in. + * + * @return int Error start line + */ + public function getStartLine() : int { + return $this->attributes['startLine'] ?? -1; + } + + /** + * Gets the line the error ends in. + * + * @return int Error end line + */ + public function getEndLine() : int { + return $this->attributes['endLine'] ?? -1; + } + + /** + * Gets the attributes of the node/token the error occurred at. + * + * @return array + */ + public function getAttributes() : array { + return $this->attributes; + } + + /** + * Sets the attributes of the node/token the error occurred at. + * + * @param array $attributes + */ + public function setAttributes(array $attributes) { + $this->attributes = $attributes; + $this->updateMessage(); + } + + /** + * Sets the line of the PHP file the error occurred in. + * + * @param string $message Error message + */ + public function setRawMessage(string $message) { + $this->rawMessage = $message; + $this->updateMessage(); + } + + /** + * Sets the line the error starts in. + * + * @param int $line Error start line + */ + public function setStartLine(int $line) { + $this->attributes['startLine'] = $line; + $this->updateMessage(); + } + + /** + * Returns whether the error has start and end column information. + * + * For column information enable the startFilePos and endFilePos in the lexer options. + * + * @return bool + */ + public function hasColumnInfo() : bool { + return isset($this->attributes['startFilePos'], $this->attributes['endFilePos']); + } + + /** + * Gets the start column (1-based) into the line where the error started. + * + * @param string $code Source code of the file + * @return int + */ + public function getStartColumn(string $code) : int { + if (!$this->hasColumnInfo()) { + throw new \RuntimeException('Error does not have column information'); + } + + return $this->toColumn($code, $this->attributes['startFilePos']); + } + + /** + * Gets the end column (1-based) into the line where the error ended. + * + * @param string $code Source code of the file + * @return int + */ + public function getEndColumn(string $code) : int { + if (!$this->hasColumnInfo()) { + throw new \RuntimeException('Error does not have column information'); + } + + return $this->toColumn($code, $this->attributes['endFilePos']); + } + + /** + * Formats message including line and column information. + * + * @param string $code Source code associated with the error, for calculation of the columns + * + * @return string Formatted message + */ + public function getMessageWithColumnInfo(string $code) : string { + return sprintf( + '%s from %d:%d to %d:%d', $this->getRawMessage(), + $this->getStartLine(), $this->getStartColumn($code), + $this->getEndLine(), $this->getEndColumn($code) + ); + } + + /** + * Converts a file offset into a column. + * + * @param string $code Source code that $pos indexes into + * @param int $pos 0-based position in $code + * + * @return int 1-based column (relative to start of line) + */ + private function toColumn(string $code, int $pos) : int { + if ($pos > strlen($code)) { + throw new \RuntimeException('Invalid position information'); + } + + $lineStartPos = strrpos($code, "\n", $pos - strlen($code)); + if (false === $lineStartPos) { + $lineStartPos = -1; + } + + return $pos - $lineStartPos; + } + + /** + * Updates the exception message after a change to rawMessage or rawLine. + */ + protected function updateMessage() { + $this->message = $this->rawMessage; + + if (-1 === $this->getStartLine()) { + $this->message .= ' on unknown line'; + } else { + $this->message .= ' on line ' . $this->getStartLine(); + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php b/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php new file mode 100644 index 00000000..d620e745 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler.php @@ -0,0 +1,13 @@ +errors[] = $error; + } + + /** + * Get collected errors. + * + * @return Error[] + */ + public function getErrors() : array { + return $this->errors; + } + + /** + * Check whether there are any errors. + * + * @return bool + */ + public function hasErrors() : bool { + return !empty($this->errors); + } + + /** + * Reset/clear collected errors. + */ + public function clearErrors() { + $this->errors = []; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php b/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php new file mode 100644 index 00000000..aeee989b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php @@ -0,0 +1,18 @@ +type = $type; + $this->old = $old; + $this->new = $new; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php b/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php new file mode 100644 index 00000000..7f218c74 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Internal/Differ.php @@ -0,0 +1,164 @@ +isEqual = $isEqual; + } + + /** + * Calculate diff (edit script) from $old to $new. + * + * @param array $old Original array + * @param array $new New array + * + * @return DiffElem[] Diff (edit script) + */ + public function diff(array $old, array $new) { + list($trace, $x, $y) = $this->calculateTrace($old, $new); + return $this->extractDiff($trace, $x, $y, $old, $new); + } + + /** + * Calculate diff, including "replace" operations. + * + * If a sequence of remove operations is followed by the same number of add operations, these + * will be coalesced into replace operations. + * + * @param array $old Original array + * @param array $new New array + * + * @return DiffElem[] Diff (edit script), including replace operations + */ + public function diffWithReplacements(array $old, array $new) { + return $this->coalesceReplacements($this->diff($old, $new)); + } + + private function calculateTrace(array $a, array $b) { + $n = \count($a); + $m = \count($b); + $max = $n + $m; + $v = [1 => 0]; + $trace = []; + for ($d = 0; $d <= $max; $d++) { + $trace[] = $v; + for ($k = -$d; $k <= $d; $k += 2) { + if ($k === -$d || ($k !== $d && $v[$k-1] < $v[$k+1])) { + $x = $v[$k+1]; + } else { + $x = $v[$k-1] + 1; + } + + $y = $x - $k; + while ($x < $n && $y < $m && ($this->isEqual)($a[$x], $b[$y])) { + $x++; + $y++; + } + + $v[$k] = $x; + if ($x >= $n && $y >= $m) { + return [$trace, $x, $y]; + } + } + } + throw new \Exception('Should not happen'); + } + + private function extractDiff(array $trace, int $x, int $y, array $a, array $b) { + $result = []; + for ($d = \count($trace) - 1; $d >= 0; $d--) { + $v = $trace[$d]; + $k = $x - $y; + + if ($k === -$d || ($k !== $d && $v[$k-1] < $v[$k+1])) { + $prevK = $k + 1; + } else { + $prevK = $k - 1; + } + + $prevX = $v[$prevK]; + $prevY = $prevX - $prevK; + + while ($x > $prevX && $y > $prevY) { + $result[] = new DiffElem(DiffElem::TYPE_KEEP, $a[$x-1], $b[$y-1]); + $x--; + $y--; + } + + if ($d === 0) { + break; + } + + while ($x > $prevX) { + $result[] = new DiffElem(DiffElem::TYPE_REMOVE, $a[$x-1], null); + $x--; + } + + while ($y > $prevY) { + $result[] = new DiffElem(DiffElem::TYPE_ADD, null, $b[$y-1]); + $y--; + } + } + return array_reverse($result); + } + + /** + * Coalesce equal-length sequences of remove+add into a replace operation. + * + * @param DiffElem[] $diff + * @return DiffElem[] + */ + private function coalesceReplacements(array $diff) { + $newDiff = []; + $c = \count($diff); + for ($i = 0; $i < $c; $i++) { + $diffType = $diff[$i]->type; + if ($diffType !== DiffElem::TYPE_REMOVE) { + $newDiff[] = $diff[$i]; + continue; + } + + $j = $i; + while ($j < $c && $diff[$j]->type === DiffElem::TYPE_REMOVE) { + $j++; + } + + $k = $j; + while ($k < $c && $diff[$k]->type === DiffElem::TYPE_ADD) { + $k++; + } + + if ($j - $i === $k - $j) { + $len = $j - $i; + for ($n = 0; $n < $len; $n++) { + $newDiff[] = new DiffElem( + DiffElem::TYPE_REPLACE, $diff[$i + $n]->old, $diff[$j + $n]->new + ); + } + } else { + for (; $i < $k; $i++) { + $newDiff[] = $diff[$i]; + } + } + $i = $k - 1; + } + return $newDiff; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php b/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php new file mode 100644 index 00000000..3eeac04a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php @@ -0,0 +1,61 @@ +attrGroups = $attrGroups; + $this->args = $args; + $this->extends = $extends; + $this->implements = $implements; + $this->stmts = $stmts; + } + + public static function fromNewNode(Expr\New_ $newNode) { + $class = $newNode->class; + assert($class instanceof Node\Stmt\Class_); + // We don't assert that $class->name is null here, to allow consumers to assign unique names + // to anonymous classes for their own purposes. We simplify ignore the name here. + return new self( + $class->attrGroups, $newNode->args, $class->extends, $class->implements, + $class->stmts, $newNode->getAttributes() + ); + } + + public function getType() : string { + return 'Expr_PrintableNewAnonClass'; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'args', 'extends', 'implements', 'stmts']; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php b/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php new file mode 100644 index 00000000..7e0a5de0 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php @@ -0,0 +1,286 @@ +tokens = $tokens; + $this->indentMap = $this->calcIndentMap(); + } + + /** + * Whether the given position is immediately surrounded by parenthesis. + * + * @param int $startPos Start position + * @param int $endPos End position + * + * @return bool + */ + public function haveParens(int $startPos, int $endPos) : bool { + return $this->haveTokenImmediatelyBefore($startPos, '(') + && $this->haveTokenImmediatelyAfter($endPos, ')'); + } + + /** + * Whether the given position is immediately surrounded by braces. + * + * @param int $startPos Start position + * @param int $endPos End position + * + * @return bool + */ + public function haveBraces(int $startPos, int $endPos) : bool { + return ($this->haveTokenImmediatelyBefore($startPos, '{') + || $this->haveTokenImmediatelyBefore($startPos, T_CURLY_OPEN)) + && $this->haveTokenImmediatelyAfter($endPos, '}'); + } + + /** + * Check whether the position is directly preceded by a certain token type. + * + * During this check whitespace and comments are skipped. + * + * @param int $pos Position before which the token should occur + * @param int|string $expectedTokenType Token to check for + * + * @return bool Whether the expected token was found + */ + public function haveTokenImmediatelyBefore(int $pos, $expectedTokenType) : bool { + $tokens = $this->tokens; + $pos--; + for (; $pos >= 0; $pos--) { + $tokenType = $tokens[$pos][0]; + if ($tokenType === $expectedTokenType) { + return true; + } + if ($tokenType !== \T_WHITESPACE + && $tokenType !== \T_COMMENT && $tokenType !== \T_DOC_COMMENT) { + break; + } + } + return false; + } + + /** + * Check whether the position is directly followed by a certain token type. + * + * During this check whitespace and comments are skipped. + * + * @param int $pos Position after which the token should occur + * @param int|string $expectedTokenType Token to check for + * + * @return bool Whether the expected token was found + */ + public function haveTokenImmediatelyAfter(int $pos, $expectedTokenType) : bool { + $tokens = $this->tokens; + $pos++; + for (; $pos < \count($tokens); $pos++) { + $tokenType = $tokens[$pos][0]; + if ($tokenType === $expectedTokenType) { + return true; + } + if ($tokenType !== \T_WHITESPACE + && $tokenType !== \T_COMMENT && $tokenType !== \T_DOC_COMMENT) { + break; + } + } + return false; + } + + public function skipLeft(int $pos, $skipTokenType) { + $tokens = $this->tokens; + + $pos = $this->skipLeftWhitespace($pos); + if ($skipTokenType === \T_WHITESPACE) { + return $pos; + } + + if ($tokens[$pos][0] !== $skipTokenType) { + // Shouldn't happen. The skip token MUST be there + throw new \Exception('Encountered unexpected token'); + } + $pos--; + + return $this->skipLeftWhitespace($pos); + } + + public function skipRight(int $pos, $skipTokenType) { + $tokens = $this->tokens; + + $pos = $this->skipRightWhitespace($pos); + if ($skipTokenType === \T_WHITESPACE) { + return $pos; + } + + if ($tokens[$pos][0] !== $skipTokenType) { + // Shouldn't happen. The skip token MUST be there + throw new \Exception('Encountered unexpected token'); + } + $pos++; + + return $this->skipRightWhitespace($pos); + } + + /** + * Return first non-whitespace token position smaller or equal to passed position. + * + * @param int $pos Token position + * @return int Non-whitespace token position + */ + public function skipLeftWhitespace(int $pos) { + $tokens = $this->tokens; + for (; $pos >= 0; $pos--) { + $type = $tokens[$pos][0]; + if ($type !== \T_WHITESPACE && $type !== \T_COMMENT && $type !== \T_DOC_COMMENT) { + break; + } + } + return $pos; + } + + /** + * Return first non-whitespace position greater or equal to passed position. + * + * @param int $pos Token position + * @return int Non-whitespace token position + */ + public function skipRightWhitespace(int $pos) { + $tokens = $this->tokens; + for ($count = \count($tokens); $pos < $count; $pos++) { + $type = $tokens[$pos][0]; + if ($type !== \T_WHITESPACE && $type !== \T_COMMENT && $type !== \T_DOC_COMMENT) { + break; + } + } + return $pos; + } + + public function findRight(int $pos, $findTokenType) { + $tokens = $this->tokens; + for ($count = \count($tokens); $pos < $count; $pos++) { + $type = $tokens[$pos][0]; + if ($type === $findTokenType) { + return $pos; + } + } + return -1; + } + + /** + * Whether the given position range contains a certain token type. + * + * @param int $startPos Starting position (inclusive) + * @param int $endPos Ending position (exclusive) + * @param int|string $tokenType Token type to look for + * @return bool Whether the token occurs in the given range + */ + public function haveTokenInRange(int $startPos, int $endPos, $tokenType) { + $tokens = $this->tokens; + for ($pos = $startPos; $pos < $endPos; $pos++) { + if ($tokens[$pos][0] === $tokenType) { + return true; + } + } + return false; + } + + public function haveBracesInRange(int $startPos, int $endPos) { + return $this->haveTokenInRange($startPos, $endPos, '{') + || $this->haveTokenInRange($startPos, $endPos, T_CURLY_OPEN) + || $this->haveTokenInRange($startPos, $endPos, '}'); + } + + public function haveTagInRange(int $startPos, int $endPos): bool { + return $this->haveTokenInRange($startPos, $endPos, \T_OPEN_TAG) + || $this->haveTokenInRange($startPos, $endPos, \T_CLOSE_TAG); + } + + /** + * Get indentation before token position. + * + * @param int $pos Token position + * + * @return int Indentation depth (in spaces) + */ + public function getIndentationBefore(int $pos) : int { + return $this->indentMap[$pos]; + } + + /** + * Get the code corresponding to a token offset range, optionally adjusted for indentation. + * + * @param int $from Token start position (inclusive) + * @param int $to Token end position (exclusive) + * @param int $indent By how much the code should be indented (can be negative as well) + * + * @return string Code corresponding to token range, adjusted for indentation + */ + public function getTokenCode(int $from, int $to, int $indent) : string { + $tokens = $this->tokens; + $result = ''; + for ($pos = $from; $pos < $to; $pos++) { + $token = $tokens[$pos]; + if (\is_array($token)) { + $type = $token[0]; + $content = $token[1]; + if ($type === \T_CONSTANT_ENCAPSED_STRING || $type === \T_ENCAPSED_AND_WHITESPACE) { + $result .= $content; + } else { + // TODO Handle non-space indentation + if ($indent < 0) { + $result .= str_replace("\n" . str_repeat(" ", -$indent), "\n", $content); + } elseif ($indent > 0) { + $result .= str_replace("\n", "\n" . str_repeat(" ", $indent), $content); + } else { + $result .= $content; + } + } + } else { + $result .= $token; + } + } + return $result; + } + + /** + * Precalculate the indentation at every token position. + * + * @return int[] Token position to indentation map + */ + private function calcIndentMap() { + $indentMap = []; + $indent = 0; + foreach ($this->tokens as $token) { + $indentMap[] = $indent; + + if ($token[0] === \T_WHITESPACE) { + $content = $token[1]; + $newlinePos = \strrpos($content, "\n"); + if (false !== $newlinePos) { + $indent = \strlen($content) - $newlinePos - 1; + } + } + } + + // Add a sentinel for one past end of the file + $indentMap[] = $indent; + + return $indentMap; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php b/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php new file mode 100644 index 00000000..47d2003d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/JsonDecoder.php @@ -0,0 +1,103 @@ +decodeRecursive($value); + } + + private function decodeRecursive($value) { + if (\is_array($value)) { + if (isset($value['nodeType'])) { + if ($value['nodeType'] === 'Comment' || $value['nodeType'] === 'Comment_Doc') { + return $this->decodeComment($value); + } + return $this->decodeNode($value); + } + return $this->decodeArray($value); + } + return $value; + } + + private function decodeArray(array $array) : array { + $decodedArray = []; + foreach ($array as $key => $value) { + $decodedArray[$key] = $this->decodeRecursive($value); + } + return $decodedArray; + } + + private function decodeNode(array $value) : Node { + $nodeType = $value['nodeType']; + if (!\is_string($nodeType)) { + throw new \RuntimeException('Node type must be a string'); + } + + $reflectionClass = $this->reflectionClassFromNodeType($nodeType); + /** @var Node $node */ + $node = $reflectionClass->newInstanceWithoutConstructor(); + + if (isset($value['attributes'])) { + if (!\is_array($value['attributes'])) { + throw new \RuntimeException('Attributes must be an array'); + } + + $node->setAttributes($this->decodeArray($value['attributes'])); + } + + foreach ($value as $name => $subNode) { + if ($name === 'nodeType' || $name === 'attributes') { + continue; + } + + $node->$name = $this->decodeRecursive($subNode); + } + + return $node; + } + + private function decodeComment(array $value) : Comment { + $className = $value['nodeType'] === 'Comment' ? Comment::class : Comment\Doc::class; + if (!isset($value['text'])) { + throw new \RuntimeException('Comment must have text'); + } + + return new $className( + $value['text'], + $value['line'] ?? -1, $value['filePos'] ?? -1, $value['tokenPos'] ?? -1, + $value['endLine'] ?? -1, $value['endFilePos'] ?? -1, $value['endTokenPos'] ?? -1 + ); + } + + private function reflectionClassFromNodeType(string $nodeType) : \ReflectionClass { + if (!isset($this->reflectionClassCache[$nodeType])) { + $className = $this->classNameFromNodeType($nodeType); + $this->reflectionClassCache[$nodeType] = new \ReflectionClass($className); + } + return $this->reflectionClassCache[$nodeType]; + } + + private function classNameFromNodeType(string $nodeType) : string { + $className = 'PhpParser\\Node\\' . strtr($nodeType, '_', '\\'); + if (class_exists($className)) { + return $className; + } + + $className .= '_'; + if (class_exists($className)) { + return $className; + } + + throw new \RuntimeException("Unknown node type \"$nodeType\""); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer.php new file mode 100644 index 00000000..e15dd0a5 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer.php @@ -0,0 +1,560 @@ +defineCompatibilityTokens(); + $this->tokenMap = $this->createTokenMap(); + $this->identifierTokens = $this->createIdentifierTokenMap(); + + // map of tokens to drop while lexing (the map is only used for isset lookup, + // that's why the value is simply set to 1; the value is never actually used.) + $this->dropTokens = array_fill_keys( + [\T_WHITESPACE, \T_OPEN_TAG, \T_COMMENT, \T_DOC_COMMENT, \T_BAD_CHARACTER], 1 + ); + + $defaultAttributes = ['comments', 'startLine', 'endLine']; + $usedAttributes = array_fill_keys($options['usedAttributes'] ?? $defaultAttributes, true); + + // Create individual boolean properties to make these checks faster. + $this->attributeStartLineUsed = isset($usedAttributes['startLine']); + $this->attributeEndLineUsed = isset($usedAttributes['endLine']); + $this->attributeStartTokenPosUsed = isset($usedAttributes['startTokenPos']); + $this->attributeEndTokenPosUsed = isset($usedAttributes['endTokenPos']); + $this->attributeStartFilePosUsed = isset($usedAttributes['startFilePos']); + $this->attributeEndFilePosUsed = isset($usedAttributes['endFilePos']); + $this->attributeCommentsUsed = isset($usedAttributes['comments']); + } + + /** + * Initializes the lexer for lexing the provided source code. + * + * This function does not throw if lexing errors occur. Instead, errors may be retrieved using + * the getErrors() method. + * + * @param string $code The source code to lex + * @param ErrorHandler|null $errorHandler Error handler to use for lexing errors. Defaults to + * ErrorHandler\Throwing + */ + public function startLexing(string $code, ErrorHandler $errorHandler = null) { + if (null === $errorHandler) { + $errorHandler = new ErrorHandler\Throwing(); + } + + $this->code = $code; // keep the code around for __halt_compiler() handling + $this->pos = -1; + $this->line = 1; + $this->filePos = 0; + + // If inline HTML occurs without preceding code, treat it as if it had a leading newline. + // This ensures proper composability, because having a newline is the "safe" assumption. + $this->prevCloseTagHasNewline = true; + + $scream = ini_set('xdebug.scream', '0'); + + $this->tokens = @token_get_all($code); + $this->postprocessTokens($errorHandler); + + if (false !== $scream) { + ini_set('xdebug.scream', $scream); + } + } + + private function handleInvalidCharacterRange($start, $end, $line, ErrorHandler $errorHandler) { + $tokens = []; + for ($i = $start; $i < $end; $i++) { + $chr = $this->code[$i]; + if ($chr === "\0") { + // PHP cuts error message after null byte, so need special case + $errorMsg = 'Unexpected null byte'; + } else { + $errorMsg = sprintf( + 'Unexpected character "%s" (ASCII %d)', $chr, ord($chr) + ); + } + + $tokens[] = [\T_BAD_CHARACTER, $chr, $line]; + $errorHandler->handleError(new Error($errorMsg, [ + 'startLine' => $line, + 'endLine' => $line, + 'startFilePos' => $i, + 'endFilePos' => $i, + ])); + } + return $tokens; + } + + /** + * Check whether comment token is unterminated. + * + * @return bool + */ + private function isUnterminatedComment($token) : bool { + return ($token[0] === \T_COMMENT || $token[0] === \T_DOC_COMMENT) + && substr($token[1], 0, 2) === '/*' + && substr($token[1], -2) !== '*/'; + } + + protected function postprocessTokens(ErrorHandler $errorHandler) { + // PHP's error handling for token_get_all() is rather bad, so if we want detailed + // error information we need to compute it ourselves. Invalid character errors are + // detected by finding "gaps" in the token array. Unterminated comments are detected + // by checking if a trailing comment has a "*/" at the end. + // + // Additionally, we perform a number of canonicalizations here: + // * Use the PHP 8.0 comment format, which does not include trailing whitespace anymore. + // * Use PHP 8.0 T_NAME_* tokens. + // * Use PHP 8.1 T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG and + // T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG tokens used to disambiguate intersection types. + + $filePos = 0; + $line = 1; + $numTokens = \count($this->tokens); + for ($i = 0; $i < $numTokens; $i++) { + $token = $this->tokens[$i]; + + // Since PHP 7.4 invalid characters are represented by a T_BAD_CHARACTER token. + // In this case we only need to emit an error. + if ($token[0] === \T_BAD_CHARACTER) { + $this->handleInvalidCharacterRange($filePos, $filePos + 1, $line, $errorHandler); + } + + if ($token[0] === \T_COMMENT && substr($token[1], 0, 2) !== '/*' + && preg_match('/(\r\n|\n|\r)$/D', $token[1], $matches)) { + $trailingNewline = $matches[0]; + $token[1] = substr($token[1], 0, -strlen($trailingNewline)); + $this->tokens[$i] = $token; + if (isset($this->tokens[$i + 1]) && $this->tokens[$i + 1][0] === \T_WHITESPACE) { + // Move trailing newline into following T_WHITESPACE token, if it already exists. + $this->tokens[$i + 1][1] = $trailingNewline . $this->tokens[$i + 1][1]; + $this->tokens[$i + 1][2]--; + } else { + // Otherwise, we need to create a new T_WHITESPACE token. + array_splice($this->tokens, $i + 1, 0, [ + [\T_WHITESPACE, $trailingNewline, $line], + ]); + $numTokens++; + } + } + + // Emulate PHP 8 T_NAME_* tokens, by combining sequences of T_NS_SEPARATOR and T_STRING + // into a single token. + if (\is_array($token) + && ($token[0] === \T_NS_SEPARATOR || isset($this->identifierTokens[$token[0]]))) { + $lastWasSeparator = $token[0] === \T_NS_SEPARATOR; + $text = $token[1]; + for ($j = $i + 1; isset($this->tokens[$j]); $j++) { + if ($lastWasSeparator) { + if (!isset($this->identifierTokens[$this->tokens[$j][0]])) { + break; + } + $lastWasSeparator = false; + } else { + if ($this->tokens[$j][0] !== \T_NS_SEPARATOR) { + break; + } + $lastWasSeparator = true; + } + $text .= $this->tokens[$j][1]; + } + if ($lastWasSeparator) { + // Trailing separator is not part of the name. + $j--; + $text = substr($text, 0, -1); + } + if ($j > $i + 1) { + if ($token[0] === \T_NS_SEPARATOR) { + $type = \T_NAME_FULLY_QUALIFIED; + } else if ($token[0] === \T_NAMESPACE) { + $type = \T_NAME_RELATIVE; + } else { + $type = \T_NAME_QUALIFIED; + } + $token = [$type, $text, $line]; + array_splice($this->tokens, $i, $j - $i, [$token]); + $numTokens -= $j - $i - 1; + } + } + + if ($token === '&') { + $next = $i + 1; + while (isset($this->tokens[$next]) && $this->tokens[$next][0] === \T_WHITESPACE) { + $next++; + } + $followedByVarOrVarArg = isset($this->tokens[$next]) && + ($this->tokens[$next][0] === \T_VARIABLE || $this->tokens[$next][0] === \T_ELLIPSIS); + $this->tokens[$i] = $token = [ + $followedByVarOrVarArg + ? \T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG + : \T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG, + '&', + $line, + ]; + } + + $tokenValue = \is_string($token) ? $token : $token[1]; + $tokenLen = \strlen($tokenValue); + + if (substr($this->code, $filePos, $tokenLen) !== $tokenValue) { + // Something is missing, must be an invalid character + $nextFilePos = strpos($this->code, $tokenValue, $filePos); + $badCharTokens = $this->handleInvalidCharacterRange( + $filePos, $nextFilePos, $line, $errorHandler); + $filePos = (int) $nextFilePos; + + array_splice($this->tokens, $i, 0, $badCharTokens); + $numTokens += \count($badCharTokens); + $i += \count($badCharTokens); + } + + $filePos += $tokenLen; + $line += substr_count($tokenValue, "\n"); + } + + if ($filePos !== \strlen($this->code)) { + if (substr($this->code, $filePos, 2) === '/*') { + // Unlike PHP, HHVM will drop unterminated comments entirely + $comment = substr($this->code, $filePos); + $errorHandler->handleError(new Error('Unterminated comment', [ + 'startLine' => $line, + 'endLine' => $line + substr_count($comment, "\n"), + 'startFilePos' => $filePos, + 'endFilePos' => $filePos + \strlen($comment), + ])); + + // Emulate the PHP behavior + $isDocComment = isset($comment[3]) && $comment[3] === '*'; + $this->tokens[] = [$isDocComment ? \T_DOC_COMMENT : \T_COMMENT, $comment, $line]; + } else { + // Invalid characters at the end of the input + $badCharTokens = $this->handleInvalidCharacterRange( + $filePos, \strlen($this->code), $line, $errorHandler); + $this->tokens = array_merge($this->tokens, $badCharTokens); + } + return; + } + + if (count($this->tokens) > 0) { + // Check for unterminated comment + $lastToken = $this->tokens[count($this->tokens) - 1]; + if ($this->isUnterminatedComment($lastToken)) { + $errorHandler->handleError(new Error('Unterminated comment', [ + 'startLine' => $line - substr_count($lastToken[1], "\n"), + 'endLine' => $line, + 'startFilePos' => $filePos - \strlen($lastToken[1]), + 'endFilePos' => $filePos, + ])); + } + } + } + + /** + * Fetches the next token. + * + * The available attributes are determined by the 'usedAttributes' option, which can + * be specified in the constructor. The following attributes are supported: + * + * * 'comments' => Array of PhpParser\Comment or PhpParser\Comment\Doc instances, + * representing all comments that occurred between the previous + * non-discarded token and the current one. + * * 'startLine' => Line in which the node starts. + * * 'endLine' => Line in which the node ends. + * * 'startTokenPos' => Offset into the token array of the first token in the node. + * * 'endTokenPos' => Offset into the token array of the last token in the node. + * * 'startFilePos' => Offset into the code string of the first character that is part of the node. + * * 'endFilePos' => Offset into the code string of the last character that is part of the node. + * + * @param mixed $value Variable to store token content in + * @param mixed $startAttributes Variable to store start attributes in + * @param mixed $endAttributes Variable to store end attributes in + * + * @return int Token id + */ + public function getNextToken(&$value = null, &$startAttributes = null, &$endAttributes = null) : int { + $startAttributes = []; + $endAttributes = []; + + while (1) { + if (isset($this->tokens[++$this->pos])) { + $token = $this->tokens[$this->pos]; + } else { + // EOF token with ID 0 + $token = "\0"; + } + + if ($this->attributeStartLineUsed) { + $startAttributes['startLine'] = $this->line; + } + if ($this->attributeStartTokenPosUsed) { + $startAttributes['startTokenPos'] = $this->pos; + } + if ($this->attributeStartFilePosUsed) { + $startAttributes['startFilePos'] = $this->filePos; + } + + if (\is_string($token)) { + $value = $token; + if (isset($token[1])) { + // bug in token_get_all + $this->filePos += 2; + $id = ord('"'); + } else { + $this->filePos += 1; + $id = ord($token); + } + } elseif (!isset($this->dropTokens[$token[0]])) { + $value = $token[1]; + $id = $this->tokenMap[$token[0]]; + if (\T_CLOSE_TAG === $token[0]) { + $this->prevCloseTagHasNewline = false !== strpos($token[1], "\n") + || false !== strpos($token[1], "\r"); + } elseif (\T_INLINE_HTML === $token[0]) { + $startAttributes['hasLeadingNewline'] = $this->prevCloseTagHasNewline; + } + + $this->line += substr_count($value, "\n"); + $this->filePos += \strlen($value); + } else { + $origLine = $this->line; + $origFilePos = $this->filePos; + $this->line += substr_count($token[1], "\n"); + $this->filePos += \strlen($token[1]); + + if (\T_COMMENT === $token[0] || \T_DOC_COMMENT === $token[0]) { + if ($this->attributeCommentsUsed) { + $comment = \T_DOC_COMMENT === $token[0] + ? new Comment\Doc($token[1], + $origLine, $origFilePos, $this->pos, + $this->line, $this->filePos - 1, $this->pos) + : new Comment($token[1], + $origLine, $origFilePos, $this->pos, + $this->line, $this->filePos - 1, $this->pos); + $startAttributes['comments'][] = $comment; + } + } + continue; + } + + if ($this->attributeEndLineUsed) { + $endAttributes['endLine'] = $this->line; + } + if ($this->attributeEndTokenPosUsed) { + $endAttributes['endTokenPos'] = $this->pos; + } + if ($this->attributeEndFilePosUsed) { + $endAttributes['endFilePos'] = $this->filePos - 1; + } + + return $id; + } + + throw new \RuntimeException('Reached end of lexer loop'); + } + + /** + * Returns the token array for current code. + * + * The token array is in the same format as provided by the + * token_get_all() function and does not discard tokens (i.e. + * whitespace and comments are included). The token position + * attributes are against this token array. + * + * @return array Array of tokens in token_get_all() format + */ + public function getTokens() : array { + return $this->tokens; + } + + /** + * Handles __halt_compiler() by returning the text after it. + * + * @return string Remaining text + */ + public function handleHaltCompiler() : string { + // text after T_HALT_COMPILER, still including (); + $textAfter = substr($this->code, $this->filePos); + + // ensure that it is followed by (); + // this simplifies the situation, by not allowing any comments + // in between of the tokens. + if (!preg_match('~^\s*\(\s*\)\s*(?:;|\?>\r?\n?)~', $textAfter, $matches)) { + throw new Error('__HALT_COMPILER must be followed by "();"'); + } + + // prevent the lexer from returning any further tokens + $this->pos = count($this->tokens); + + // return with (); removed + return substr($textAfter, strlen($matches[0])); + } + + private function defineCompatibilityTokens() { + static $compatTokensDefined = false; + if ($compatTokensDefined) { + return; + } + + $compatTokens = [ + // PHP 7.4 + 'T_BAD_CHARACTER', + 'T_FN', + 'T_COALESCE_EQUAL', + // PHP 8.0 + 'T_NAME_QUALIFIED', + 'T_NAME_FULLY_QUALIFIED', + 'T_NAME_RELATIVE', + 'T_MATCH', + 'T_NULLSAFE_OBJECT_OPERATOR', + 'T_ATTRIBUTE', + // PHP 8.1 + 'T_ENUM', + 'T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG', + 'T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG', + 'T_READONLY', + ]; + + // PHP-Parser might be used together with another library that also emulates some or all + // of these tokens. Perform a sanity-check that all already defined tokens have been + // assigned a unique ID. + $usedTokenIds = []; + foreach ($compatTokens as $token) { + if (\defined($token)) { + $tokenId = \constant($token); + $clashingToken = $usedTokenIds[$tokenId] ?? null; + if ($clashingToken !== null) { + throw new \Error(sprintf( + 'Token %s has same ID as token %s, ' . + 'you may be using a library with broken token emulation', + $token, $clashingToken + )); + } + $usedTokenIds[$tokenId] = $token; + } + } + + // Now define any tokens that have not yet been emulated. Try to assign IDs from -1 + // downwards, but skip any IDs that may already be in use. + $newTokenId = -1; + foreach ($compatTokens as $token) { + if (!\defined($token)) { + while (isset($usedTokenIds[$newTokenId])) { + $newTokenId--; + } + \define($token, $newTokenId); + $newTokenId--; + } + } + + $compatTokensDefined = true; + } + + /** + * Creates the token map. + * + * The token map maps the PHP internal token identifiers + * to the identifiers used by the Parser. Additionally it + * maps T_OPEN_TAG_WITH_ECHO to T_ECHO and T_CLOSE_TAG to ';'. + * + * @return array The token map + */ + protected function createTokenMap() : array { + $tokenMap = []; + + // 256 is the minimum possible token number, as everything below + // it is an ASCII value + for ($i = 256; $i < 1000; ++$i) { + if (\T_DOUBLE_COLON === $i) { + // T_DOUBLE_COLON is equivalent to T_PAAMAYIM_NEKUDOTAYIM + $tokenMap[$i] = Tokens::T_PAAMAYIM_NEKUDOTAYIM; + } elseif(\T_OPEN_TAG_WITH_ECHO === $i) { + // T_OPEN_TAG_WITH_ECHO with dropped T_OPEN_TAG results in T_ECHO + $tokenMap[$i] = Tokens::T_ECHO; + } elseif(\T_CLOSE_TAG === $i) { + // T_CLOSE_TAG is equivalent to ';' + $tokenMap[$i] = ord(';'); + } elseif ('UNKNOWN' !== $name = token_name($i)) { + if ('T_HASHBANG' === $name) { + // HHVM uses a special token for #! hashbang lines + $tokenMap[$i] = Tokens::T_INLINE_HTML; + } elseif (defined($name = Tokens::class . '::' . $name)) { + // Other tokens can be mapped directly + $tokenMap[$i] = constant($name); + } + } + } + + // HHVM uses a special token for numbers that overflow to double + if (defined('T_ONUMBER')) { + $tokenMap[\T_ONUMBER] = Tokens::T_DNUMBER; + } + // HHVM also has a separate token for the __COMPILER_HALT_OFFSET__ constant + if (defined('T_COMPILER_HALT_OFFSET')) { + $tokenMap[\T_COMPILER_HALT_OFFSET] = Tokens::T_STRING; + } + + // Assign tokens for which we define compatibility constants, as token_name() does not know them. + $tokenMap[\T_FN] = Tokens::T_FN; + $tokenMap[\T_COALESCE_EQUAL] = Tokens::T_COALESCE_EQUAL; + $tokenMap[\T_NAME_QUALIFIED] = Tokens::T_NAME_QUALIFIED; + $tokenMap[\T_NAME_FULLY_QUALIFIED] = Tokens::T_NAME_FULLY_QUALIFIED; + $tokenMap[\T_NAME_RELATIVE] = Tokens::T_NAME_RELATIVE; + $tokenMap[\T_MATCH] = Tokens::T_MATCH; + $tokenMap[\T_NULLSAFE_OBJECT_OPERATOR] = Tokens::T_NULLSAFE_OBJECT_OPERATOR; + $tokenMap[\T_ATTRIBUTE] = Tokens::T_ATTRIBUTE; + $tokenMap[\T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG] = Tokens::T_AMPERSAND_NOT_FOLLOWED_BY_VAR_OR_VARARG; + $tokenMap[\T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG] = Tokens::T_AMPERSAND_FOLLOWED_BY_VAR_OR_VARARG; + $tokenMap[\T_ENUM] = Tokens::T_ENUM; + $tokenMap[\T_READONLY] = Tokens::T_READONLY; + + return $tokenMap; + } + + private function createIdentifierTokenMap(): array { + // Based on semi_reserved production. + return array_fill_keys([ + \T_STRING, + \T_STATIC, \T_ABSTRACT, \T_FINAL, \T_PRIVATE, \T_PROTECTED, \T_PUBLIC, \T_READONLY, + \T_INCLUDE, \T_INCLUDE_ONCE, \T_EVAL, \T_REQUIRE, \T_REQUIRE_ONCE, \T_LOGICAL_OR, \T_LOGICAL_XOR, \T_LOGICAL_AND, + \T_INSTANCEOF, \T_NEW, \T_CLONE, \T_EXIT, \T_IF, \T_ELSEIF, \T_ELSE, \T_ENDIF, \T_ECHO, \T_DO, \T_WHILE, + \T_ENDWHILE, \T_FOR, \T_ENDFOR, \T_FOREACH, \T_ENDFOREACH, \T_DECLARE, \T_ENDDECLARE, \T_AS, \T_TRY, \T_CATCH, + \T_FINALLY, \T_THROW, \T_USE, \T_INSTEADOF, \T_GLOBAL, \T_VAR, \T_UNSET, \T_ISSET, \T_EMPTY, \T_CONTINUE, \T_GOTO, + \T_FUNCTION, \T_CONST, \T_RETURN, \T_PRINT, \T_YIELD, \T_LIST, \T_SWITCH, \T_ENDSWITCH, \T_CASE, \T_DEFAULT, + \T_BREAK, \T_ARRAY, \T_CALLABLE, \T_EXTENDS, \T_IMPLEMENTS, \T_NAMESPACE, \T_TRAIT, \T_INTERFACE, \T_CLASS, + \T_CLASS_C, \T_TRAIT_C, \T_FUNC_C, \T_METHOD_C, \T_LINE, \T_FILE, \T_DIR, \T_NS_C, \T_HALT_COMPILER, \T_FN, + \T_MATCH, + ], true); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php new file mode 100644 index 00000000..b0929f3c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php @@ -0,0 +1,251 @@ +targetPhpVersion = $options['phpVersion'] ?? Emulative::PHP_8_2; + unset($options['phpVersion']); + + parent::__construct($options); + + $emulators = [ + new FlexibleDocStringEmulator(), + new FnTokenEmulator(), + new MatchTokenEmulator(), + new CoaleseEqualTokenEmulator(), + new NumericLiteralSeparatorEmulator(), + new NullsafeTokenEmulator(), + new AttributeEmulator(), + new EnumTokenEmulator(), + new ReadonlyTokenEmulator(), + new ExplicitOctalEmulator(), + new ReadonlyFunctionTokenEmulator(), + ]; + + // Collect emulators that are relevant for the PHP version we're running + // and the PHP version we're targeting for emulation. + foreach ($emulators as $emulator) { + $emulatorPhpVersion = $emulator->getPhpVersion(); + if ($this->isForwardEmulationNeeded($emulatorPhpVersion)) { + $this->emulators[] = $emulator; + } else if ($this->isReverseEmulationNeeded($emulatorPhpVersion)) { + $this->emulators[] = new ReverseEmulator($emulator); + } + } + } + + public function startLexing(string $code, ErrorHandler $errorHandler = null) { + $emulators = array_filter($this->emulators, function($emulator) use($code) { + return $emulator->isEmulationNeeded($code); + }); + + if (empty($emulators)) { + // Nothing to emulate, yay + parent::startLexing($code, $errorHandler); + return; + } + + $this->patches = []; + foreach ($emulators as $emulator) { + $code = $emulator->preprocessCode($code, $this->patches); + } + + $collector = new ErrorHandler\Collecting(); + parent::startLexing($code, $collector); + $this->sortPatches(); + $this->fixupTokens(); + + $errors = $collector->getErrors(); + if (!empty($errors)) { + $this->fixupErrors($errors); + foreach ($errors as $error) { + $errorHandler->handleError($error); + } + } + + foreach ($emulators as $emulator) { + $this->tokens = $emulator->emulate($code, $this->tokens); + } + } + + private function isForwardEmulationNeeded(string $emulatorPhpVersion): bool { + return version_compare(\PHP_VERSION, $emulatorPhpVersion, '<') + && version_compare($this->targetPhpVersion, $emulatorPhpVersion, '>='); + } + + private function isReverseEmulationNeeded(string $emulatorPhpVersion): bool { + return version_compare(\PHP_VERSION, $emulatorPhpVersion, '>=') + && version_compare($this->targetPhpVersion, $emulatorPhpVersion, '<'); + } + + private function sortPatches() + { + // Patches may be contributed by different emulators. + // Make sure they are sorted by increasing patch position. + usort($this->patches, function($p1, $p2) { + return $p1[0] <=> $p2[0]; + }); + } + + private function fixupTokens() + { + if (\count($this->patches) === 0) { + return; + } + + // Load first patch + $patchIdx = 0; + + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + + // We use a manual loop over the tokens, because we modify the array on the fly + $pos = 0; + for ($i = 0, $c = \count($this->tokens); $i < $c; $i++) { + $token = $this->tokens[$i]; + if (\is_string($token)) { + if ($patchPos === $pos) { + // Only support replacement for string tokens. + assert($patchType === 'replace'); + $this->tokens[$i] = $patchText; + + // Fetch the next patch + $patchIdx++; + if ($patchIdx >= \count($this->patches)) { + // No more patches, we're done + return; + } + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + } + + $pos += \strlen($token); + continue; + } + + $len = \strlen($token[1]); + $posDelta = 0; + while ($patchPos >= $pos && $patchPos < $pos + $len) { + $patchTextLen = \strlen($patchText); + if ($patchType === 'remove') { + if ($patchPos === $pos && $patchTextLen === $len) { + // Remove token entirely + array_splice($this->tokens, $i, 1, []); + $i--; + $c--; + } else { + // Remove from token string + $this->tokens[$i][1] = substr_replace( + $token[1], '', $patchPos - $pos + $posDelta, $patchTextLen + ); + $posDelta -= $patchTextLen; + } + } elseif ($patchType === 'add') { + // Insert into the token string + $this->tokens[$i][1] = substr_replace( + $token[1], $patchText, $patchPos - $pos + $posDelta, 0 + ); + $posDelta += $patchTextLen; + } else if ($patchType === 'replace') { + // Replace inside the token string + $this->tokens[$i][1] = substr_replace( + $token[1], $patchText, $patchPos - $pos + $posDelta, $patchTextLen + ); + } else { + assert(false); + } + + // Fetch the next patch + $patchIdx++; + if ($patchIdx >= \count($this->patches)) { + // No more patches, we're done + return; + } + + list($patchPos, $patchType, $patchText) = $this->patches[$patchIdx]; + + // Multiple patches may apply to the same token. Reload the current one to check + // If the new patch applies + $token = $this->tokens[$i]; + } + + $pos += $len; + } + + // A patch did not apply + assert(false); + } + + /** + * Fixup line and position information in errors. + * + * @param Error[] $errors + */ + private function fixupErrors(array $errors) { + foreach ($errors as $error) { + $attrs = $error->getAttributes(); + + $posDelta = 0; + $lineDelta = 0; + foreach ($this->patches as $patch) { + list($patchPos, $patchType, $patchText) = $patch; + if ($patchPos >= $attrs['startFilePos']) { + // No longer relevant + break; + } + + if ($patchType === 'add') { + $posDelta += strlen($patchText); + $lineDelta += substr_count($patchText, "\n"); + } else if ($patchType === 'remove') { + $posDelta -= strlen($patchText); + $lineDelta -= substr_count($patchText, "\n"); + } + } + + $attrs['startFilePos'] += $posDelta; + $attrs['endFilePos'] += $posDelta; + $attrs['startLine'] += $lineDelta; + $attrs['endLine'] += $lineDelta; + $error->setAttributes($attrs); + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php new file mode 100644 index 00000000..6776a519 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php @@ -0,0 +1,56 @@ +resolveIntegerOrFloatToken($tokens[$i + 1][1]); + array_splice($tokens, $i, 2, [ + [$tokenKind, '0' . $tokens[$i + 1][1], $tokens[$i][2]], + ]); + $c--; + } + } + return $tokens; + } + + private function resolveIntegerOrFloatToken(string $str): int + { + $str = substr($str, 1); + $str = str_replace('_', '', $str); + $num = octdec($str); + return is_float($num) ? \T_DNUMBER : \T_LNUMBER; + } + + public function reverseEmulate(string $code, array $tokens): array { + // Explicit octals were not legal code previously, don't bother. + return $tokens; + } +} \ No newline at end of file diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php new file mode 100644 index 00000000..c15d6271 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FlexibleDocStringEmulator.php @@ -0,0 +1,76 @@ +\h*)\2(?![a-zA-Z0-9_\x80-\xff])(?(?:;?[\r\n])?)/x +REGEX; + + public function getPhpVersion(): string + { + return Emulative::PHP_7_3; + } + + public function isEmulationNeeded(string $code) : bool + { + return strpos($code, '<<<') !== false; + } + + public function emulate(string $code, array $tokens): array + { + // Handled by preprocessing + fixup. + return $tokens; + } + + public function reverseEmulate(string $code, array $tokens): array + { + // Not supported. + return $tokens; + } + + public function preprocessCode(string $code, array &$patches): string { + if (!preg_match_all(self::FLEXIBLE_DOC_STRING_REGEX, $code, $matches, PREG_SET_ORDER|PREG_OFFSET_CAPTURE)) { + // No heredoc/nowdoc found + return $code; + } + + // Keep track of how much we need to adjust string offsets due to the modifications we + // already made + $posDelta = 0; + foreach ($matches as $match) { + $indentation = $match['indentation'][0]; + $indentationStart = $match['indentation'][1]; + + $separator = $match['separator'][0]; + $separatorStart = $match['separator'][1]; + + if ($indentation === '' && $separator !== '') { + // Ordinary heredoc/nowdoc + continue; + } + + if ($indentation !== '') { + // Remove indentation + $indentationLen = strlen($indentation); + $code = substr_replace($code, '', $indentationStart + $posDelta, $indentationLen); + $patches[] = [$indentationStart + $posDelta, 'add', $indentation]; + $posDelta -= $indentationLen; + } + + if ($separator === '') { + // Insert newline as separator + $code = substr_replace($code, "\n", $separatorStart + $posDelta, 0); + $patches[] = [$separatorStart + $posDelta, 'remove', "\n"]; + $posDelta += 1; + } + } + + return $code; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php new file mode 100644 index 00000000..eb7e4963 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/FnTokenEmulator.php @@ -0,0 +1,23 @@ +getKeywordString()) !== false; + } + + protected function isKeywordContext(array $tokens, int $pos): bool + { + $previousNonSpaceToken = $this->getPreviousNonSpaceToken($tokens, $pos); + return $previousNonSpaceToken === null || $previousNonSpaceToken[0] !== \T_OBJECT_OPERATOR; + } + + public function emulate(string $code, array $tokens): array + { + $keywordString = $this->getKeywordString(); + foreach ($tokens as $i => $token) { + if ($token[0] === T_STRING && strtolower($token[1]) === $keywordString + && $this->isKeywordContext($tokens, $i)) { + $tokens[$i][0] = $this->getKeywordToken(); + } + } + + return $tokens; + } + + /** + * @param mixed[] $tokens + * @return array|string|null + */ + private function getPreviousNonSpaceToken(array $tokens, int $start) + { + for ($i = $start - 1; $i >= 0; --$i) { + if ($tokens[$i][0] === T_WHITESPACE) { + continue; + } + + return $tokens[$i]; + } + + return null; + } + + public function reverseEmulate(string $code, array $tokens): array + { + $keywordToken = $this->getKeywordToken(); + foreach ($tokens as $i => $token) { + if ($token[0] === $keywordToken) { + $tokens[$i][0] = \T_STRING; + } + } + + return $tokens; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php new file mode 100644 index 00000000..902a46df --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php @@ -0,0 +1,23 @@ +') !== false; + } + + public function emulate(string $code, array $tokens): array + { + // We need to manually iterate and manage a count because we'll change + // the tokens array on the way + $line = 1; + for ($i = 0, $c = count($tokens); $i < $c; ++$i) { + if ($tokens[$i] === '?' && isset($tokens[$i + 1]) && $tokens[$i + 1][0] === \T_OBJECT_OPERATOR) { + array_splice($tokens, $i, 2, [ + [\T_NULLSAFE_OBJECT_OPERATOR, '?->', $line] + ]); + $c--; + continue; + } + + // Handle ?-> inside encapsed string. + if ($tokens[$i][0] === \T_ENCAPSED_AND_WHITESPACE && isset($tokens[$i - 1]) + && $tokens[$i - 1][0] === \T_VARIABLE + && preg_match('/^\?->([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*)/', $tokens[$i][1], $matches) + ) { + $replacement = [ + [\T_NULLSAFE_OBJECT_OPERATOR, '?->', $line], + [\T_STRING, $matches[1], $line], + ]; + if (\strlen($matches[0]) !== \strlen($tokens[$i][1])) { + $replacement[] = [ + \T_ENCAPSED_AND_WHITESPACE, + \substr($tokens[$i][1], \strlen($matches[0])), + $line + ]; + } + array_splice($tokens, $i, 1, $replacement); + $c += \count($replacement) - 1; + continue; + } + + if (\is_array($tokens[$i])) { + $line += substr_count($tokens[$i][1], "\n"); + } + } + + return $tokens; + } + + public function reverseEmulate(string $code, array $tokens): array + { + // ?-> was not valid code previously, don't bother. + return $tokens; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php new file mode 100644 index 00000000..cdf793e4 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NumericLiteralSeparatorEmulator.php @@ -0,0 +1,105 @@ +resolveIntegerOrFloatToken($match); + $newTokens = [[$tokenKind, $match, $token[2]]]; + + $numTokens = 1; + $len = $tokenLen; + while ($matchLen > $len) { + $nextToken = $tokens[$i + $numTokens]; + $nextTokenText = \is_array($nextToken) ? $nextToken[1] : $nextToken; + $nextTokenLen = \strlen($nextTokenText); + + $numTokens++; + if ($matchLen < $len + $nextTokenLen) { + // Split trailing characters into a partial token. + assert(is_array($nextToken), "Partial token should be an array token"); + $partialText = substr($nextTokenText, $matchLen - $len); + $newTokens[] = [$nextToken[0], $partialText, $nextToken[2]]; + break; + } + + $len += $nextTokenLen; + } + + array_splice($tokens, $i, $numTokens, $newTokens); + $c -= $numTokens - \count($newTokens); + $codeOffset += $matchLen; + } + + return $tokens; + } + + private function resolveIntegerOrFloatToken(string $str): int + { + $str = str_replace('_', '', $str); + + if (stripos($str, '0b') === 0) { + $num = bindec($str); + } elseif (stripos($str, '0x') === 0) { + $num = hexdec($str); + } elseif (stripos($str, '0') === 0 && ctype_digit($str)) { + $num = octdec($str); + } else { + $num = +$str; + } + + return is_float($num) ? T_DNUMBER : T_LNUMBER; + } + + public function reverseEmulate(string $code, array $tokens): array + { + // Numeric separators were not legal code previously, don't bother. + return $tokens; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php new file mode 100644 index 00000000..e671458c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php @@ -0,0 +1,31 @@ +emulator = $emulator; + } + + public function getPhpVersion(): string { + return $this->emulator->getPhpVersion(); + } + + public function isEmulationNeeded(string $code): bool { + return $this->emulator->isEmulationNeeded($code); + } + + public function emulate(string $code, array $tokens): array { + return $this->emulator->reverseEmulate($code, $tokens); + } + + public function reverseEmulate(string $code, array $tokens): array { + return $this->emulator->emulate($code, $tokens); + } + + public function preprocessCode(string $code, array &$patches): string { + return $code; + } +} \ No newline at end of file diff --git a/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php new file mode 100644 index 00000000..a020bc0f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php @@ -0,0 +1,25 @@ + [aliasName => originalName]] */ + protected $aliases = []; + + /** @var Name[][] Same as $aliases but preserving original case */ + protected $origAliases = []; + + /** @var ErrorHandler Error handler */ + protected $errorHandler; + + /** + * Create a name context. + * + * @param ErrorHandler $errorHandler Error handling used to report errors + */ + public function __construct(ErrorHandler $errorHandler) { + $this->errorHandler = $errorHandler; + } + + /** + * Start a new namespace. + * + * This also resets the alias table. + * + * @param Name|null $namespace Null is the global namespace + */ + public function startNamespace(Name $namespace = null) { + $this->namespace = $namespace; + $this->origAliases = $this->aliases = [ + Stmt\Use_::TYPE_NORMAL => [], + Stmt\Use_::TYPE_FUNCTION => [], + Stmt\Use_::TYPE_CONSTANT => [], + ]; + } + + /** + * Add an alias / import. + * + * @param Name $name Original name + * @param string $aliasName Aliased name + * @param int $type One of Stmt\Use_::TYPE_* + * @param array $errorAttrs Attributes to use to report an error + */ + public function addAlias(Name $name, string $aliasName, int $type, array $errorAttrs = []) { + // Constant names are case sensitive, everything else case insensitive + if ($type === Stmt\Use_::TYPE_CONSTANT) { + $aliasLookupName = $aliasName; + } else { + $aliasLookupName = strtolower($aliasName); + } + + if (isset($this->aliases[$type][$aliasLookupName])) { + $typeStringMap = [ + Stmt\Use_::TYPE_NORMAL => '', + Stmt\Use_::TYPE_FUNCTION => 'function ', + Stmt\Use_::TYPE_CONSTANT => 'const ', + ]; + + $this->errorHandler->handleError(new Error( + sprintf( + 'Cannot use %s%s as %s because the name is already in use', + $typeStringMap[$type], $name, $aliasName + ), + $errorAttrs + )); + return; + } + + $this->aliases[$type][$aliasLookupName] = $name; + $this->origAliases[$type][$aliasName] = $name; + } + + /** + * Get current namespace. + * + * @return null|Name Namespace (or null if global namespace) + */ + public function getNamespace() { + return $this->namespace; + } + + /** + * Get resolved name. + * + * @param Name $name Name to resolve + * @param int $type One of Stmt\Use_::TYPE_{FUNCTION|CONSTANT} + * + * @return null|Name Resolved name, or null if static resolution is not possible + */ + public function getResolvedName(Name $name, int $type) { + // don't resolve special class names + if ($type === Stmt\Use_::TYPE_NORMAL && $name->isSpecialClassName()) { + if (!$name->isUnqualified()) { + $this->errorHandler->handleError(new Error( + sprintf("'\\%s' is an invalid class name", $name->toString()), + $name->getAttributes() + )); + } + return $name; + } + + // fully qualified names are already resolved + if ($name->isFullyQualified()) { + return $name; + } + + // Try to resolve aliases + if (null !== $resolvedName = $this->resolveAlias($name, $type)) { + return $resolvedName; + } + + if ($type !== Stmt\Use_::TYPE_NORMAL && $name->isUnqualified()) { + if (null === $this->namespace) { + // outside of a namespace unaliased unqualified is same as fully qualified + return new FullyQualified($name, $name->getAttributes()); + } + + // Cannot resolve statically + return null; + } + + // if no alias exists prepend current namespace + return FullyQualified::concat($this->namespace, $name, $name->getAttributes()); + } + + /** + * Get resolved class name. + * + * @param Name $name Class ame to resolve + * + * @return Name Resolved name + */ + public function getResolvedClassName(Name $name) : Name { + return $this->getResolvedName($name, Stmt\Use_::TYPE_NORMAL); + } + + /** + * Get possible ways of writing a fully qualified name (e.g., by making use of aliases). + * + * @param string $name Fully-qualified name (without leading namespace separator) + * @param int $type One of Stmt\Use_::TYPE_* + * + * @return Name[] Possible representations of the name + */ + public function getPossibleNames(string $name, int $type) : array { + $lcName = strtolower($name); + + if ($type === Stmt\Use_::TYPE_NORMAL) { + // self, parent and static must always be unqualified + if ($lcName === "self" || $lcName === "parent" || $lcName === "static") { + return [new Name($name)]; + } + } + + // Collect possible ways to write this name, starting with the fully-qualified name + $possibleNames = [new FullyQualified($name)]; + + if (null !== $nsRelativeName = $this->getNamespaceRelativeName($name, $lcName, $type)) { + // Make sure there is no alias that makes the normally namespace-relative name + // into something else + if (null === $this->resolveAlias($nsRelativeName, $type)) { + $possibleNames[] = $nsRelativeName; + } + } + + // Check for relevant namespace use statements + foreach ($this->origAliases[Stmt\Use_::TYPE_NORMAL] as $alias => $orig) { + $lcOrig = $orig->toLowerString(); + if (0 === strpos($lcName, $lcOrig . '\\')) { + $possibleNames[] = new Name($alias . substr($name, strlen($lcOrig))); + } + } + + // Check for relevant type-specific use statements + foreach ($this->origAliases[$type] as $alias => $orig) { + if ($type === Stmt\Use_::TYPE_CONSTANT) { + // Constants are are complicated-sensitive + $normalizedOrig = $this->normalizeConstName($orig->toString()); + if ($normalizedOrig === $this->normalizeConstName($name)) { + $possibleNames[] = new Name($alias); + } + } else { + // Everything else is case-insensitive + if ($orig->toLowerString() === $lcName) { + $possibleNames[] = new Name($alias); + } + } + } + + return $possibleNames; + } + + /** + * Get shortest representation of this fully-qualified name. + * + * @param string $name Fully-qualified name (without leading namespace separator) + * @param int $type One of Stmt\Use_::TYPE_* + * + * @return Name Shortest representation + */ + public function getShortName(string $name, int $type) : Name { + $possibleNames = $this->getPossibleNames($name, $type); + + // Find shortest name + $shortestName = null; + $shortestLength = \INF; + foreach ($possibleNames as $possibleName) { + $length = strlen($possibleName->toCodeString()); + if ($length < $shortestLength) { + $shortestName = $possibleName; + $shortestLength = $length; + } + } + + return $shortestName; + } + + private function resolveAlias(Name $name, $type) { + $firstPart = $name->getFirst(); + + if ($name->isQualified()) { + // resolve aliases for qualified names, always against class alias table + $checkName = strtolower($firstPart); + if (isset($this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName])) { + $alias = $this->aliases[Stmt\Use_::TYPE_NORMAL][$checkName]; + return FullyQualified::concat($alias, $name->slice(1), $name->getAttributes()); + } + } elseif ($name->isUnqualified()) { + // constant aliases are case-sensitive, function aliases case-insensitive + $checkName = $type === Stmt\Use_::TYPE_CONSTANT ? $firstPart : strtolower($firstPart); + if (isset($this->aliases[$type][$checkName])) { + // resolve unqualified aliases + return new FullyQualified($this->aliases[$type][$checkName], $name->getAttributes()); + } + } + + // No applicable aliases + return null; + } + + private function getNamespaceRelativeName(string $name, string $lcName, int $type) { + if (null === $this->namespace) { + return new Name($name); + } + + if ($type === Stmt\Use_::TYPE_CONSTANT) { + // The constants true/false/null always resolve to the global symbols, even inside a + // namespace, so they may be used without qualification + if ($lcName === "true" || $lcName === "false" || $lcName === "null") { + return new Name($name); + } + } + + $namespacePrefix = strtolower($this->namespace . '\\'); + if (0 === strpos($lcName, $namespacePrefix)) { + return new Name(substr($name, strlen($namespacePrefix))); + } + + return null; + } + + private function normalizeConstName(string $name) { + $nsSep = strrpos($name, '\\'); + if (false === $nsSep) { + return $name; + } + + // Constants have case-insensitive namespace and case-sensitive short-name + $ns = substr($name, 0, $nsSep); + $shortName = substr($name, $nsSep + 1); + return strtolower($ns) . '\\' . $shortName; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node.php b/vendor/nikic/php-parser/lib/PhpParser/Node.php new file mode 100644 index 00000000..befb2565 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node.php @@ -0,0 +1,151 @@ +attributes = $attributes; + $this->name = $name; + $this->value = $value; + $this->byRef = $byRef; + $this->unpack = $unpack; + } + + public function getSubNodeNames() : array { + return ['name', 'value', 'byRef', 'unpack']; + } + + public function getType() : string { + return 'Arg'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php new file mode 100644 index 00000000..c96f66e5 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Attribute.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->name = $name; + $this->args = $args; + } + + public function getSubNodeNames() : array { + return ['name', 'args']; + } + + public function getType() : string { + return 'Attribute'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php b/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php new file mode 100644 index 00000000..613bfc41 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php @@ -0,0 +1,29 @@ +attributes = $attributes; + $this->attrs = $attrs; + } + + public function getSubNodeNames() : array { + return ['attrs']; + } + + public function getType() : string { + return 'AttributeGroup'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php b/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php new file mode 100644 index 00000000..9505532a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/ComplexType.php @@ -0,0 +1,14 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['name', 'value']; + } + + public function getType() : string { + return 'Const'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php new file mode 100644 index 00000000..6cf4df22 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr.php @@ -0,0 +1,9 @@ +attributes = $attributes; + $this->var = $var; + $this->dim = $dim; + } + + public function getSubNodeNames() : array { + return ['var', 'dim']; + } + + public function getType() : string { + return 'Expr_ArrayDimFetch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php new file mode 100644 index 00000000..1b078f82 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->key = $key; + $this->value = $value; + $this->byRef = $byRef; + $this->unpack = $unpack; + } + + public function getSubNodeNames() : array { + return ['key', 'value', 'byRef', 'unpack']; + } + + public function getType() : string { + return 'Expr_ArrayItem'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php new file mode 100644 index 00000000..e6eaa283 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->items = $items; + } + + public function getSubNodeNames() : array { + return ['items']; + } + + public function getType() : string { + return 'Expr_Array'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php new file mode 100644 index 00000000..c273fb7e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php @@ -0,0 +1,79 @@ + false : Whether the closure is static + * 'byRef' => false : Whether to return by reference + * 'params' => array() : Parameters + * 'returnType' => null : Return type + * 'expr' => Expr : Expression body + * 'attrGroups' => array() : PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->static = $subNodes['static'] ?? false; + $this->byRef = $subNodes['byRef'] ?? false; + $this->params = $subNodes['params'] ?? []; + $returnType = $subNodes['returnType'] ?? null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->expr = $subNodes['expr']; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'static', 'byRef', 'params', 'returnType', 'expr']; + } + + public function returnsByRef() : bool { + return $this->byRef; + } + + public function getParams() : array { + return $this->params; + } + + public function getReturnType() { + return $this->returnType; + } + + public function getAttrGroups() : array { + return $this->attrGroups; + } + + /** + * @return Node\Stmt\Return_[] + */ + public function getStmts() : array { + return [new Node\Stmt\Return_($this->expr)]; + } + + public function getType() : string { + return 'Expr_ArrowFunction'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php new file mode 100644 index 00000000..cf9e6e82 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->var = $var; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['var', 'expr']; + } + + public function getType() : string { + return 'Expr_Assign'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php new file mode 100644 index 00000000..bce8604f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->var = $var; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['var', 'expr']; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php new file mode 100644 index 00000000..420284cd --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php @@ -0,0 +1,12 @@ +attributes = $attributes; + $this->var = $var; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['var', 'expr']; + } + + public function getType() : string { + return 'Expr_AssignRef'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php new file mode 100644 index 00000000..d9c582b0 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php @@ -0,0 +1,40 @@ +attributes = $attributes; + $this->left = $left; + $this->right = $right; + } + + public function getSubNodeNames() : array { + return ['left', 'right']; + } + + /** + * Get the operator sigil for this binary operation. + * + * In the case there are multiple possible sigils for an operator, this method does not + * necessarily return the one used in the parsed code. + * + * @return string + */ + abstract public function getOperatorSigil() : string; +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php new file mode 100644 index 00000000..d907393b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php @@ -0,0 +1,16 @@ +'; + } + + public function getType() : string { + return 'Expr_BinaryOp_Greater'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php new file mode 100644 index 00000000..d677502c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php @@ -0,0 +1,16 @@ +='; + } + + public function getType() : string { + return 'Expr_BinaryOp_GreaterOrEqual'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php new file mode 100644 index 00000000..3d96285c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php @@ -0,0 +1,16 @@ +>'; + } + + public function getType() : string { + return 'Expr_BinaryOp_ShiftRight'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php new file mode 100644 index 00000000..3cb8e7e0 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php @@ -0,0 +1,16 @@ +'; + } + + public function getType() : string { + return 'Expr_BinaryOp_Spaceship'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php new file mode 100644 index 00000000..ed44984b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_BitwiseNot'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php new file mode 100644 index 00000000..bf27e9f6 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_BooleanNot'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php new file mode 100644 index 00000000..78e1cf34 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php @@ -0,0 +1,39 @@ + + */ + abstract public function getRawArgs(): array; + + /** + * Returns whether this call expression is actually a first class callable. + */ + public function isFirstClassCallable(): bool { + foreach ($this->getRawArgs() as $arg) { + if ($arg instanceof VariadicPlaceholder) { + return true; + } + } + return false; + } + + /** + * Assert that this is not a first-class callable and return only ordinary Args. + * + * @return Arg[] + */ + public function getArgs(): array { + assert(!$this->isFirstClassCallable()); + return $this->getRawArgs(); + } +} \ No newline at end of file diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php new file mode 100644 index 00000000..36769d4f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php @@ -0,0 +1,26 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php new file mode 100644 index 00000000..57cc473b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php @@ -0,0 +1,12 @@ +attributes = $attributes; + $this->class = $class; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + + public function getSubNodeNames() : array { + return ['class', 'name']; + } + + public function getType() : string { + return 'Expr_ClassConstFetch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php new file mode 100644 index 00000000..db216b8f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_Clone'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php new file mode 100644 index 00000000..56ddea6a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php @@ -0,0 +1,79 @@ + false : Whether the closure is static + * 'byRef' => false : Whether to return by reference + * 'params' => array(): Parameters + * 'uses' => array(): use()s + * 'returnType' => null : Return type + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attributes groups + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->static = $subNodes['static'] ?? false; + $this->byRef = $subNodes['byRef'] ?? false; + $this->params = $subNodes['params'] ?? []; + $this->uses = $subNodes['uses'] ?? []; + $returnType = $subNodes['returnType'] ?? null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = $subNodes['stmts'] ?? []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'static', 'byRef', 'params', 'uses', 'returnType', 'stmts']; + } + + public function returnsByRef() : bool { + return $this->byRef; + } + + public function getParams() : array { + return $this->params; + } + + public function getReturnType() { + return $this->returnType; + } + + /** @return Node\Stmt[] */ + public function getStmts() : array { + return $this->stmts; + } + + public function getAttrGroups() : array { + return $this->attrGroups; + } + + public function getType() : string { + return 'Expr_Closure'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php new file mode 100644 index 00000000..2b8a0966 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->var = $var; + $this->byRef = $byRef; + } + + public function getSubNodeNames() : array { + return ['var', 'byRef']; + } + + public function getType() : string { + return 'Expr_ClosureUse'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php new file mode 100644 index 00000000..14ebd16b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php @@ -0,0 +1,31 @@ +attributes = $attributes; + $this->name = $name; + } + + public function getSubNodeNames() : array { + return ['name']; + } + + public function getType() : string { + return 'Expr_ConstFetch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php new file mode 100644 index 00000000..4042ec93 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_Empty'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php new file mode 100644 index 00000000..1637f3ae --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php @@ -0,0 +1,31 @@ +attributes = $attributes; + } + + public function getSubNodeNames() : array { + return []; + } + + public function getType() : string { + return 'Expr_Error'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php new file mode 100644 index 00000000..c44ff6f9 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_ErrorSuppress'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php new file mode 100644 index 00000000..85685474 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_Eval'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php new file mode 100644 index 00000000..b88a8f7e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_Exit'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php new file mode 100644 index 00000000..2de4d0dd --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php @@ -0,0 +1,39 @@ + Arguments */ + public $args; + + /** + * Constructs a function call node. + * + * @param Node\Name|Expr $name Function name + * @param array $args Arguments + * @param array $attributes Additional attributes + */ + public function __construct($name, array $args = [], array $attributes = []) { + $this->attributes = $attributes; + $this->name = $name; + $this->args = $args; + } + + public function getSubNodeNames() : array { + return ['name', 'args']; + } + + public function getType() : string { + return 'Expr_FuncCall'; + } + + public function getRawArgs(): array { + return $this->args; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php new file mode 100644 index 00000000..07ce5968 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php @@ -0,0 +1,39 @@ +attributes = $attributes; + $this->expr = $expr; + $this->type = $type; + } + + public function getSubNodeNames() : array { + return ['expr', 'type']; + } + + public function getType() : string { + return 'Expr_Include'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php new file mode 100644 index 00000000..9000d47b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php @@ -0,0 +1,35 @@ +attributes = $attributes; + $this->expr = $expr; + $this->class = $class; + } + + public function getSubNodeNames() : array { + return ['expr', 'class']; + } + + public function getType() : string { + return 'Expr_Instanceof'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php new file mode 100644 index 00000000..76b73875 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->vars = $vars; + } + + public function getSubNodeNames() : array { + return ['vars']; + } + + public function getType() : string { + return 'Expr_Isset'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php new file mode 100644 index 00000000..c27a27b9 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->items = $items; + } + + public function getSubNodeNames() : array { + return ['items']; + } + + public function getType() : string { + return 'Expr_List'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php new file mode 100644 index 00000000..2455a302 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php @@ -0,0 +1,31 @@ +attributes = $attributes; + $this->cond = $cond; + $this->arms = $arms; + } + + public function getSubNodeNames() : array { + return ['cond', 'arms']; + } + + public function getType() : string { + return 'Expr_Match'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php new file mode 100644 index 00000000..49ca4835 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php @@ -0,0 +1,45 @@ + Arguments */ + public $args; + + /** + * Constructs a function call node. + * + * @param Expr $var Variable holding object + * @param string|Identifier|Expr $name Method name + * @param array $args Arguments + * @param array $attributes Additional attributes + */ + public function __construct(Expr $var, $name, array $args = [], array $attributes = []) { + $this->attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->args = $args; + } + + public function getSubNodeNames() : array { + return ['var', 'name', 'args']; + } + + public function getType() : string { + return 'Expr_MethodCall'; + } + + public function getRawArgs(): array { + return $this->args; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php new file mode 100644 index 00000000..e2bb6492 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php @@ -0,0 +1,41 @@ + Arguments */ + public $args; + + /** + * Constructs a function call node. + * + * @param Node\Name|Expr|Node\Stmt\Class_ $class Class name (or class node for anonymous classes) + * @param array $args Arguments + * @param array $attributes Additional attributes + */ + public function __construct($class, array $args = [], array $attributes = []) { + $this->attributes = $attributes; + $this->class = $class; + $this->args = $args; + } + + public function getSubNodeNames() : array { + return ['class', 'args']; + } + + public function getType() : string { + return 'Expr_New'; + } + + public function getRawArgs(): array { + return $this->args; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php new file mode 100644 index 00000000..07a571fd --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php @@ -0,0 +1,45 @@ + Arguments */ + public $args; + + /** + * Constructs a nullsafe method call node. + * + * @param Expr $var Variable holding object + * @param string|Identifier|Expr $name Method name + * @param array $args Arguments + * @param array $attributes Additional attributes + */ + public function __construct(Expr $var, $name, array $args = [], array $attributes = []) { + $this->attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->args = $args; + } + + public function getSubNodeNames() : array { + return ['var', 'name', 'args']; + } + + public function getType() : string { + return 'Expr_NullsafeMethodCall'; + } + + public function getRawArgs(): array { + return $this->args; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php new file mode 100644 index 00000000..9317eb3b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php @@ -0,0 +1,35 @@ +attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + + public function getSubNodeNames() : array { + return ['var', 'name']; + } + + public function getType() : string { + return 'Expr_NullsafePropertyFetch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php new file mode 100644 index 00000000..94d6c296 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->var = $var; + } + + public function getSubNodeNames() : array { + return ['var']; + } + + public function getType() : string { + return 'Expr_PostDec'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php new file mode 100644 index 00000000..005c443a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->var = $var; + } + + public function getSubNodeNames() : array { + return ['var']; + } + + public function getType() : string { + return 'Expr_PostInc'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php new file mode 100644 index 00000000..a5ca685a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->var = $var; + } + + public function getSubNodeNames() : array { + return ['var']; + } + + public function getType() : string { + return 'Expr_PreDec'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php new file mode 100644 index 00000000..0986c447 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->var = $var; + } + + public function getSubNodeNames() : array { + return ['var']; + } + + public function getType() : string { + return 'Expr_PreInc'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php new file mode 100644 index 00000000..2d43c2ac --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_Print'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php new file mode 100644 index 00000000..4281f31c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php @@ -0,0 +1,35 @@ +attributes = $attributes; + $this->var = $var; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + + public function getSubNodeNames() : array { + return ['var', 'name']; + } + + public function getType() : string { + return 'Expr_PropertyFetch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php new file mode 100644 index 00000000..537a7cc8 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->parts = $parts; + } + + public function getSubNodeNames() : array { + return ['parts']; + } + + public function getType() : string { + return 'Expr_ShellExec'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php new file mode 100644 index 00000000..d0d099c4 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php @@ -0,0 +1,46 @@ + Arguments */ + public $args; + + /** + * Constructs a static method call node. + * + * @param Node\Name|Expr $class Class name + * @param string|Identifier|Expr $name Method name + * @param array $args Arguments + * @param array $attributes Additional attributes + */ + public function __construct($class, $name, array $args = [], array $attributes = []) { + $this->attributes = $attributes; + $this->class = $class; + $this->name = \is_string($name) ? new Identifier($name) : $name; + $this->args = $args; + } + + public function getSubNodeNames() : array { + return ['class', 'name', 'args']; + } + + public function getType() : string { + return 'Expr_StaticCall'; + } + + public function getRawArgs(): array { + return $this->args; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php new file mode 100644 index 00000000..1ee1a25e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php @@ -0,0 +1,36 @@ +attributes = $attributes; + $this->class = $class; + $this->name = \is_string($name) ? new VarLikeIdentifier($name) : $name; + } + + public function getSubNodeNames() : array { + return ['class', 'name']; + } + + public function getType() : string { + return 'Expr_StaticPropertyFetch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php new file mode 100644 index 00000000..9316f47d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php @@ -0,0 +1,38 @@ +attributes = $attributes; + $this->cond = $cond; + $this->if = $if; + $this->else = $else; + } + + public function getSubNodeNames() : array { + return ['cond', 'if', 'else']; + } + + public function getType() : string { + return 'Expr_Ternary'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php new file mode 100644 index 00000000..5c97f0e2 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_Throw'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php new file mode 100644 index 00000000..ce8808bc --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_UnaryMinus'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php new file mode 100644 index 00000000..d23047e5 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_UnaryPlus'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php new file mode 100644 index 00000000..b47d38e9 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->name = $name; + } + + public function getSubNodeNames() : array { + return ['name']; + } + + public function getType() : string { + return 'Expr_Variable'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php new file mode 100644 index 00000000..a3efce61 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Expr_YieldFrom'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php new file mode 100644 index 00000000..aef8fc33 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->key = $key; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['key', 'value']; + } + + public function getType() : string { + return 'Expr_Yield'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php b/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php new file mode 100644 index 00000000..5a825e73 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php @@ -0,0 +1,43 @@ + true, + 'parent' => true, + 'static' => true, + ]; + + /** + * Constructs an identifier node. + * + * @param string $name Identifier as string + * @param array $attributes Additional attributes + */ + public function __construct(string $name, array $attributes = []) { + $this->attributes = $attributes; + $this->name = $name; + } + + public function getSubNodeNames() : array { + return ['name']; + } + + /** + * Get identifier as string. + * + * @return string Identifier as string. + */ + public function toString() : string { + return $this->name; + } + + /** + * Get lowercased identifier as string. + * + * @return string Lowercased identifier as string + */ + public function toLowerString() : string { + return strtolower($this->name); + } + + /** + * Checks whether the identifier is a special class name (self, parent or static). + * + * @return bool Whether identifier is a special class name + */ + public function isSpecialClassName() : bool { + return isset(self::$specialClassNames[strtolower($this->name)]); + } + + /** + * Get identifier as string. + * + * @return string Identifier as string + */ + public function __toString() : string { + return $this->name; + } + + public function getType() : string { + return 'Identifier'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php b/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php new file mode 100644 index 00000000..9208e139 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->types = $types; + } + + public function getSubNodeNames() : array { + return ['types']; + } + + public function getType() : string { + return 'IntersectionType'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php b/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php new file mode 100644 index 00000000..2ae1c86b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/MatchArm.php @@ -0,0 +1,31 @@ +conds = $conds; + $this->body = $body; + $this->attributes = $attributes; + } + + public function getSubNodeNames() : array { + return ['conds', 'body']; + } + + public function getType() : string { + return 'MatchArm'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php new file mode 100644 index 00000000..17bd1c0f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Name.php @@ -0,0 +1,242 @@ + true, + 'parent' => true, + 'static' => true, + ]; + + /** + * Constructs a name node. + * + * @param string|string[]|self $name Name as string, part array or Name instance (copy ctor) + * @param array $attributes Additional attributes + */ + public function __construct($name, array $attributes = []) { + $this->attributes = $attributes; + $this->parts = self::prepareName($name); + } + + public function getSubNodeNames() : array { + return ['parts']; + } + + /** + * Gets the first part of the name, i.e. everything before the first namespace separator. + * + * @return string First part of the name + */ + public function getFirst() : string { + return $this->parts[0]; + } + + /** + * Gets the last part of the name, i.e. everything after the last namespace separator. + * + * @return string Last part of the name + */ + public function getLast() : string { + return $this->parts[count($this->parts) - 1]; + } + + /** + * Checks whether the name is unqualified. (E.g. Name) + * + * @return bool Whether the name is unqualified + */ + public function isUnqualified() : bool { + return 1 === count($this->parts); + } + + /** + * Checks whether the name is qualified. (E.g. Name\Name) + * + * @return bool Whether the name is qualified + */ + public function isQualified() : bool { + return 1 < count($this->parts); + } + + /** + * Checks whether the name is fully qualified. (E.g. \Name) + * + * @return bool Whether the name is fully qualified + */ + public function isFullyQualified() : bool { + return false; + } + + /** + * Checks whether the name is explicitly relative to the current namespace. (E.g. namespace\Name) + * + * @return bool Whether the name is relative + */ + public function isRelative() : bool { + return false; + } + + /** + * Returns a string representation of the name itself, without taking the name type into + * account (e.g., not including a leading backslash for fully qualified names). + * + * @return string String representation + */ + public function toString() : string { + return implode('\\', $this->parts); + } + + /** + * Returns a string representation of the name as it would occur in code (e.g., including + * leading backslash for fully qualified names. + * + * @return string String representation + */ + public function toCodeString() : string { + return $this->toString(); + } + + /** + * Returns lowercased string representation of the name, without taking the name type into + * account (e.g., no leading backslash for fully qualified names). + * + * @return string Lowercased string representation + */ + public function toLowerString() : string { + return strtolower(implode('\\', $this->parts)); + } + + /** + * Checks whether the identifier is a special class name (self, parent or static). + * + * @return bool Whether identifier is a special class name + */ + public function isSpecialClassName() : bool { + return count($this->parts) === 1 + && isset(self::$specialClassNames[strtolower($this->parts[0])]); + } + + /** + * Returns a string representation of the name by imploding the namespace parts with the + * namespace separator. + * + * @return string String representation + */ + public function __toString() : string { + return implode('\\', $this->parts); + } + + /** + * Gets a slice of a name (similar to array_slice). + * + * This method returns a new instance of the same type as the original and with the same + * attributes. + * + * If the slice is empty, null is returned. The null value will be correctly handled in + * concatenations using concat(). + * + * Offset and length have the same meaning as in array_slice(). + * + * @param int $offset Offset to start the slice at (may be negative) + * @param int|null $length Length of the slice (may be negative) + * + * @return static|null Sliced name + */ + public function slice(int $offset, int $length = null) { + $numParts = count($this->parts); + + $realOffset = $offset < 0 ? $offset + $numParts : $offset; + if ($realOffset < 0 || $realOffset > $numParts) { + throw new \OutOfBoundsException(sprintf('Offset %d is out of bounds', $offset)); + } + + if (null === $length) { + $realLength = $numParts - $realOffset; + } else { + $realLength = $length < 0 ? $length + $numParts - $realOffset : $length; + if ($realLength < 0 || $realLength > $numParts - $realOffset) { + throw new \OutOfBoundsException(sprintf('Length %d is out of bounds', $length)); + } + } + + if ($realLength === 0) { + // Empty slice is represented as null + return null; + } + + return new static(array_slice($this->parts, $realOffset, $realLength), $this->attributes); + } + + /** + * Concatenate two names, yielding a new Name instance. + * + * The type of the generated instance depends on which class this method is called on, for + * example Name\FullyQualified::concat() will yield a Name\FullyQualified instance. + * + * If one of the arguments is null, a new instance of the other name will be returned. If both + * arguments are null, null will be returned. As such, writing + * Name::concat($namespace, $shortName) + * where $namespace is a Name node or null will work as expected. + * + * @param string|string[]|self|null $name1 The first name + * @param string|string[]|self|null $name2 The second name + * @param array $attributes Attributes to assign to concatenated name + * + * @return static|null Concatenated name + */ + public static function concat($name1, $name2, array $attributes = []) { + if (null === $name1 && null === $name2) { + return null; + } elseif (null === $name1) { + return new static(self::prepareName($name2), $attributes); + } elseif (null === $name2) { + return new static(self::prepareName($name1), $attributes); + } else { + return new static( + array_merge(self::prepareName($name1), self::prepareName($name2)), $attributes + ); + } + } + + /** + * Prepares a (string, array or Name node) name for use in name changing methods by converting + * it to an array. + * + * @param string|string[]|self $name Name to prepare + * + * @return string[] Prepared name + */ + private static function prepareName($name) : array { + if (\is_string($name)) { + if ('' === $name) { + throw new \InvalidArgumentException('Name cannot be empty'); + } + + return explode('\\', $name); + } elseif (\is_array($name)) { + if (empty($name)) { + throw new \InvalidArgumentException('Name cannot be empty'); + } + + return $name; + } elseif ($name instanceof self) { + return $name->parts; + } + + throw new \InvalidArgumentException( + 'Expected string, array of parts or Name instance' + ); + } + + public function getType() : string { + return 'Name'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php new file mode 100644 index 00000000..1df93a56 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php @@ -0,0 +1,50 @@ +toString(); + } + + public function getType() : string { + return 'Name_FullyQualified'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php new file mode 100644 index 00000000..57bf7af2 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php @@ -0,0 +1,50 @@ +toString(); + } + + public function getType() : string { + return 'Name_Relative'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php b/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php new file mode 100644 index 00000000..d68e26a3 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/NullableType.php @@ -0,0 +1,28 @@ +attributes = $attributes; + $this->type = \is_string($type) ? new Identifier($type) : $type; + } + + public function getSubNodeNames() : array { + return ['type']; + } + + public function getType() : string { + return 'NullableType'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php new file mode 100644 index 00000000..1e90b794 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Param.php @@ -0,0 +1,60 @@ +attributes = $attributes; + $this->type = \is_string($type) ? new Identifier($type) : $type; + $this->byRef = $byRef; + $this->variadic = $variadic; + $this->var = $var; + $this->default = $default; + $this->flags = $flags; + $this->attrGroups = $attrGroups; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'flags', 'type', 'byRef', 'variadic', 'var', 'default']; + } + + public function getType() : string { + return 'Param'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php new file mode 100644 index 00000000..8117909b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar.php @@ -0,0 +1,7 @@ +attributes = $attributes; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['value']; + } + + /** + * @param mixed[] $attributes + */ + public static function fromString(string $str, array $attributes = []): DNumber + { + $attributes['rawValue'] = $str; + $float = self::parse($str); + + return new DNumber($float, $attributes); + } + + /** + * @internal + * + * Parses a DNUMBER token like PHP would. + * + * @param string $str A string number + * + * @return float The parsed number + */ + public static function parse(string $str) : float { + $str = str_replace('_', '', $str); + + // Check whether this is one of the special integer notations. + if ('0' === $str[0]) { + // hex + if ('x' === $str[1] || 'X' === $str[1]) { + return hexdec($str); + } + + // bin + if ('b' === $str[1] || 'B' === $str[1]) { + return bindec($str); + } + + // oct, but only if the string does not contain any of '.eE'. + if (false === strpbrk($str, '.eE')) { + // substr($str, 0, strcspn($str, '89')) cuts the string at the first invalid digit + // (8 or 9) so that only the digits before that are used. + return octdec(substr($str, 0, strcspn($str, '89'))); + } + } + + // dec + return (float) $str; + } + + public function getType() : string { + return 'Scalar_DNumber'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php new file mode 100644 index 00000000..fa5d2e26 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php @@ -0,0 +1,31 @@ +attributes = $attributes; + $this->parts = $parts; + } + + public function getSubNodeNames() : array { + return ['parts']; + } + + public function getType() : string { + return 'Scalar_Encapsed'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php new file mode 100644 index 00000000..bb3194c1 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['value']; + } + + public function getType() : string { + return 'Scalar_EncapsedStringPart'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php new file mode 100644 index 00000000..2cc2b22c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php @@ -0,0 +1,80 @@ +attributes = $attributes; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['value']; + } + + /** + * Constructs an LNumber node from a string number literal. + * + * @param string $str String number literal (decimal, octal, hex or binary) + * @param array $attributes Additional attributes + * @param bool $allowInvalidOctal Whether to allow invalid octal numbers (PHP 5) + * + * @return LNumber The constructed LNumber, including kind attribute + */ + public static function fromString(string $str, array $attributes = [], bool $allowInvalidOctal = false) : LNumber { + $attributes['rawValue'] = $str; + + $str = str_replace('_', '', $str); + + if ('0' !== $str[0] || '0' === $str) { + $attributes['kind'] = LNumber::KIND_DEC; + return new LNumber((int) $str, $attributes); + } + + if ('x' === $str[1] || 'X' === $str[1]) { + $attributes['kind'] = LNumber::KIND_HEX; + return new LNumber(hexdec($str), $attributes); + } + + if ('b' === $str[1] || 'B' === $str[1]) { + $attributes['kind'] = LNumber::KIND_BIN; + return new LNumber(bindec($str), $attributes); + } + + if (!$allowInvalidOctal && strpbrk($str, '89')) { + throw new Error('Invalid numeric literal', $attributes); + } + + // Strip optional explicit octal prefix. + if ('o' === $str[1] || 'O' === $str[1]) { + $str = substr($str, 2); + } + + // use intval instead of octdec to get proper cutting behavior with malformed numbers + $attributes['kind'] = LNumber::KIND_OCT; + return new LNumber(intval($str, 8), $attributes); + } + + public function getType() : string { + return 'Scalar_LNumber'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php new file mode 100644 index 00000000..941f0c76 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php @@ -0,0 +1,28 @@ +attributes = $attributes; + } + + public function getSubNodeNames() : array { + return []; + } + + /** + * Get name of magic constant. + * + * @return string Name of magic constant + */ + abstract public function getName() : string; +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php new file mode 100644 index 00000000..24432847 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php @@ -0,0 +1,16 @@ + '\\', + '$' => '$', + 'n' => "\n", + 'r' => "\r", + 't' => "\t", + 'f' => "\f", + 'v' => "\v", + 'e' => "\x1B", + ]; + + /** + * Constructs a string scalar node. + * + * @param string $value Value of the string + * @param array $attributes Additional attributes + */ + public function __construct(string $value, array $attributes = []) { + $this->attributes = $attributes; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['value']; + } + + /** + * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes + */ + public static function fromString(string $str, array $attributes = [], bool $parseUnicodeEscape = true): self + { + $attributes['kind'] = ($str[0] === "'" || ($str[1] === "'" && ($str[0] === 'b' || $str[0] === 'B'))) + ? Scalar\String_::KIND_SINGLE_QUOTED + : Scalar\String_::KIND_DOUBLE_QUOTED; + + $attributes['rawValue'] = $str; + + $string = self::parse($str, $parseUnicodeEscape); + + return new self($string, $attributes); + } + + /** + * @internal + * + * Parses a string token. + * + * @param string $str String token content + * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes + * + * @return string The parsed string + */ + public static function parse(string $str, bool $parseUnicodeEscape = true) : string { + $bLength = 0; + if ('b' === $str[0] || 'B' === $str[0]) { + $bLength = 1; + } + + if ('\'' === $str[$bLength]) { + return str_replace( + ['\\\\', '\\\''], + ['\\', '\''], + substr($str, $bLength + 1, -1) + ); + } else { + return self::parseEscapeSequences( + substr($str, $bLength + 1, -1), '"', $parseUnicodeEscape + ); + } + } + + /** + * @internal + * + * Parses escape sequences in strings (all string types apart from single quoted). + * + * @param string $str String without quotes + * @param null|string $quote Quote type + * @param bool $parseUnicodeEscape Whether to parse PHP 7 \u escapes + * + * @return string String with escape sequences parsed + */ + public static function parseEscapeSequences(string $str, $quote, bool $parseUnicodeEscape = true) : string { + if (null !== $quote) { + $str = str_replace('\\' . $quote, $quote, $str); + } + + $extra = ''; + if ($parseUnicodeEscape) { + $extra = '|u\{([0-9a-fA-F]+)\}'; + } + + return preg_replace_callback( + '~\\\\([\\\\$nrtfve]|[xX][0-9a-fA-F]{1,2}|[0-7]{1,3}' . $extra . ')~', + function($matches) { + $str = $matches[1]; + + if (isset(self::$replacements[$str])) { + return self::$replacements[$str]; + } elseif ('x' === $str[0] || 'X' === $str[0]) { + return chr(hexdec(substr($str, 1))); + } elseif ('u' === $str[0]) { + return self::codePointToUtf8(hexdec($matches[2])); + } else { + return chr(octdec($str)); + } + }, + $str + ); + } + + /** + * Converts a Unicode code point to its UTF-8 encoded representation. + * + * @param int $num Code point + * + * @return string UTF-8 representation of code point + */ + private static function codePointToUtf8(int $num) : string { + if ($num <= 0x7F) { + return chr($num); + } + if ($num <= 0x7FF) { + return chr(($num>>6) + 0xC0) . chr(($num&0x3F) + 0x80); + } + if ($num <= 0xFFFF) { + return chr(($num>>12) + 0xE0) . chr((($num>>6)&0x3F) + 0x80) . chr(($num&0x3F) + 0x80); + } + if ($num <= 0x1FFFFF) { + return chr(($num>>18) + 0xF0) . chr((($num>>12)&0x3F) + 0x80) + . chr((($num>>6)&0x3F) + 0x80) . chr(($num&0x3F) + 0x80); + } + throw new Error('Invalid UTF-8 codepoint escape sequence: Codepoint too large'); + } + + public function getType() : string { + return 'Scalar_String'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php new file mode 100644 index 00000000..69d33e57 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt.php @@ -0,0 +1,9 @@ +attributes = $attributes; + $this->num = $num; + } + + public function getSubNodeNames() : array { + return ['num']; + } + + public function getType() : string { + return 'Stmt_Break'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php new file mode 100644 index 00000000..2bf044c9 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['cond', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Case'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php new file mode 100644 index 00000000..9b9c0947 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php @@ -0,0 +1,41 @@ +attributes = $attributes; + $this->types = $types; + $this->var = $var; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['types', 'var', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Catch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php new file mode 100644 index 00000000..1fc7f336 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php @@ -0,0 +1,80 @@ +attributes = $attributes; + $this->flags = $flags; + $this->consts = $consts; + $this->attrGroups = $attrGroups; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'flags', 'consts']; + } + + /** + * Whether constant is explicitly or implicitly public. + * + * @return bool + */ + public function isPublic() : bool { + return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 + || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; + } + + /** + * Whether constant is protected. + * + * @return bool + */ + public function isProtected() : bool { + return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); + } + + /** + * Whether constant is private. + * + * @return bool + */ + public function isPrivate() : bool { + return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); + } + + /** + * Whether constant is final. + * + * @return bool + */ + public function isFinal() : bool { + return (bool) ($this->flags & Class_::MODIFIER_FINAL); + } + + public function getType() : string { + return 'Stmt_ClassConst'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php new file mode 100644 index 00000000..2fa4e861 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php @@ -0,0 +1,109 @@ +stmts as $stmt) { + if ($stmt instanceof TraitUse) { + $traitUses[] = $stmt; + } + } + return $traitUses; + } + + /** + * @return ClassConst[] + */ + public function getConstants() : array { + $constants = []; + foreach ($this->stmts as $stmt) { + if ($stmt instanceof ClassConst) { + $constants[] = $stmt; + } + } + return $constants; + } + + /** + * @return Property[] + */ + public function getProperties() : array { + $properties = []; + foreach ($this->stmts as $stmt) { + if ($stmt instanceof Property) { + $properties[] = $stmt; + } + } + return $properties; + } + + /** + * Gets property with the given name defined directly in this class/interface/trait. + * + * @param string $name Name of the property + * + * @return Property|null Property node or null if the property does not exist + */ + public function getProperty(string $name) { + foreach ($this->stmts as $stmt) { + if ($stmt instanceof Property) { + foreach ($stmt->props as $prop) { + if ($prop instanceof PropertyProperty && $name === $prop->name->toString()) { + return $stmt; + } + } + } + } + return null; + } + + /** + * Gets all methods defined directly in this class/interface/trait + * + * @return ClassMethod[] + */ + public function getMethods() : array { + $methods = []; + foreach ($this->stmts as $stmt) { + if ($stmt instanceof ClassMethod) { + $methods[] = $stmt; + } + } + return $methods; + } + + /** + * Gets method with the given name defined directly in this class/interface/trait. + * + * @param string $name Name of the method (compared case-insensitively) + * + * @return ClassMethod|null Method node or null if the method does not exist + */ + public function getMethod(string $name) { + $lowerName = strtolower($name); + foreach ($this->stmts as $stmt) { + if ($stmt instanceof ClassMethod && $lowerName === $stmt->name->toLowerString()) { + return $stmt; + } + } + return null; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php new file mode 100644 index 00000000..6e85161e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php @@ -0,0 +1,161 @@ + true, + '__destruct' => true, + '__call' => true, + '__callstatic' => true, + '__get' => true, + '__set' => true, + '__isset' => true, + '__unset' => true, + '__sleep' => true, + '__wakeup' => true, + '__tostring' => true, + '__set_state' => true, + '__clone' => true, + '__invoke' => true, + '__debuginfo' => true, + '__serialize' => true, + '__unserialize' => true, + ]; + + /** + * Constructs a class method node. + * + * @param string|Node\Identifier $name Name + * @param array $subNodes Array of the following optional subnodes: + * 'flags => MODIFIER_PUBLIC: Flags + * 'byRef' => false : Whether to return by reference + * 'params' => array() : Parameters + * 'returnType' => null : Return type + * 'stmts' => array() : Statements + * 'attrGroups' => array() : PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0; + $this->byRef = $subNodes['byRef'] ?? false; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->params = $subNodes['params'] ?? []; + $returnType = $subNodes['returnType'] ?? null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = array_key_exists('stmts', $subNodes) ? $subNodes['stmts'] : []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'flags', 'byRef', 'name', 'params', 'returnType', 'stmts']; + } + + public function returnsByRef() : bool { + return $this->byRef; + } + + public function getParams() : array { + return $this->params; + } + + public function getReturnType() { + return $this->returnType; + } + + public function getStmts() { + return $this->stmts; + } + + public function getAttrGroups() : array { + return $this->attrGroups; + } + + /** + * Whether the method is explicitly or implicitly public. + * + * @return bool + */ + public function isPublic() : bool { + return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 + || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; + } + + /** + * Whether the method is protected. + * + * @return bool + */ + public function isProtected() : bool { + return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); + } + + /** + * Whether the method is private. + * + * @return bool + */ + public function isPrivate() : bool { + return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); + } + + /** + * Whether the method is abstract. + * + * @return bool + */ + public function isAbstract() : bool { + return (bool) ($this->flags & Class_::MODIFIER_ABSTRACT); + } + + /** + * Whether the method is final. + * + * @return bool + */ + public function isFinal() : bool { + return (bool) ($this->flags & Class_::MODIFIER_FINAL); + } + + /** + * Whether the method is static. + * + * @return bool + */ + public function isStatic() : bool { + return (bool) ($this->flags & Class_::MODIFIER_STATIC); + } + + /** + * Whether the method is magic. + * + * @return bool + */ + public function isMagic() : bool { + return isset(self::$magicNames[$this->name->toLowerString()]); + } + + public function getType() : string { + return 'Stmt_ClassMethod'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php new file mode 100644 index 00000000..52ed6c6c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php @@ -0,0 +1,137 @@ + 0 : Flags + * 'extends' => null : Name of extended class + * 'implements' => array(): Names of implemented interfaces + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->flags = $subNodes['flags'] ?? $subNodes['type'] ?? 0; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->extends = $subNodes['extends'] ?? null; + $this->implements = $subNodes['implements'] ?? []; + $this->stmts = $subNodes['stmts'] ?? []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'flags', 'name', 'extends', 'implements', 'stmts']; + } + + /** + * Whether the class is explicitly abstract. + * + * @return bool + */ + public function isAbstract() : bool { + return (bool) ($this->flags & self::MODIFIER_ABSTRACT); + } + + /** + * Whether the class is final. + * + * @return bool + */ + public function isFinal() : bool { + return (bool) ($this->flags & self::MODIFIER_FINAL); + } + + public function isReadonly() : bool { + return (bool) ($this->flags & self::MODIFIER_READONLY); + } + + /** + * Whether the class is anonymous. + * + * @return bool + */ + public function isAnonymous() : bool { + return null === $this->name; + } + + /** + * @internal + */ + public static function verifyClassModifier($a, $b) { + if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) { + throw new Error('Multiple abstract modifiers are not allowed'); + } + + if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) { + throw new Error('Multiple final modifiers are not allowed'); + } + + if ($a & self::MODIFIER_READONLY && $b & self::MODIFIER_READONLY) { + throw new Error('Multiple readonly modifiers are not allowed'); + } + + if ($a & 48 && $b & 48) { + throw new Error('Cannot use the final modifier on an abstract class'); + } + } + + /** + * @internal + */ + public static function verifyModifier($a, $b) { + if ($a & self::VISIBILITY_MODIFIER_MASK && $b & self::VISIBILITY_MODIFIER_MASK) { + throw new Error('Multiple access type modifiers are not allowed'); + } + + if ($a & self::MODIFIER_ABSTRACT && $b & self::MODIFIER_ABSTRACT) { + throw new Error('Multiple abstract modifiers are not allowed'); + } + + if ($a & self::MODIFIER_STATIC && $b & self::MODIFIER_STATIC) { + throw new Error('Multiple static modifiers are not allowed'); + } + + if ($a & self::MODIFIER_FINAL && $b & self::MODIFIER_FINAL) { + throw new Error('Multiple final modifiers are not allowed'); + } + + if ($a & self::MODIFIER_READONLY && $b & self::MODIFIER_READONLY) { + throw new Error('Multiple readonly modifiers are not allowed'); + } + + if ($a & 48 && $b & 48) { + throw new Error('Cannot use the final modifier on an abstract class member'); + } + } + + public function getType() : string { + return 'Stmt_Class'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php new file mode 100644 index 00000000..e6316345 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->consts = $consts; + } + + public function getSubNodeNames() : array { + return ['consts']; + } + + public function getType() : string { + return 'Stmt_Const'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php new file mode 100644 index 00000000..24882683 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->num = $num; + } + + public function getSubNodeNames() : array { + return ['num']; + } + + public function getType() : string { + return 'Stmt_Continue'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php new file mode 100644 index 00000000..ac07f30c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php @@ -0,0 +1,34 @@ +value pair node. + * + * @param string|Node\Identifier $key Key + * @param Node\Expr $value Value + * @param array $attributes Additional attributes + */ + public function __construct($key, Node\Expr $value, array $attributes = []) { + $this->attributes = $attributes; + $this->key = \is_string($key) ? new Node\Identifier($key) : $key; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['key', 'value']; + } + + public function getType() : string { + return 'Stmt_DeclareDeclare'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php new file mode 100644 index 00000000..f46ff0ba --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->declares = $declares; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['declares', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Declare'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php new file mode 100644 index 00000000..78e90da0 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['stmts', 'cond']; + } + + public function getType() : string { + return 'Stmt_Do'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php new file mode 100644 index 00000000..7cc50d5d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->exprs = $exprs; + } + + public function getSubNodeNames() : array { + return ['exprs']; + } + + public function getType() : string { + return 'Stmt_Echo'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php new file mode 100644 index 00000000..eef1ece3 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['cond', 'stmts']; + } + + public function getType() : string { + return 'Stmt_ElseIf'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php new file mode 100644 index 00000000..0e61778e --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['stmts']; + } + + public function getType() : string { + return 'Stmt_Else'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php new file mode 100644 index 00000000..5beff8b3 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php @@ -0,0 +1,37 @@ +name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->expr = $expr; + $this->attrGroups = $attrGroups; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'name', 'expr']; + } + + public function getType() : string { + return 'Stmt_EnumCase'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php new file mode 100644 index 00000000..3a50c225 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php @@ -0,0 +1,40 @@ + null : Scalar type + * 'implements' => array() : Names of implemented interfaces + * 'stmts' => array() : Statements + * 'attrGroups' => array() : PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) { + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->scalarType = $subNodes['scalarType'] ?? null; + $this->implements = $subNodes['implements'] ?? []; + $this->stmts = $subNodes['stmts'] ?? []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + + parent::__construct($attributes); + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'name', 'scalarType', 'implements', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Enum'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php new file mode 100644 index 00000000..99d1687d --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php @@ -0,0 +1,33 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Stmt_Expression'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php new file mode 100644 index 00000000..d55b8b68 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['stmts']; + } + + public function getType() : string { + return 'Stmt_Finally'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php new file mode 100644 index 00000000..1323d37c --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php @@ -0,0 +1,43 @@ + array(): Init expressions + * 'cond' => array(): Loop conditions + * 'loop' => array(): Loop expressions + * 'stmts' => array(): Statements + * @param array $attributes Additional attributes + */ + public function __construct(array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->init = $subNodes['init'] ?? []; + $this->cond = $subNodes['cond'] ?? []; + $this->loop = $subNodes['loop'] ?? []; + $this->stmts = $subNodes['stmts'] ?? []; + } + + public function getSubNodeNames() : array { + return ['init', 'cond', 'loop', 'stmts']; + } + + public function getType() : string { + return 'Stmt_For'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php new file mode 100644 index 00000000..0556a7ce --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php @@ -0,0 +1,47 @@ + null : Variable to assign key to + * 'byRef' => false : Whether to assign value by reference + * 'stmts' => array(): Statements + * @param array $attributes Additional attributes + */ + public function __construct(Node\Expr $expr, Node\Expr $valueVar, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->expr = $expr; + $this->keyVar = $subNodes['keyVar'] ?? null; + $this->byRef = $subNodes['byRef'] ?? false; + $this->valueVar = $valueVar; + $this->stmts = $subNodes['stmts'] ?? []; + } + + public function getSubNodeNames() : array { + return ['expr', 'keyVar', 'byRef', 'valueVar', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Foreach'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php new file mode 100644 index 00000000..c2ccae24 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php @@ -0,0 +1,77 @@ + false : Whether to return by reference + * 'params' => array(): Parameters + * 'returnType' => null : Return type + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->byRef = $subNodes['byRef'] ?? false; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->params = $subNodes['params'] ?? []; + $returnType = $subNodes['returnType'] ?? null; + $this->returnType = \is_string($returnType) ? new Node\Identifier($returnType) : $returnType; + $this->stmts = $subNodes['stmts'] ?? []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'byRef', 'name', 'params', 'returnType', 'stmts']; + } + + public function returnsByRef() : bool { + return $this->byRef; + } + + public function getParams() : array { + return $this->params; + } + + public function getReturnType() { + return $this->returnType; + } + + public function getAttrGroups() : array { + return $this->attrGroups; + } + + /** @return Node\Stmt[] */ + public function getStmts() : array { + return $this->stmts; + } + + public function getType() : string { + return 'Stmt_Function'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php new file mode 100644 index 00000000..a0022ad9 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->vars = $vars; + } + + public function getSubNodeNames() : array { + return ['vars']; + } + + public function getType() : string { + return 'Stmt_Global'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php new file mode 100644 index 00000000..24a57f78 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php @@ -0,0 +1,31 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + + public function getSubNodeNames() : array { + return ['name']; + } + + public function getType() : string { + return 'Stmt_Goto'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php new file mode 100644 index 00000000..24520d22 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php @@ -0,0 +1,39 @@ +attributes = $attributes; + $this->type = $type; + $this->prefix = $prefix; + $this->uses = $uses; + } + + public function getSubNodeNames() : array { + return ['type', 'prefix', 'uses']; + } + + public function getType() : string { + return 'Stmt_GroupUse'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php new file mode 100644 index 00000000..8e624e0f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->remaining = $remaining; + } + + public function getSubNodeNames() : array { + return ['remaining']; + } + + public function getType() : string { + return 'Stmt_HaltCompiler'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php new file mode 100644 index 00000000..a1bae4bf --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php @@ -0,0 +1,43 @@ + array(): Statements + * 'elseifs' => array(): Elseif clauses + * 'else' => null : Else clause + * @param array $attributes Additional attributes + */ + public function __construct(Node\Expr $cond, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->cond = $cond; + $this->stmts = $subNodes['stmts'] ?? []; + $this->elseifs = $subNodes['elseifs'] ?? []; + $this->else = $subNodes['else'] ?? null; + } + + public function getSubNodeNames() : array { + return ['cond', 'stmts', 'elseifs', 'else']; + } + + public function getType() : string { + return 'Stmt_If'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php new file mode 100644 index 00000000..0711d284 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->value = $value; + } + + public function getSubNodeNames() : array { + return ['value']; + } + + public function getType() : string { + return 'Stmt_InlineHTML'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php new file mode 100644 index 00000000..4d587dd4 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php @@ -0,0 +1,37 @@ + array(): Name of extended interfaces + * 'stmts' => array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->extends = $subNodes['extends'] ?? []; + $this->stmts = $subNodes['stmts'] ?? []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'name', 'extends', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Interface'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php new file mode 100644 index 00000000..3edcb3be --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php @@ -0,0 +1,31 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Identifier($name) : $name; + } + + public function getSubNodeNames() : array { + return ['name']; + } + + public function getType() : string { + return 'Stmt_Label'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php new file mode 100644 index 00000000..c6320457 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php @@ -0,0 +1,38 @@ +attributes = $attributes; + $this->name = $name; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['name', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Namespace'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php new file mode 100644 index 00000000..f86f8df7 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php @@ -0,0 +1,17 @@ +attributes = $attributes; + $this->flags = $flags; + $this->props = $props; + $this->type = \is_string($type) ? new Identifier($type) : $type; + $this->attrGroups = $attrGroups; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'flags', 'type', 'props']; + } + + /** + * Whether the property is explicitly or implicitly public. + * + * @return bool + */ + public function isPublic() : bool { + return ($this->flags & Class_::MODIFIER_PUBLIC) !== 0 + || ($this->flags & Class_::VISIBILITY_MODIFIER_MASK) === 0; + } + + /** + * Whether the property is protected. + * + * @return bool + */ + public function isProtected() : bool { + return (bool) ($this->flags & Class_::MODIFIER_PROTECTED); + } + + /** + * Whether the property is private. + * + * @return bool + */ + public function isPrivate() : bool { + return (bool) ($this->flags & Class_::MODIFIER_PRIVATE); + } + + /** + * Whether the property is static. + * + * @return bool + */ + public function isStatic() : bool { + return (bool) ($this->flags & Class_::MODIFIER_STATIC); + } + + /** + * Whether the property is readonly. + * + * @return bool + */ + public function isReadonly() : bool { + return (bool) ($this->flags & Class_::MODIFIER_READONLY); + } + + public function getType() : string { + return 'Stmt_Property'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php new file mode 100644 index 00000000..205731e2 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->name = \is_string($name) ? new Node\VarLikeIdentifier($name) : $name; + $this->default = $default; + } + + public function getSubNodeNames() : array { + return ['name', 'default']; + } + + public function getType() : string { + return 'Stmt_PropertyProperty'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php new file mode 100644 index 00000000..efc578c5 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Stmt_Return'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php new file mode 100644 index 00000000..29584560 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php @@ -0,0 +1,37 @@ +attributes = $attributes; + $this->var = $var; + $this->default = $default; + } + + public function getSubNodeNames() : array { + return ['var', 'default']; + } + + public function getType() : string { + return 'Stmt_StaticVar'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php new file mode 100644 index 00000000..464898ff --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->vars = $vars; + } + + public function getSubNodeNames() : array { + return ['vars']; + } + + public function getType() : string { + return 'Stmt_Static'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php new file mode 100644 index 00000000..2c8dae02 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->cond = $cond; + $this->cases = $cases; + } + + public function getSubNodeNames() : array { + return ['cond', 'cases']; + } + + public function getType() : string { + return 'Stmt_Switch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php new file mode 100644 index 00000000..a34e2b36 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Throw_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->expr = $expr; + } + + public function getSubNodeNames() : array { + return ['expr']; + } + + public function getType() : string { + return 'Stmt_Throw'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php new file mode 100644 index 00000000..9e97053b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->traits = $traits; + $this->adaptations = $adaptations; + } + + public function getSubNodeNames() : array { + return ['traits', 'adaptations']; + } + + public function getType() : string { + return 'Stmt_TraitUse'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php new file mode 100644 index 00000000..8bdd2c04 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php @@ -0,0 +1,13 @@ +attributes = $attributes; + $this->trait = $trait; + $this->method = \is_string($method) ? new Node\Identifier($method) : $method; + $this->newModifier = $newModifier; + $this->newName = \is_string($newName) ? new Node\Identifier($newName) : $newName; + } + + public function getSubNodeNames() : array { + return ['trait', 'method', 'newModifier', 'newName']; + } + + public function getType() : string { + return 'Stmt_TraitUseAdaptation_Alias'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php new file mode 100644 index 00000000..80385f64 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->trait = $trait; + $this->method = \is_string($method) ? new Node\Identifier($method) : $method; + $this->insteadof = $insteadof; + } + + public function getSubNodeNames() : array { + return ['trait', 'method', 'insteadof']; + } + + public function getType() : string { + return 'Stmt_TraitUseAdaptation_Precedence'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php new file mode 100644 index 00000000..0cec203a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php @@ -0,0 +1,32 @@ + array(): Statements + * 'attrGroups' => array(): PHP attribute groups + * @param array $attributes Additional attributes + */ + public function __construct($name, array $subNodes = [], array $attributes = []) { + $this->attributes = $attributes; + $this->name = \is_string($name) ? new Node\Identifier($name) : $name; + $this->stmts = $subNodes['stmts'] ?? []; + $this->attrGroups = $subNodes['attrGroups'] ?? []; + } + + public function getSubNodeNames() : array { + return ['attrGroups', 'name', 'stmts']; + } + + public function getType() : string { + return 'Stmt_Trait'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php new file mode 100644 index 00000000..7fc158c5 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php @@ -0,0 +1,38 @@ +attributes = $attributes; + $this->stmts = $stmts; + $this->catches = $catches; + $this->finally = $finally; + } + + public function getSubNodeNames() : array { + return ['stmts', 'catches', 'finally']; + } + + public function getType() : string { + return 'Stmt_TryCatch'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php new file mode 100644 index 00000000..310e427a --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php @@ -0,0 +1,30 @@ +attributes = $attributes; + $this->vars = $vars; + } + + public function getSubNodeNames() : array { + return ['vars']; + } + + public function getType() : string { + return 'Stmt_Unset'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php new file mode 100644 index 00000000..32bd7847 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php @@ -0,0 +1,52 @@ +attributes = $attributes; + $this->type = $type; + $this->name = $name; + $this->alias = \is_string($alias) ? new Identifier($alias) : $alias; + } + + public function getSubNodeNames() : array { + return ['type', 'name', 'alias']; + } + + /** + * Get alias. If not explicitly given this is the last component of the used name. + * + * @return Identifier + */ + public function getAlias() : Identifier { + if (null !== $this->alias) { + return $this->alias; + } + + return new Identifier($this->name->getLast()); + } + + public function getType() : string { + return 'Stmt_UseUse'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php new file mode 100644 index 00000000..8753da31 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php @@ -0,0 +1,47 @@ +attributes = $attributes; + $this->type = $type; + $this->uses = $uses; + } + + public function getSubNodeNames() : array { + return ['type', 'uses']; + } + + public function getType() : string { + return 'Stmt_Use'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php new file mode 100644 index 00000000..f41034f8 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php @@ -0,0 +1,34 @@ +attributes = $attributes; + $this->cond = $cond; + $this->stmts = $stmts; + } + + public function getSubNodeNames() : array { + return ['cond', 'stmts']; + } + + public function getType() : string { + return 'Stmt_While'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php b/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php new file mode 100644 index 00000000..93cecd23 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/UnionType.php @@ -0,0 +1,28 @@ +attributes = $attributes; + $this->types = $types; + } + + public function getSubNodeNames() : array { + return ['types']; + } + + public function getType() : string { + return 'UnionType'; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php b/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php new file mode 100644 index 00000000..a30807a6 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php @@ -0,0 +1,17 @@ +attributes = $attributes; + } + + public function getType(): string { + return 'VariadicPlaceholder'; + } + + public function getSubNodeNames(): array { + return []; + } +} \ No newline at end of file diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php b/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php new file mode 100644 index 00000000..04514da1 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeAbstract.php @@ -0,0 +1,178 @@ +attributes = $attributes; + } + + /** + * Gets line the node started in (alias of getStartLine). + * + * @return int Start line (or -1 if not available) + */ + public function getLine() : int { + return $this->attributes['startLine'] ?? -1; + } + + /** + * Gets line the node started in. + * + * Requires the 'startLine' attribute to be enabled in the lexer (enabled by default). + * + * @return int Start line (or -1 if not available) + */ + public function getStartLine() : int { + return $this->attributes['startLine'] ?? -1; + } + + /** + * Gets the line the node ended in. + * + * Requires the 'endLine' attribute to be enabled in the lexer (enabled by default). + * + * @return int End line (or -1 if not available) + */ + public function getEndLine() : int { + return $this->attributes['endLine'] ?? -1; + } + + /** + * Gets the token offset of the first token that is part of this node. + * + * The offset is an index into the array returned by Lexer::getTokens(). + * + * Requires the 'startTokenPos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int Token start position (or -1 if not available) + */ + public function getStartTokenPos() : int { + return $this->attributes['startTokenPos'] ?? -1; + } + + /** + * Gets the token offset of the last token that is part of this node. + * + * The offset is an index into the array returned by Lexer::getTokens(). + * + * Requires the 'endTokenPos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int Token end position (or -1 if not available) + */ + public function getEndTokenPos() : int { + return $this->attributes['endTokenPos'] ?? -1; + } + + /** + * Gets the file offset of the first character that is part of this node. + * + * Requires the 'startFilePos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int File start position (or -1 if not available) + */ + public function getStartFilePos() : int { + return $this->attributes['startFilePos'] ?? -1; + } + + /** + * Gets the file offset of the last character that is part of this node. + * + * Requires the 'endFilePos' attribute to be enabled in the lexer (DISABLED by default). + * + * @return int File end position (or -1 if not available) + */ + public function getEndFilePos() : int { + return $this->attributes['endFilePos'] ?? -1; + } + + /** + * Gets all comments directly preceding this node. + * + * The comments are also available through the "comments" attribute. + * + * @return Comment[] + */ + public function getComments() : array { + return $this->attributes['comments'] ?? []; + } + + /** + * Gets the doc comment of the node. + * + * @return null|Comment\Doc Doc comment object or null + */ + public function getDocComment() { + $comments = $this->getComments(); + for ($i = count($comments) - 1; $i >= 0; $i--) { + $comment = $comments[$i]; + if ($comment instanceof Comment\Doc) { + return $comment; + } + } + + return null; + } + + /** + * Sets the doc comment of the node. + * + * This will either replace an existing doc comment or add it to the comments array. + * + * @param Comment\Doc $docComment Doc comment to set + */ + public function setDocComment(Comment\Doc $docComment) { + $comments = $this->getComments(); + for ($i = count($comments) - 1; $i >= 0; $i--) { + if ($comments[$i] instanceof Comment\Doc) { + // Replace existing doc comment. + $comments[$i] = $docComment; + $this->setAttribute('comments', $comments); + return; + } + } + + // Append new doc comment. + $comments[] = $docComment; + $this->setAttribute('comments', $comments); + } + + public function setAttribute(string $key, $value) { + $this->attributes[$key] = $value; + } + + public function hasAttribute(string $key) : bool { + return array_key_exists($key, $this->attributes); + } + + public function getAttribute(string $key, $default = null) { + if (array_key_exists($key, $this->attributes)) { + return $this->attributes[$key]; + } + + return $default; + } + + public function getAttributes() : array { + return $this->attributes; + } + + public function setAttributes(array $attributes) { + $this->attributes = $attributes; + } + + /** + * @return array + */ + public function jsonSerialize() : array { + return ['nodeType' => $this->getType()] + get_object_vars($this); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php b/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php new file mode 100644 index 00000000..ba622efd --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeDumper.php @@ -0,0 +1,206 @@ +dumpComments = !empty($options['dumpComments']); + $this->dumpPositions = !empty($options['dumpPositions']); + } + + /** + * Dumps a node or array. + * + * @param array|Node $node Node or array to dump + * @param string|null $code Code corresponding to dumped AST. This only needs to be passed if + * the dumpPositions option is enabled and the dumping of node offsets + * is desired. + * + * @return string Dumped value + */ + public function dump($node, string $code = null) : string { + $this->code = $code; + return $this->dumpRecursive($node); + } + + protected function dumpRecursive($node) { + if ($node instanceof Node) { + $r = $node->getType(); + if ($this->dumpPositions && null !== $p = $this->dumpPosition($node)) { + $r .= $p; + } + $r .= '('; + + foreach ($node->getSubNodeNames() as $key) { + $r .= "\n " . $key . ': '; + + $value = $node->$key; + if (null === $value) { + $r .= 'null'; + } elseif (false === $value) { + $r .= 'false'; + } elseif (true === $value) { + $r .= 'true'; + } elseif (is_scalar($value)) { + if ('flags' === $key || 'newModifier' === $key) { + $r .= $this->dumpFlags($value); + } elseif ('type' === $key && $node instanceof Include_) { + $r .= $this->dumpIncludeType($value); + } elseif ('type' === $key + && ($node instanceof Use_ || $node instanceof UseUse || $node instanceof GroupUse)) { + $r .= $this->dumpUseType($value); + } else { + $r .= $value; + } + } else { + $r .= str_replace("\n", "\n ", $this->dumpRecursive($value)); + } + } + + if ($this->dumpComments && $comments = $node->getComments()) { + $r .= "\n comments: " . str_replace("\n", "\n ", $this->dumpRecursive($comments)); + } + } elseif (is_array($node)) { + $r = 'array('; + + foreach ($node as $key => $value) { + $r .= "\n " . $key . ': '; + + if (null === $value) { + $r .= 'null'; + } elseif (false === $value) { + $r .= 'false'; + } elseif (true === $value) { + $r .= 'true'; + } elseif (is_scalar($value)) { + $r .= $value; + } else { + $r .= str_replace("\n", "\n ", $this->dumpRecursive($value)); + } + } + } elseif ($node instanceof Comment) { + return $node->getReformattedText(); + } else { + throw new \InvalidArgumentException('Can only dump nodes and arrays.'); + } + + return $r . "\n)"; + } + + protected function dumpFlags($flags) { + $strs = []; + if ($flags & Class_::MODIFIER_PUBLIC) { + $strs[] = 'MODIFIER_PUBLIC'; + } + if ($flags & Class_::MODIFIER_PROTECTED) { + $strs[] = 'MODIFIER_PROTECTED'; + } + if ($flags & Class_::MODIFIER_PRIVATE) { + $strs[] = 'MODIFIER_PRIVATE'; + } + if ($flags & Class_::MODIFIER_ABSTRACT) { + $strs[] = 'MODIFIER_ABSTRACT'; + } + if ($flags & Class_::MODIFIER_STATIC) { + $strs[] = 'MODIFIER_STATIC'; + } + if ($flags & Class_::MODIFIER_FINAL) { + $strs[] = 'MODIFIER_FINAL'; + } + if ($flags & Class_::MODIFIER_READONLY) { + $strs[] = 'MODIFIER_READONLY'; + } + + if ($strs) { + return implode(' | ', $strs) . ' (' . $flags . ')'; + } else { + return $flags; + } + } + + protected function dumpIncludeType($type) { + $map = [ + Include_::TYPE_INCLUDE => 'TYPE_INCLUDE', + Include_::TYPE_INCLUDE_ONCE => 'TYPE_INCLUDE_ONCE', + Include_::TYPE_REQUIRE => 'TYPE_REQUIRE', + Include_::TYPE_REQUIRE_ONCE => 'TYPE_REQUIRE_ONCE', + ]; + + if (!isset($map[$type])) { + return $type; + } + return $map[$type] . ' (' . $type . ')'; + } + + protected function dumpUseType($type) { + $map = [ + Use_::TYPE_UNKNOWN => 'TYPE_UNKNOWN', + Use_::TYPE_NORMAL => 'TYPE_NORMAL', + Use_::TYPE_FUNCTION => 'TYPE_FUNCTION', + Use_::TYPE_CONSTANT => 'TYPE_CONSTANT', + ]; + + if (!isset($map[$type])) { + return $type; + } + return $map[$type] . ' (' . $type . ')'; + } + + /** + * Dump node position, if possible. + * + * @param Node $node Node for which to dump position + * + * @return string|null Dump of position, or null if position information not available + */ + protected function dumpPosition(Node $node) { + if (!$node->hasAttribute('startLine') || !$node->hasAttribute('endLine')) { + return null; + } + + $start = $node->getStartLine(); + $end = $node->getEndLine(); + if ($node->hasAttribute('startFilePos') && $node->hasAttribute('endFilePos') + && null !== $this->code + ) { + $start .= ':' . $this->toColumn($this->code, $node->getStartFilePos()); + $end .= ':' . $this->toColumn($this->code, $node->getEndFilePos()); + } + return "[$start - $end]"; + } + + // Copied from Error class + private function toColumn($code, $pos) { + if ($pos > strlen($code)) { + throw new \RuntimeException('Invalid position information'); + } + + $lineStartPos = strrpos($code, "\n", $pos - strlen($code)); + if (false === $lineStartPos) { + $lineStartPos = -1; + } + + return $pos - $lineStartPos; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php b/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php new file mode 100644 index 00000000..2e7cfdad --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeFinder.php @@ -0,0 +1,81 @@ +addVisitor($visitor); + $traverser->traverse($nodes); + + return $visitor->getFoundNodes(); + } + + /** + * Find all nodes that are instances of a certain class. + * + * @param Node|Node[] $nodes Single node or array of nodes to search in + * @param string $class Class name + * + * @return Node[] Found nodes (all instances of $class) + */ + public function findInstanceOf($nodes, string $class) : array { + return $this->find($nodes, function ($node) use ($class) { + return $node instanceof $class; + }); + } + + /** + * Find first node satisfying a filter callback. + * + * @param Node|Node[] $nodes Single node or array of nodes to search in + * @param callable $filter Filter callback: function(Node $node) : bool + * + * @return null|Node Found node (or null if none found) + */ + public function findFirst($nodes, callable $filter) { + if (!is_array($nodes)) { + $nodes = [$nodes]; + } + + $visitor = new FirstFindingVisitor($filter); + + $traverser = new NodeTraverser; + $traverser->addVisitor($visitor); + $traverser->traverse($nodes); + + return $visitor->getFoundNode(); + } + + /** + * Find first node that is an instance of a certain class. + * + * @param Node|Node[] $nodes Single node or array of nodes to search in + * @param string $class Class name + * + * @return null|Node Found node, which is an instance of $class (or null if none found) + */ + public function findFirstInstanceOf($nodes, string $class) { + return $this->findFirst($nodes, function ($node) use ($class) { + return $node instanceof $class; + }); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php b/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php new file mode 100644 index 00000000..97d45bda --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeTraverser.php @@ -0,0 +1,291 @@ +visitors[] = $visitor; + } + + /** + * Removes an added visitor. + * + * @param NodeVisitor $visitor + */ + public function removeVisitor(NodeVisitor $visitor) { + foreach ($this->visitors as $index => $storedVisitor) { + if ($storedVisitor === $visitor) { + unset($this->visitors[$index]); + break; + } + } + } + + /** + * Traverses an array of nodes using the registered visitors. + * + * @param Node[] $nodes Array of nodes + * + * @return Node[] Traversed array of nodes + */ + public function traverse(array $nodes) : array { + $this->stopTraversal = false; + + foreach ($this->visitors as $visitor) { + if (null !== $return = $visitor->beforeTraverse($nodes)) { + $nodes = $return; + } + } + + $nodes = $this->traverseArray($nodes); + + foreach ($this->visitors as $visitor) { + if (null !== $return = $visitor->afterTraverse($nodes)) { + $nodes = $return; + } + } + + return $nodes; + } + + /** + * Recursively traverse a node. + * + * @param Node $node Node to traverse. + * + * @return Node Result of traversal (may be original node or new one) + */ + protected function traverseNode(Node $node) : Node { + foreach ($node->getSubNodeNames() as $name) { + $subNode =& $node->$name; + + if (\is_array($subNode)) { + $subNode = $this->traverseArray($subNode); + if ($this->stopTraversal) { + break; + } + } elseif ($subNode instanceof Node) { + $traverseChildren = true; + $breakVisitorIndex = null; + + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->enterNode($subNode); + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($subNode, $return); + $subNode = $return; + } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { + $traverseChildren = false; + } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { + $traverseChildren = false; + $breakVisitorIndex = $visitorIndex; + break; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = true; + break 2; + } else { + throw new \LogicException( + 'enterNode() returned invalid value of type ' . gettype($return) + ); + } + } + } + + if ($traverseChildren) { + $subNode = $this->traverseNode($subNode); + if ($this->stopTraversal) { + break; + } + } + + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->leaveNode($subNode); + + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($subNode, $return); + $subNode = $return; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = true; + break 2; + } elseif (\is_array($return)) { + throw new \LogicException( + 'leaveNode() may only return an array ' . + 'if the parent structure is an array' + ); + } else { + throw new \LogicException( + 'leaveNode() returned invalid value of type ' . gettype($return) + ); + } + } + + if ($breakVisitorIndex === $visitorIndex) { + break; + } + } + } + } + + return $node; + } + + /** + * Recursively traverse array (usually of nodes). + * + * @param array $nodes Array to traverse + * + * @return array Result of traversal (may be original array or changed one) + */ + protected function traverseArray(array $nodes) : array { + $doNodes = []; + + foreach ($nodes as $i => &$node) { + if ($node instanceof Node) { + $traverseChildren = true; + $breakVisitorIndex = null; + + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->enterNode($node); + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($node, $return); + $node = $return; + } elseif (self::DONT_TRAVERSE_CHILDREN === $return) { + $traverseChildren = false; + } elseif (self::DONT_TRAVERSE_CURRENT_AND_CHILDREN === $return) { + $traverseChildren = false; + $breakVisitorIndex = $visitorIndex; + break; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = true; + break 2; + } else { + throw new \LogicException( + 'enterNode() returned invalid value of type ' . gettype($return) + ); + } + } + } + + if ($traverseChildren) { + $node = $this->traverseNode($node); + if ($this->stopTraversal) { + break; + } + } + + foreach ($this->visitors as $visitorIndex => $visitor) { + $return = $visitor->leaveNode($node); + + if (null !== $return) { + if ($return instanceof Node) { + $this->ensureReplacementReasonable($node, $return); + $node = $return; + } elseif (\is_array($return)) { + $doNodes[] = [$i, $return]; + break; + } elseif (self::REMOVE_NODE === $return) { + $doNodes[] = [$i, []]; + break; + } elseif (self::STOP_TRAVERSAL === $return) { + $this->stopTraversal = true; + break 2; + } elseif (false === $return) { + throw new \LogicException( + 'bool(false) return from leaveNode() no longer supported. ' . + 'Return NodeTraverser::REMOVE_NODE instead' + ); + } else { + throw new \LogicException( + 'leaveNode() returned invalid value of type ' . gettype($return) + ); + } + } + + if ($breakVisitorIndex === $visitorIndex) { + break; + } + } + } elseif (\is_array($node)) { + throw new \LogicException('Invalid node structure: Contains nested arrays'); + } + } + + if (!empty($doNodes)) { + while (list($i, $replace) = array_pop($doNodes)) { + array_splice($nodes, $i, 1, $replace); + } + } + + return $nodes; + } + + private function ensureReplacementReasonable($old, $new) { + if ($old instanceof Node\Stmt && $new instanceof Node\Expr) { + throw new \LogicException( + "Trying to replace statement ({$old->getType()}) " . + "with expression ({$new->getType()}). Are you missing a " . + "Stmt_Expression wrapper?" + ); + } + + if ($old instanceof Node\Expr && $new instanceof Node\Stmt) { + throw new \LogicException( + "Trying to replace expression ({$old->getType()}) " . + "with statement ({$new->getType()})" + ); + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php b/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php new file mode 100644 index 00000000..77ff3d27 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php @@ -0,0 +1,29 @@ + $node stays as-is + * * NodeTraverser::DONT_TRAVERSE_CHILDREN + * => Children of $node are not traversed. $node stays as-is + * * NodeTraverser::STOP_TRAVERSAL + * => Traversal is aborted. $node stays as-is + * * otherwise + * => $node is set to the return value + * + * @param Node $node Node + * + * @return null|int|Node Replacement node (or special return value) + */ + public function enterNode(Node $node); + + /** + * Called when leaving a node. + * + * Return value semantics: + * * null + * => $node stays as-is + * * NodeTraverser::REMOVE_NODE + * => $node is removed from the parent array + * * NodeTraverser::STOP_TRAVERSAL + * => Traversal is aborted. $node stays as-is + * * array (of Nodes) + * => The return value is merged into the parent array (at the position of the $node) + * * otherwise + * => $node is set to the return value + * + * @param Node $node Node + * + * @return null|int|Node|Node[] Replacement node (or special return value) + */ + public function leaveNode(Node $node); + + /** + * Called once after traversal. + * + * Return value semantics: + * * null: $nodes stays as-is + * * otherwise: $nodes is set to the return value + * + * @param Node[] $nodes Array of nodes + * + * @return null|Node[] Array of nodes + */ + public function afterTraverse(array $nodes); +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php new file mode 100644 index 00000000..a85fa493 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php @@ -0,0 +1,20 @@ +setAttribute('origNode', $origNode); + return $node; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php new file mode 100644 index 00000000..9531edbc --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php @@ -0,0 +1,48 @@ +filterCallback = $filterCallback; + } + + /** + * Get found nodes satisfying the filter callback. + * + * Nodes are returned in pre-order. + * + * @return Node[] Found nodes + */ + public function getFoundNodes() : array { + return $this->foundNodes; + } + + public function beforeTraverse(array $nodes) { + $this->foundNodes = []; + + return null; + } + + public function enterNode(Node $node) { + $filterCallback = $this->filterCallback; + if ($filterCallback($node)) { + $this->foundNodes[] = $node; + } + + return null; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php new file mode 100644 index 00000000..596a7d7f --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php @@ -0,0 +1,50 @@ +filterCallback = $filterCallback; + } + + /** + * Get found node satisfying the filter callback. + * + * Returns null if no node satisfies the filter callback. + * + * @return null|Node Found node (or null if not found) + */ + public function getFoundNode() { + return $this->foundNode; + } + + public function beforeTraverse(array $nodes) { + $this->foundNode = null; + + return null; + } + + public function enterNode(Node $node) { + $filterCallback = $this->filterCallback; + if ($filterCallback($node)) { + $this->foundNode = $node; + return NodeTraverser::STOP_TRAVERSAL; + } + + return null; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php new file mode 100644 index 00000000..d0e7de02 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php @@ -0,0 +1,257 @@ +nameContext = new NameContext($errorHandler ?? new ErrorHandler\Throwing); + $this->preserveOriginalNames = $options['preserveOriginalNames'] ?? false; + $this->replaceNodes = $options['replaceNodes'] ?? true; + } + + /** + * Get name resolution context. + * + * @return NameContext + */ + public function getNameContext() : NameContext { + return $this->nameContext; + } + + public function beforeTraverse(array $nodes) { + $this->nameContext->startNamespace(); + return null; + } + + public function enterNode(Node $node) { + if ($node instanceof Stmt\Namespace_) { + $this->nameContext->startNamespace($node->name); + } elseif ($node instanceof Stmt\Use_) { + foreach ($node->uses as $use) { + $this->addAlias($use, $node->type, null); + } + } elseif ($node instanceof Stmt\GroupUse) { + foreach ($node->uses as $use) { + $this->addAlias($use, $node->type, $node->prefix); + } + } elseif ($node instanceof Stmt\Class_) { + if (null !== $node->extends) { + $node->extends = $this->resolveClassName($node->extends); + } + + foreach ($node->implements as &$interface) { + $interface = $this->resolveClassName($interface); + } + + $this->resolveAttrGroups($node); + if (null !== $node->name) { + $this->addNamespacedName($node); + } + } elseif ($node instanceof Stmt\Interface_) { + foreach ($node->extends as &$interface) { + $interface = $this->resolveClassName($interface); + } + + $this->resolveAttrGroups($node); + $this->addNamespacedName($node); + } elseif ($node instanceof Stmt\Enum_) { + foreach ($node->implements as &$interface) { + $interface = $this->resolveClassName($interface); + } + + $this->resolveAttrGroups($node); + if (null !== $node->name) { + $this->addNamespacedName($node); + } + } elseif ($node instanceof Stmt\Trait_) { + $this->resolveAttrGroups($node); + $this->addNamespacedName($node); + } elseif ($node instanceof Stmt\Function_) { + $this->resolveSignature($node); + $this->resolveAttrGroups($node); + $this->addNamespacedName($node); + } elseif ($node instanceof Stmt\ClassMethod + || $node instanceof Expr\Closure + || $node instanceof Expr\ArrowFunction + ) { + $this->resolveSignature($node); + $this->resolveAttrGroups($node); + } elseif ($node instanceof Stmt\Property) { + if (null !== $node->type) { + $node->type = $this->resolveType($node->type); + } + $this->resolveAttrGroups($node); + } elseif ($node instanceof Stmt\Const_) { + foreach ($node->consts as $const) { + $this->addNamespacedName($const); + } + } else if ($node instanceof Stmt\ClassConst) { + $this->resolveAttrGroups($node); + } else if ($node instanceof Stmt\EnumCase) { + $this->resolveAttrGroups($node); + } elseif ($node instanceof Expr\StaticCall + || $node instanceof Expr\StaticPropertyFetch + || $node instanceof Expr\ClassConstFetch + || $node instanceof Expr\New_ + || $node instanceof Expr\Instanceof_ + ) { + if ($node->class instanceof Name) { + $node->class = $this->resolveClassName($node->class); + } + } elseif ($node instanceof Stmt\Catch_) { + foreach ($node->types as &$type) { + $type = $this->resolveClassName($type); + } + } elseif ($node instanceof Expr\FuncCall) { + if ($node->name instanceof Name) { + $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_FUNCTION); + } + } elseif ($node instanceof Expr\ConstFetch) { + $node->name = $this->resolveName($node->name, Stmt\Use_::TYPE_CONSTANT); + } elseif ($node instanceof Stmt\TraitUse) { + foreach ($node->traits as &$trait) { + $trait = $this->resolveClassName($trait); + } + + foreach ($node->adaptations as $adaptation) { + if (null !== $adaptation->trait) { + $adaptation->trait = $this->resolveClassName($adaptation->trait); + } + + if ($adaptation instanceof Stmt\TraitUseAdaptation\Precedence) { + foreach ($adaptation->insteadof as &$insteadof) { + $insteadof = $this->resolveClassName($insteadof); + } + } + } + } + + return null; + } + + private function addAlias(Stmt\UseUse $use, int $type, Name $prefix = null) { + // Add prefix for group uses + $name = $prefix ? Name::concat($prefix, $use->name) : $use->name; + // Type is determined either by individual element or whole use declaration + $type |= $use->type; + + $this->nameContext->addAlias( + $name, (string) $use->getAlias(), $type, $use->getAttributes() + ); + } + + /** @param Stmt\Function_|Stmt\ClassMethod|Expr\Closure $node */ + private function resolveSignature($node) { + foreach ($node->params as $param) { + $param->type = $this->resolveType($param->type); + $this->resolveAttrGroups($param); + } + $node->returnType = $this->resolveType($node->returnType); + } + + private function resolveType($node) { + if ($node instanceof Name) { + return $this->resolveClassName($node); + } + if ($node instanceof Node\NullableType) { + $node->type = $this->resolveType($node->type); + return $node; + } + if ($node instanceof Node\UnionType || $node instanceof Node\IntersectionType) { + foreach ($node->types as &$type) { + $type = $this->resolveType($type); + } + return $node; + } + return $node; + } + + /** + * Resolve name, according to name resolver options. + * + * @param Name $name Function or constant name to resolve + * @param int $type One of Stmt\Use_::TYPE_* + * + * @return Name Resolved name, or original name with attribute + */ + protected function resolveName(Name $name, int $type) : Name { + if (!$this->replaceNodes) { + $resolvedName = $this->nameContext->getResolvedName($name, $type); + if (null !== $resolvedName) { + $name->setAttribute('resolvedName', $resolvedName); + } else { + $name->setAttribute('namespacedName', FullyQualified::concat( + $this->nameContext->getNamespace(), $name, $name->getAttributes())); + } + return $name; + } + + if ($this->preserveOriginalNames) { + // Save the original name + $originalName = $name; + $name = clone $originalName; + $name->setAttribute('originalName', $originalName); + } + + $resolvedName = $this->nameContext->getResolvedName($name, $type); + if (null !== $resolvedName) { + return $resolvedName; + } + + // unqualified names inside a namespace cannot be resolved at compile-time + // add the namespaced version of the name as an attribute + $name->setAttribute('namespacedName', FullyQualified::concat( + $this->nameContext->getNamespace(), $name, $name->getAttributes())); + return $name; + } + + protected function resolveClassName(Name $name) { + return $this->resolveName($name, Stmt\Use_::TYPE_NORMAL); + } + + protected function addNamespacedName(Node $node) { + $node->namespacedName = Name::concat( + $this->nameContext->getNamespace(), (string) $node->name); + } + + protected function resolveAttrGroups(Node $node) + { + foreach ($node->attrGroups as $attrGroup) { + foreach ($attrGroup->attrs as $attr) { + $attr->name = $this->resolveClassName($attr->name); + } + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php new file mode 100644 index 00000000..ea372e5b --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php @@ -0,0 +1,52 @@ +$node->getAttribute('parent'), the previous + * node can be accessed through $node->getAttribute('previous'), + * and the next node can be accessed through $node->getAttribute('next'). + */ +final class NodeConnectingVisitor extends NodeVisitorAbstract +{ + /** + * @var Node[] + */ + private $stack = []; + + /** + * @var ?Node + */ + private $previous; + + public function beforeTraverse(array $nodes) { + $this->stack = []; + $this->previous = null; + } + + public function enterNode(Node $node) { + if (!empty($this->stack)) { + $node->setAttribute('parent', $this->stack[count($this->stack) - 1]); + } + + if ($this->previous !== null && $this->previous->getAttribute('parent') === $node->getAttribute('parent')) { + $node->setAttribute('previous', $this->previous); + $this->previous->setAttribute('next', $node); + } + + $this->stack[] = $node; + } + + public function leaveNode(Node $node) { + $this->previous = $node; + + array_pop($this->stack); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php new file mode 100644 index 00000000..b98d2bfa --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php @@ -0,0 +1,41 @@ +$node->getAttribute('parent'). + */ +final class ParentConnectingVisitor extends NodeVisitorAbstract +{ + /** + * @var Node[] + */ + private $stack = []; + + public function beforeTraverse(array $nodes) + { + $this->stack = []; + } + + public function enterNode(Node $node) + { + if (!empty($this->stack)) { + $node->setAttribute('parent', $this->stack[count($this->stack) - 1]); + } + + $this->stack[] = $node; + } + + public function leaveNode(Node $node) + { + array_pop($this->stack); + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php new file mode 100644 index 00000000..d378d670 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php @@ -0,0 +1,25 @@ +parsers = $parsers; + } + + public function parse(string $code, ErrorHandler $errorHandler = null) { + if (null === $errorHandler) { + $errorHandler = new ErrorHandler\Throwing; + } + + list($firstStmts, $firstError) = $this->tryParse($this->parsers[0], $errorHandler, $code); + if ($firstError === null) { + return $firstStmts; + } + + for ($i = 1, $c = count($this->parsers); $i < $c; ++$i) { + list($stmts, $error) = $this->tryParse($this->parsers[$i], $errorHandler, $code); + if ($error === null) { + return $stmts; + } + } + + throw $firstError; + } + + private function tryParse(Parser $parser, ErrorHandler $errorHandler, $code) { + $stmts = null; + $error = null; + try { + $stmts = $parser->parse($code, $errorHandler); + } catch (Error $error) {} + return [$stmts, $error]; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php new file mode 100644 index 00000000..351db9ed --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php5.php @@ -0,0 +1,2682 @@ +'", + "T_IS_GREATER_OR_EQUAL", + "T_SL", + "T_SR", + "'+'", + "'-'", + "'.'", + "'*'", + "'/'", + "'%'", + "'!'", + "T_INSTANCEOF", + "'~'", + "T_INC", + "T_DEC", + "T_INT_CAST", + "T_DOUBLE_CAST", + "T_STRING_CAST", + "T_ARRAY_CAST", + "T_OBJECT_CAST", + "T_BOOL_CAST", + "T_UNSET_CAST", + "'@'", + "T_POW", + "'['", + "T_NEW", + "T_CLONE", + "T_EXIT", + "T_IF", + "T_ELSEIF", + "T_ELSE", + "T_ENDIF", + "T_LNUMBER", + "T_DNUMBER", + "T_STRING", + "T_STRING_VARNAME", + "T_VARIABLE", + "T_NUM_STRING", + "T_INLINE_HTML", + "T_ENCAPSED_AND_WHITESPACE", + "T_CONSTANT_ENCAPSED_STRING", + "T_ECHO", + "T_DO", + "T_WHILE", + "T_ENDWHILE", + "T_FOR", + "T_ENDFOR", + "T_FOREACH", + "T_ENDFOREACH", + "T_DECLARE", + "T_ENDDECLARE", + "T_AS", + "T_SWITCH", + "T_MATCH", + "T_ENDSWITCH", + "T_CASE", + "T_DEFAULT", + "T_BREAK", + "T_CONTINUE", + "T_GOTO", + "T_FUNCTION", + "T_FN", + "T_CONST", + "T_RETURN", + "T_TRY", + "T_CATCH", + "T_FINALLY", + "T_USE", + "T_INSTEADOF", + "T_GLOBAL", + "T_STATIC", + "T_ABSTRACT", + "T_FINAL", + "T_PRIVATE", + "T_PROTECTED", + "T_PUBLIC", + "T_READONLY", + "T_VAR", + "T_UNSET", + "T_ISSET", + "T_EMPTY", + "T_HALT_COMPILER", + "T_CLASS", + "T_TRAIT", + "T_INTERFACE", + "T_EXTENDS", + "T_IMPLEMENTS", + "T_OBJECT_OPERATOR", + "T_LIST", + "T_ARRAY", + "T_CALLABLE", + "T_CLASS_C", + "T_TRAIT_C", + "T_METHOD_C", + "T_FUNC_C", + "T_LINE", + "T_FILE", + "T_START_HEREDOC", + "T_END_HEREDOC", + "T_DOLLAR_OPEN_CURLY_BRACES", + "T_CURLY_OPEN", + "T_PAAMAYIM_NEKUDOTAYIM", + "T_NAMESPACE", + "T_NS_C", + "T_DIR", + "T_NS_SEPARATOR", + "T_ELLIPSIS", + "T_NAME_FULLY_QUALIFIED", + "T_NAME_QUALIFIED", + "T_NAME_RELATIVE", + "';'", + "'{'", + "'}'", + "'('", + "')'", + "'$'", + "'`'", + "']'", + "'\"'", + "T_ENUM", + "T_NULLSAFE_OBJECT_OPERATOR", + "T_ATTRIBUTE" + ); + + protected $tokenToSymbol = array( + 0, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 56, 164, 168, 161, 55, 168, 168, + 159, 160, 53, 50, 8, 51, 52, 54, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 31, 156, + 44, 16, 46, 30, 68, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 70, 168, 163, 36, 168, 162, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 157, 35, 158, 58, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 1, 2, 3, 4, + 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, + 41, 42, 43, 45, 47, 48, 49, 57, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 165, 131, + 132, 133, 166, 134, 135, 136, 137, 138, 139, 140, + 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, + 151, 152, 153, 154, 155, 167 + ); + + protected $action = array( + 700, 670, 671, 672, 673, 674, 286, 675, 676, 677, + 713, 714, 223, 224, 225, 226, 227, 228, 229, 230, + 231, 232, 0, 233, 234, 235, 236, 237, 238, 239, + 240, 241, 242, 243, 244,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, 245, 246, + 242, 243, 244,-32766,-32766, 678,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766,-32766, 1229, 245, 246, 1230, 679, + 680, 681, 682, 683, 684, 685, 899, 900, 747,-32766, + -32766,-32766,-32766,-32766,-32766, 686, 687, 688, 689, 690, + 691, 692, 693, 694, 695, 696, 716, 739, 717, 718, + 719, 720, 708, 709, 710, 738, 711, 712, 697, 698, + 699, 701, 702, 703, 741, 742, 743, 744, 745, 746, + 875, 704, 705, 706, 707, 737, 728, 726, 727, 723, + 724, 1046, 715, 721, 722, 729, 730, 732, 731, 733, + 734, 55, 56, 425, 57, 58, 725, 736, 735, 755, + 59, 60, -226, 61,-32766,-32766,-32766,-32766,-32766,-32766, + -32766,-32766,-32766,-32766, 337,-32767,-32767,-32767,-32767, 29, + 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, + 117, 118, 119, 620,-32766,-32766,-32766,-32766, 62, 63, + 1046,-32766,-32766,-32766, 64, 419, 65, 294, 295, 66, + 67, 68, 69, 70, 71, 72, 73, 823, 25, 302, + 74, 418, 984, 986, 669, 668, 1100, 1101, 1078, 755, + 755, 767, 1220, 768, 470,-32766,-32766,-32766, 341, 749, + 824, 54,-32767,-32767,-32767,-32767, 98, 99, 100, 101, + 102, 220, 221, 222, 362, 876,-32766, 27,-32766,-32766, + -32766,-32766,-32766, 1046, 493, 126, 1080, 1079, 1081, 370, + 1068, 930, 207, 478, 479, 952, 953, 954, 951, 950, + 949, 128, 480, 481, 803, 1106, 1107, 1108, 1109, 1103, + 1104, 319, 32, 297, 10, 211, -515, 1110, 1105, 669, + 668, 1080, 1079, 1081, 220, 221, 222, 41, 364, 341, + 334, 421, 336, 426, -128, -128, -128, 313, 1046, 469, + -4, 824, 54, 812, 770, 207, 40, 21, 427, -128, + 471, -128, 472, -128, 473, -128, 1046, 428, 220, 221, + 222,-32766, 33, 34, 429, 361, 327, 52, 35, 474, + -32766,-32766,-32766, 342, 357, 358, 475, 476, 48, 207, + 249, 669, 668, 477, 443, 300, 795, 846, 430, 431, + 28,-32766, 814,-32766,-32766,-32766,-32766,-32766,-32766,-32766, + -32767,-32767,-32767,-32767,-32767, 952, 953, 954, 951, 950, + 949, 422, 755, 424, 426, 826, 634, -128,-32766,-32766, + 469, 824, 54, 288, 812, 1151, 755, 40, 21, 427, + 317, 471, 345, 472, 129, 473, 9, 1186, 428, 769, + 360, 324, 905, 33, 34, 429, 361, 1046, 415, 35, + 474, 944, 1068, 315, 125, 357, 358, 475, 476,-32766, + -32766,-32766, 926, 302, 477, 121, 1068, 759, 846, 430, + 431, 669, 668, 423, 755, 1152, 809, 1046, 480, 766, + -32766, 805,-32766,-32766,-32766,-32766, -261, 127, 347, 436, + 841, 341, 1078, 1200, 426, 446, 826, 634, -4, 807, + 469, 824, 54, 436, 812, 341, 755, 40, 21, 427, + 444, 471, 130, 472, 1068, 473, 346, 767, 428, 768, + -211, -211, -211, 33, 34, 429, 361, 308, 1076, 35, + 474,-32766,-32766,-32766, 1046, 357, 358, 475, 476,-32766, + -32766,-32766, 906, 120, 477, 539, 1068, 795, 846, 430, + 431, 436,-32766, 341,-32766,-32766,-32766, 1046, 480, 810, + -32766, 925,-32766,-32766, 754, 1080, 1079, 1081, 49,-32766, + -32766,-32766, 749, 751, 426, 1201, 826, 634, -211, 30, + 469, 669, 668, 436, 812, 341, 75, 40, 21, 427, + -32766, 471, 1064, 472, 124, 473, 669, 668, 428, 212, + -210, -210, -210, 33, 34, 429, 361, 51, 1186, 35, + 474, 755,-32766,-32766,-32766, 357, 358, 475, 476, 213, + 824, 54, 221, 222, 477, 20, 581, 795, 846, 430, + 431, 220, 221, 222, 755, 222, 247, 78, 79, 80, + 81, 341, 207, 517, 103, 104, 105, 752, 307, 131, + 637, 1068, 207, 341, 207, 122, 826, 634, -210, 36, + 106, 82, 83, 84, 85, 86, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, + 101, 102, 103, 104, 105, 1112, 307, 346, 436, 214, + 341, 824, 54, 426, 123, 250, 129, 134, 106, 469, + -32766, 572, 1112, 812, 245, 246, 40, 21, 427, 251, + 471, 252, 472, 341, 473, 453, 22, 428, 207, 899, + 900, 638, 33, 34, 429, 824, 54, -86, 35, 474, + 220, 221, 222, 314, 357, 358, 100, 101, 102, 239, + 240, 241, 645, 477, -230, 458, 589, 135, 374, 596, + 597, 207, 760, 640, 648, 642, 941, 654, 929, 662, + 822, 133, 307, 837, 426,-32766, 106, 749, 43, 44, + 469, 45, 442, 46, 812, 826, 634, 40, 21, 427, + 47, 471, 50, 472, 53, 473, 132, 608, 428, 302, + 604, -280,-32766, 33, 34, 429, 824, 54, 426, 35, + 474, 755, 957, -84, 469, 357, 358, 521, 812, 628, + 363, 40, 21, 427, 477, 471, 575, 472, -515, 473, + 847, 616, 428, -423,-32766, 11, 646, 33, 34, 429, + 824, 54, 445, 35, 474, 462, 285, 578, 1111, 357, + 358, 593, 369, 848, 594, 290, 826, 634, 477, 0, + 0, 532, 0, 0, 325, 0, 0, 0, 0, 0, + 651, 0, 0, 0, 322, 326, 0, 0, 0, 426, + 0, 0, 0, 0, 323, 469, 316, 318, -516, 812, + 862, 634, 40, 21, 427, 0, 471, 0, 472, 0, + 473, 1158, 0, 428, 0, -414, 6, 7, 33, 34, + 429, 824, 54, 426, 35, 474, 12, 14, 373, 469, + 357, 358, -424, 812, 563, 754, 40, 21, 427, 477, + 471, 248, 472, 839, 473, 38, 39, 428, 657, 658, + 765, 813, 33, 34, 429, 821, 800, 815, 35, 474, + 215, 216, 878, 869, 357, 358, 217, 870, 218, 798, + 863, 826, 634, 477, 860, 858, 936, 937, 934, 820, + 209, 804, 806, 808, 811, 933, 763, 764, 1100, 1101, + 935, 659, 78, 335, 426, 359, 1102, 635, 639, 641, + 469, 643, 644, 647, 812, 826, 634, 40, 21, 427, + 649, 471, 650, 472, 652, 473, 653, 636, 428, 796, + 1226, 1228, 762, 33, 34, 429, 215, 216, 845, 35, + 474, 761, 217, 844, 218, 357, 358, 1227, 843, 1060, + 831, 1048, 842, 1049, 477, 559, 209, 1106, 1107, 1108, + 1109, 1103, 1104, 398, 1100, 1101, 829, 942, 867, 1110, + 1105, 868, 1102, 457, 1225, 1194, 1192, 1177, 1157, 219, + 1190, 1091, 917, 1198, 1188, 0, 826, 634, 24, -433, + 26, 31, 37, 42, 76, 77, 210, 287, 292, 293, + 308, 309, 310, 311, 339, 356, 416, 0, -227, -226, + 16, 17, 18, 393, 454, 461, 463, 467, 553, 625, + 1051, 559, 1054, 1106, 1107, 1108, 1109, 1103, 1104, 398, + 907, 1116, 1050, 1026, 564, 1110, 1105, 1025, 1093, 1055, + 0, 1044, 0, 1057, 1056, 219, 1059, 1058, 1075, 0, + 1191, 1176, 1172, 1189, 1090, 1223, 1117, 1171, 600 + ); + + protected $actionCheck = array( + 2, 3, 4, 5, 6, 7, 14, 9, 10, 11, + 12, 13, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 0, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 9, 10, 11, 33, 34, + 35, 36, 37, 38, 39, 40, 41, 42, 69, 70, + 53, 54, 55, 9, 10, 57, 30, 116, 32, 33, + 34, 35, 36, 37, 38, 80, 69, 70, 83, 71, + 72, 73, 74, 75, 76, 77, 135, 136, 80, 33, + 34, 35, 36, 37, 38, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 31, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 13, 134, 135, 136, 137, 138, 139, 140, 141, + 142, 3, 4, 5, 6, 7, 148, 149, 150, 82, + 12, 13, 160, 15, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 8, 44, 45, 46, 47, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 80, 33, 34, 35, 36, 50, 51, + 13, 9, 10, 11, 56, 128, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 1, 70, 71, + 72, 73, 59, 60, 37, 38, 78, 79, 80, 82, + 82, 106, 85, 108, 86, 9, 10, 11, 161, 80, + 1, 2, 44, 45, 46, 47, 48, 49, 50, 51, + 52, 9, 10, 11, 106, 156, 30, 8, 32, 33, + 34, 35, 36, 13, 116, 8, 153, 154, 155, 8, + 122, 158, 30, 125, 126, 116, 117, 118, 119, 120, + 121, 31, 134, 135, 156, 137, 138, 139, 140, 141, + 142, 143, 145, 146, 8, 8, 133, 149, 150, 37, + 38, 153, 154, 155, 9, 10, 11, 159, 8, 161, + 162, 8, 164, 74, 75, 76, 77, 8, 13, 80, + 0, 1, 2, 84, 158, 30, 87, 88, 89, 90, + 91, 92, 93, 94, 95, 96, 13, 98, 9, 10, + 11, 9, 103, 104, 105, 106, 8, 70, 109, 110, + 9, 10, 11, 8, 115, 116, 117, 118, 70, 30, + 31, 37, 38, 124, 31, 8, 127, 128, 129, 130, + 8, 30, 156, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 116, 117, 118, 119, 120, + 121, 8, 82, 8, 74, 156, 157, 158, 33, 34, + 80, 1, 2, 8, 84, 163, 82, 87, 88, 89, + 133, 91, 70, 93, 152, 95, 108, 82, 98, 158, + 8, 113, 160, 103, 104, 105, 106, 13, 108, 109, + 110, 123, 122, 113, 157, 115, 116, 117, 118, 9, + 10, 11, 156, 71, 124, 157, 122, 127, 128, 129, + 130, 37, 38, 8, 82, 160, 156, 13, 134, 156, + 30, 156, 32, 33, 34, 35, 158, 157, 148, 159, + 122, 161, 80, 1, 74, 133, 156, 157, 158, 156, + 80, 1, 2, 159, 84, 161, 82, 87, 88, 89, + 157, 91, 157, 93, 122, 95, 161, 106, 98, 108, + 100, 101, 102, 103, 104, 105, 106, 159, 116, 109, + 110, 9, 10, 11, 13, 115, 116, 117, 118, 9, + 10, 11, 160, 16, 124, 81, 122, 127, 128, 129, + 130, 159, 30, 161, 32, 33, 34, 13, 134, 156, + 30, 156, 32, 33, 153, 153, 154, 155, 70, 9, + 10, 11, 80, 80, 74, 160, 156, 157, 158, 14, + 80, 37, 38, 159, 84, 161, 152, 87, 88, 89, + 30, 91, 160, 93, 14, 95, 37, 38, 98, 16, + 100, 101, 102, 103, 104, 105, 106, 70, 82, 109, + 110, 82, 33, 34, 35, 115, 116, 117, 118, 16, + 1, 2, 10, 11, 124, 160, 85, 127, 128, 129, + 130, 9, 10, 11, 82, 11, 14, 157, 9, 10, + 11, 161, 30, 85, 53, 54, 55, 154, 57, 157, + 31, 122, 30, 161, 30, 157, 156, 157, 158, 30, + 69, 32, 33, 34, 35, 36, 37, 38, 39, 40, + 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + 51, 52, 53, 54, 55, 144, 57, 161, 159, 16, + 161, 1, 2, 74, 157, 16, 152, 157, 69, 80, + 116, 161, 144, 84, 69, 70, 87, 88, 89, 16, + 91, 16, 93, 161, 95, 75, 76, 98, 30, 135, + 136, 31, 103, 104, 105, 1, 2, 31, 109, 110, + 9, 10, 11, 31, 115, 116, 50, 51, 52, 50, + 51, 52, 31, 124, 160, 75, 76, 101, 102, 111, + 112, 30, 156, 157, 31, 31, 156, 157, 156, 157, + 31, 31, 57, 38, 74, 33, 69, 80, 70, 70, + 80, 70, 89, 70, 84, 156, 157, 87, 88, 89, + 70, 91, 70, 93, 70, 95, 70, 96, 98, 71, + 77, 82, 85, 103, 104, 105, 1, 2, 74, 109, + 110, 82, 82, 97, 80, 115, 116, 85, 84, 92, + 106, 87, 88, 89, 124, 91, 90, 93, 133, 95, + 128, 94, 98, 147, 116, 97, 31, 103, 104, 105, + 1, 2, 97, 109, 110, 97, 97, 100, 144, 115, + 116, 100, 106, 128, 113, 161, 156, 157, 124, -1, + -1, 151, -1, -1, 114, -1, -1, -1, -1, -1, + 31, -1, -1, -1, 131, 131, -1, -1, -1, 74, + -1, -1, -1, -1, 132, 80, 133, 133, 133, 84, + 156, 157, 87, 88, 89, -1, 91, -1, 93, -1, + 95, 144, -1, 98, -1, 147, 147, 147, 103, 104, + 105, 1, 2, 74, 109, 110, 147, 147, 147, 80, + 115, 116, 147, 84, 151, 153, 87, 88, 89, 124, + 91, 31, 93, 152, 95, 156, 156, 98, 156, 156, + 156, 156, 103, 104, 105, 156, 156, 156, 109, 110, + 50, 51, 156, 156, 115, 116, 56, 156, 58, 156, + 156, 156, 157, 124, 156, 156, 156, 156, 156, 156, + 70, 156, 156, 156, 156, 156, 156, 156, 78, 79, + 156, 158, 157, 157, 74, 157, 86, 157, 157, 157, + 80, 157, 157, 157, 84, 156, 157, 87, 88, 89, + 157, 91, 157, 93, 157, 95, 157, 157, 98, 158, + 158, 158, 158, 103, 104, 105, 50, 51, 158, 109, + 110, 158, 56, 158, 58, 115, 116, 158, 158, 158, + 158, 158, 158, 158, 124, 135, 70, 137, 138, 139, + 140, 141, 142, 143, 78, 79, 158, 158, 158, 149, + 150, 158, 86, 158, 158, 158, 158, 158, 164, 159, + 158, 158, 158, 158, 158, -1, 156, 157, 159, 162, + 159, 159, 159, 159, 159, 159, 159, 159, 159, 159, + 159, 159, 159, 159, 159, 159, 159, -1, 160, 160, + 160, 160, 160, 160, 160, 160, 160, 160, 160, 160, + 160, 135, 160, 137, 138, 139, 140, 141, 142, 143, + 160, 160, 160, 160, 160, 149, 150, 160, 160, 163, + -1, 162, -1, 163, 163, 159, 163, 163, 163, -1, + 163, 163, 163, 163, 163, 163, 163, 163, 163 + ); + + protected $actionBase = array( + 0, 229, 310, 390, 470, 103, 325, 325, 784, -2, + -2, 149, -2, -2, -2, 660, 765, 799, 765, 589, + 694, 870, 870, 870, 252, 404, 404, 404, 514, 177, + 177, 918, 434, 118, 295, 313, 240, 491, 491, 491, + 491, 138, 138, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 491, 491, 491, 491, + 491, 491, 491, 491, 491, 491, 89, 206, 773, 550, + 535, 775, 776, 777, 912, 709, 913, 856, 857, 700, + 858, 859, 862, 863, 864, 855, 865, 935, 866, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 322, 592, 285, 319, 232, 44, 691, 691, 691, + 691, 691, 691, 691, 182, 182, 182, 182, 182, 182, + 182, 182, 182, 182, 182, 182, 182, 182, 182, 182, + 182, 182, 582, 530, 530, 530, 594, 860, 658, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 926, 926, 926, 926, 926, 926, 926, + 926, 926, 926, 500, -21, -21, 492, 702, 420, 355, + 216, 549, 151, 26, 26, 331, 331, 331, 331, 331, + 46, 46, 5, 5, 5, 5, 153, 188, 188, 188, + 188, 121, 121, 121, 121, 314, 314, 394, 394, 362, + 300, 298, 499, 499, 499, 499, 499, 499, 499, 499, + 499, 499, 67, 656, 656, 659, 659, 522, 554, 554, + 554, 554, 679, -59, -59, 381, 462, 462, 462, 528, + 717, 854, 382, 382, 382, 382, 382, 382, 561, 561, + 561, -3, -3, -3, 692, 115, 137, 115, 137, 678, + 732, 450, 732, 338, 677, -15, 510, 810, 468, 707, + 850, 711, 853, 572, 735, 267, 529, 654, 674, 463, + 529, 529, 529, 529, 654, 610, 640, 608, 463, 529, + 463, 718, 323, 496, 89, 570, 507, 675, 778, 293, + 670, 780, 290, 373, 332, 566, 278, 435, 733, 781, + 914, 917, 385, 715, 675, 675, 675, 352, 511, 278, + -8, 605, 605, 605, 605, 156, 605, 605, 605, 605, + 251, 276, 375, 402, 779, 657, 657, 690, 872, 869, + 869, 657, 689, 657, 690, 874, 874, 874, 874, 657, + 657, 657, 657, 869, 869, 869, 688, 869, 239, 703, + 704, 704, 874, 742, 743, 657, 657, 712, 869, 869, + 869, 712, 695, 874, 701, 741, 277, 869, 874, 672, + 689, 672, 657, 701, 672, 689, 689, 672, 22, 666, + 668, 873, 875, 887, 790, 662, 685, 879, 880, 876, + 878, 871, 699, 744, 745, 497, 669, 671, 673, 680, + 719, 682, 713, 674, 667, 667, 667, 655, 720, 655, + 667, 667, 667, 667, 667, 667, 667, 667, 916, 646, + 731, 714, 653, 749, 553, 573, 791, 664, 811, 900, + 893, 867, 919, 881, 898, 655, 920, 739, 247, 643, + 882, 783, 786, 655, 883, 655, 792, 655, 902, 812, + 686, 813, 814, 667, 910, 921, 923, 924, 925, 927, + 928, 929, 930, 684, 931, 750, 696, 894, 299, 877, + 718, 729, 705, 788, 751, 820, 328, 932, 823, 655, + 655, 794, 785, 655, 795, 756, 740, 890, 757, 895, + 933, 664, 708, 896, 655, 706, 825, 934, 328, 681, + 683, 888, 661, 761, 886, 911, 885, 796, 649, 663, + 829, 830, 831, 693, 763, 891, 892, 889, 764, 803, + 665, 805, 697, 832, 807, 884, 768, 833, 834, 899, + 676, 730, 710, 698, 687, 809, 835, 897, 769, 770, + 771, 848, 772, 849, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 138, 138, 138, 138, -2, -2, + -2, -2, 0, 0, -2, 0, 0, 0, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 0, 0, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 138, + 138, 138, 138, 138, 138, 138, 138, 138, 138, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 599, -21, -21, -21, -21, 599, + -21, -21, -21, -21, -21, -21, -21, 599, 599, 599, + 599, 599, 599, 599, 599, 599, 599, 599, 599, 599, + 599, 599, 599, 599, 599, -21, 599, 599, 599, -21, + 382, -21, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 599, 0, 0, 599, + -21, 599, -21, 599, -21, -21, 599, 599, 599, 599, + 599, 599, 599, -21, -21, -21, -21, -21, -21, 0, + 561, 561, 561, 561, -21, -21, -21, -21, 382, 382, + 382, 382, 382, 382, 259, 382, 382, 382, 382, 382, + 382, 382, 382, 382, 382, 382, 561, 561, -3, -3, + 382, 382, 382, 382, 382, 259, 382, 382, 463, 689, + 689, 689, 137, 137, 137, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 137, 463, 0, + 463, 0, 382, 463, 689, 463, 657, 137, 689, 689, + 463, 869, 616, 616, 616, 616, 328, 278, 0, 0, + 689, 689, 0, 0, 0, 0, 0, 689, 0, 0, + 0, 0, 0, 0, 869, 0, 0, 0, 0, 0, + 667, 247, 0, 705, 335, 0, 0, 0, 0, 0, + 0, 705, 335, 347, 347, 0, 684, 667, 667, 667, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 328 + ); + + protected $actionDefault = array( + 3,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 544, 544, 499,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 299, 299, 299, + 32767,32767,32767, 532, 532, 532, 532, 532, 532, 532, + 532, 532, 532, 532,32767,32767,32767,32767,32767,32767, + 383,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 389, + 549,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 364, + 365, 367, 368, 298, 552, 533, 247, 390, 548, 297, + 249, 327, 503,32767,32767,32767, 329, 122, 258, 203, + 502, 125, 296, 234, 382, 384, 328, 303, 308, 309, + 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, + 320, 302, 458, 361, 360, 359, 460,32767, 459, 496, + 496, 499,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 325, 487, 486, 326, 456, 330, 457, + 333, 461, 464, 331, 332, 349, 350, 347, 348, 351, + 462, 463, 480, 481, 478, 479, 301, 352, 353, 354, + 355, 482, 483, 484, 485,32767,32767, 543, 543,32767, + 32767, 282,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 340, 341, 471, 472,32767, 238, 238, + 238, 238, 283, 238,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 335, 336, + 334, 466, 467, 465, 432,32767,32767,32767, 434,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 504,32767, + 32767,32767,32767,32767, 517, 421, 171,32767, 413,32767, + 171, 171, 171, 171,32767, 222, 224, 167,32767, 171, + 32767, 490,32767,32767,32767,32767, 522, 345,32767,32767, + 116,32767,32767,32767, 559,32767, 517,32767, 116,32767, + 32767,32767,32767, 358, 337, 338, 339,32767,32767, 521, + 515, 474, 475, 476, 477,32767, 468, 469, 470, 473, + 32767,32767,32767,32767,32767,32767,32767,32767, 429, 435, + 435,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 520, 519,32767, 414, 498, 188, + 186, 186,32767, 208, 208,32767,32767, 190, 491, 510, + 32767, 190, 173,32767, 400, 175, 498,32767,32767, 240, + 32767, 240,32767, 400, 240,32767,32767, 240,32767, 415, + 439,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 379, 380, 493, 506, + 32767, 507,32767, 413, 343, 344, 346, 322,32767, 324, + 369, 370, 371, 372, 373, 374, 375, 377,32767, 419, + 32767, 422,32767,32767,32767, 257,32767, 557,32767,32767, + 306, 557,32767,32767,32767, 551,32767,32767, 300,32767, + 32767,32767,32767, 253,32767, 169,32767, 541,32767, 558, + 32767, 515,32767, 342,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 516,32767,32767,32767,32767, 229,32767, + 452,32767, 116,32767,32767,32767, 189,32767,32767, 304, + 248,32767,32767, 550,32767,32767,32767,32767,32767,32767, + 32767,32767, 114,32767, 170,32767,32767,32767, 191,32767, + 32767, 515,32767,32767,32767,32767,32767,32767,32767, 295, + 32767,32767,32767,32767,32767,32767,32767, 515,32767,32767, + 233,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 415,32767, 276,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 127, 127, 3, 127, 127, 260, + 3, 260, 127, 260, 260, 127, 127, 127, 127, 127, + 127, 127, 127, 127, 127, 216, 219, 208, 208, 164, + 127, 127, 268 + ); + + protected $goto = array( + 166, 140, 140, 140, 166, 187, 168, 144, 147, 141, + 142, 143, 149, 163, 163, 163, 163, 144, 144, 165, + 165, 165, 165, 165, 165, 165, 165, 165, 165, 165, + 138, 159, 160, 161, 162, 184, 139, 185, 494, 495, + 377, 496, 500, 501, 502, 503, 504, 505, 506, 507, + 970, 164, 145, 146, 148, 171, 176, 186, 203, 253, + 256, 258, 260, 263, 264, 265, 266, 267, 268, 269, + 277, 278, 279, 280, 303, 304, 328, 329, 330, 394, + 395, 396, 543, 188, 189, 190, 191, 192, 193, 194, + 195, 196, 197, 198, 199, 200, 201, 150, 151, 152, + 167, 153, 169, 154, 204, 170, 155, 156, 157, 205, + 158, 136, 621, 561, 757, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 561, + 561, 561, 561, 561, 561, 561, 561, 561, 561, 1113, + 629, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, + 1113, 1113, 1113, 1113, 1113, 758, 520, 531, 509, 656, + 556, 1183, 750, 509, 592, 786, 1183, 888, 612, 613, + 884, 617, 618, 624, 626, 631, 633, 817, 855, 855, + 855, 855, 850, 856, 174, 891, 891, 1205, 1205, 177, + 178, 179, 401, 402, 403, 404, 173, 202, 206, 208, + 257, 259, 261, 262, 270, 271, 272, 273, 274, 275, + 281, 282, 283, 284, 305, 306, 331, 332, 333, 406, + 407, 408, 409, 175, 180, 254, 255, 181, 182, 183, + 498, 498, 498, 498, 498, 498, 861, 498, 498, 498, + 498, 498, 498, 498, 498, 498, 498, 510, 586, 538, + 601, 602, 510, 545, 546, 547, 548, 549, 550, 551, + 552, 554, 587, 1209, 560, 350, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, + 400, 607, 537, 537, 569, 533, 909, 535, 535, 497, + 499, 525, 541, 570, 573, 584, 591, 298, 296, 296, + 296, 298, 289, 299, 611, 378, 511, 614, 595, 947, + 375, 511, 437, 437, 437, 437, 437, 437, 1163, 437, + 437, 437, 437, 437, 437, 437, 437, 437, 437, 1077, + 948, 338, 1175, 321, 1077, 898, 898, 898, 898, 606, + 898, 898, 1217, 1217, 1202, 753, 576, 605, 756, 1077, + 1077, 1077, 1077, 1077, 1077, 1069, 384, 384, 384, 391, + 1217, 877, 859, 857, 859, 655, 466, 512, 886, 881, + 753, 384, 753, 384, 968, 384, 895, 385, 588, 353, + 414, 384, 1231, 1019, 542, 1197, 1197, 1197, 568, 1094, + 386, 386, 386, 904, 915, 515, 1029, 19, 15, 372, + 389, 915, 940, 448, 450, 632, 340, 1216, 1216, 1114, + 615, 938, 840, 555, 775, 386, 913, 1070, 1073, 1074, + 399, 1069, 1182, 660, 23, 1216, 773, 1182, 544, 603, + 1066, 1219, 1071, 1174, 1071, 519, 1199, 1199, 1199, 1089, + 1088, 1072, 343, 523, 534, 519, 519, 772, 351, 352, + 13, 579, 583, 627, 1061, 388, 782, 562, 771, 515, + 783, 1181, 3, 4, 918, 956, 865, 451, 574, 1160, + 464, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 514, 529, 0, 0, 0, 0, + 514, 0, 529, 0, 0, 0, 0, 610, 513, 516, + 439, 440, 1067, 619, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 780, 1224, 0, 0, 0, 0, + 0, 524, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 301, 301 + ); + + protected $gotoCheck = array( + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 57, 69, 15, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 69, + 69, 69, 69, 69, 69, 69, 69, 69, 69, 128, + 9, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 128, 128, 128, 128, 128, 16, 102, 32, 69, 32, + 32, 120, 6, 69, 32, 29, 120, 32, 32, 32, + 32, 32, 32, 32, 32, 32, 32, 50, 69, 69, + 69, 69, 69, 69, 27, 77, 77, 77, 77, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, + 119, 119, 119, 119, 119, 119, 33, 119, 119, 119, + 119, 119, 119, 119, 119, 119, 119, 119, 67, 110, + 67, 67, 119, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111, 142, 57, 72, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 51, 51, 51, 51, 51, 51, 84, 51, 51, 51, + 51, 51, 51, 51, 51, 51, 51, 5, 5, 5, + 5, 5, 5, 5, 63, 46, 124, 63, 129, 98, + 63, 124, 57, 57, 57, 57, 57, 57, 133, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 98, 127, 82, 127, 57, 57, 57, 57, 57, 49, + 57, 57, 144, 144, 140, 11, 40, 40, 14, 57, + 57, 57, 57, 57, 57, 82, 13, 13, 13, 48, + 144, 14, 14, 14, 14, 14, 57, 14, 14, 14, + 11, 13, 11, 13, 102, 13, 79, 11, 70, 70, + 70, 13, 13, 103, 2, 9, 9, 9, 2, 34, + 125, 125, 125, 81, 13, 13, 34, 34, 34, 34, + 17, 13, 8, 8, 8, 8, 18, 143, 143, 8, + 8, 8, 9, 34, 25, 125, 85, 82, 82, 82, + 125, 82, 121, 74, 34, 143, 24, 121, 47, 34, + 116, 143, 82, 82, 82, 47, 121, 121, 121, 126, + 126, 82, 58, 58, 58, 47, 47, 23, 72, 72, + 58, 62, 62, 62, 114, 12, 23, 12, 23, 13, + 26, 121, 30, 30, 86, 100, 71, 65, 66, 132, + 109, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 9, 9, -1, -1, -1, -1, + 9, -1, 9, -1, -1, -1, -1, 13, 9, 9, + 9, 9, 13, 13, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 9, 9, -1, -1, -1, -1, + -1, 102, -1, -1, -1, -1, -1, -1, -1, -1, + -1, 9, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 5 + ); + + protected $gotoBase = array( + 0, 0, -172, 0, 0, 353, 201, 0, 477, 149, + 0, 110, 195, 117, 426, 112, 203, 140, 171, 0, + 0, 0, 0, 168, 164, 157, 119, 27, 0, 205, + -118, 0, -428, 266, 51, 0, 0, 0, 0, 0, + 388, 0, 0, -24, 0, 0, 345, 484, 146, 133, + 209, 75, 0, 0, 0, 0, 0, 107, 161, 0, + 0, 0, 222, -77, 0, 106, 97, -343, 0, -94, + 135, 123, -129, 0, 129, 0, 0, -50, 0, 143, + 0, 159, 64, 0, 338, 132, 122, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 98, 0, + 121, 0, 165, 156, 0, 0, 0, 0, 0, 87, + 273, 259, 0, 0, 114, 0, 150, 0, 0, -5, + -91, 200, 0, 0, 84, 154, 202, 77, -48, 178, + 0, 0, 93, 187, 0, 0, 0, 0, 0, 0, + 136, 0, 286, 167, 102, 0, 0 + ); + + protected $gotoDefault = array( + -32768, 468, 664, 2, 665, 835, 740, 748, 598, 482, + 630, 582, 380, 1193, 792, 793, 794, 381, 368, 483, + 379, 410, 405, 781, 774, 776, 784, 172, 411, 787, + 1, 789, 518, 825, 1020, 365, 797, 366, 590, 799, + 527, 801, 802, 137, 382, 383, 528, 484, 390, 577, + 816, 276, 387, 818, 367, 819, 828, 371, 465, 455, + 460, 530, 557, 609, 432, 447, 571, 565, 536, 1086, + 566, 864, 349, 872, 661, 880, 883, 485, 558, 894, + 452, 902, 1099, 397, 908, 914, 919, 291, 922, 417, + 412, 585, 927, 928, 5, 932, 622, 623, 8, 312, + 955, 599, 969, 420, 1039, 1041, 486, 487, 522, 459, + 508, 526, 488, 1062, 441, 413, 1065, 433, 489, 490, + 434, 435, 1083, 355, 1168, 354, 449, 320, 1155, 580, + 1118, 456, 1208, 1164, 348, 491, 492, 376, 1187, 392, + 1203, 438, 1210, 1218, 344, 540, 567 + ); + + protected $ruleToNonTerminal = array( + 0, 1, 3, 3, 2, 5, 5, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 7, 7, 7, + 7, 7, 7, 7, 8, 8, 9, 10, 11, 11, + 12, 12, 13, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 18, 18, 19, 19, 21, 21, + 17, 17, 22, 22, 23, 23, 24, 24, 25, 25, + 20, 20, 26, 28, 28, 29, 30, 30, 32, 31, + 31, 31, 31, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, + 33, 33, 14, 14, 54, 54, 56, 55, 55, 48, + 48, 58, 58, 59, 59, 60, 60, 61, 61, 15, + 16, 16, 16, 64, 64, 64, 65, 65, 68, 68, + 66, 66, 70, 70, 41, 41, 50, 50, 53, 53, + 53, 52, 52, 71, 42, 42, 42, 42, 72, 72, + 73, 73, 74, 74, 39, 39, 35, 35, 75, 37, + 37, 76, 36, 36, 38, 38, 49, 49, 49, 62, + 62, 78, 78, 79, 79, 81, 81, 81, 80, 80, + 63, 63, 82, 82, 82, 83, 83, 84, 84, 84, + 44, 44, 85, 85, 85, 45, 45, 86, 86, 87, + 87, 67, 88, 88, 88, 88, 93, 93, 94, 94, + 95, 95, 95, 95, 95, 96, 97, 97, 92, 92, + 89, 89, 91, 91, 99, 99, 98, 98, 98, 98, + 98, 98, 90, 90, 101, 100, 100, 46, 46, 40, + 40, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, + 43, 43, 43, 43, 43, 43, 43, 34, 34, 47, + 47, 106, 106, 107, 107, 107, 107, 113, 102, 102, + 109, 109, 115, 115, 116, 117, 118, 118, 118, 118, + 118, 118, 118, 69, 69, 57, 57, 57, 57, 103, + 103, 122, 122, 119, 119, 123, 123, 123, 123, 104, + 104, 104, 108, 108, 108, 114, 114, 128, 128, 128, + 128, 128, 128, 128, 128, 128, 128, 128, 128, 128, + 27, 27, 27, 27, 27, 27, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 130, 130, 130, 130, 130, 130, 130, 130, 130, 130, + 112, 112, 105, 105, 105, 105, 129, 129, 132, 132, + 131, 131, 133, 133, 51, 51, 51, 51, 135, 135, + 134, 134, 134, 134, 134, 136, 136, 121, 121, 124, + 124, 120, 120, 138, 137, 137, 137, 137, 125, 125, + 125, 125, 111, 111, 126, 126, 126, 126, 77, 139, + 139, 140, 140, 140, 110, 110, 141, 141, 142, 142, + 142, 142, 142, 127, 127, 127, 127, 144, 145, 143, + 143, 143, 143, 143, 143, 143, 146, 146, 146 + ); + + protected $ruleToLength = array( + 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 3, 5, 4, + 3, 4, 2, 3, 1, 1, 7, 6, 3, 1, + 3, 1, 3, 1, 1, 3, 1, 3, 1, 2, + 3, 1, 3, 3, 1, 3, 2, 0, 1, 1, + 1, 1, 1, 3, 5, 8, 3, 5, 9, 3, + 2, 3, 2, 3, 2, 3, 3, 3, 3, 1, + 2, 2, 5, 7, 9, 5, 6, 3, 3, 2, + 2, 1, 1, 1, 0, 2, 8, 0, 4, 1, + 3, 0, 1, 0, 1, 0, 1, 1, 1, 10, + 7, 6, 5, 1, 2, 2, 0, 2, 0, 2, + 0, 2, 1, 3, 1, 4, 1, 4, 1, 1, + 4, 1, 3, 3, 3, 4, 4, 5, 0, 2, + 4, 3, 1, 1, 1, 4, 0, 2, 3, 0, + 2, 4, 0, 2, 0, 3, 1, 2, 1, 1, + 0, 1, 3, 4, 6, 1, 1, 1, 0, 1, + 0, 2, 2, 3, 3, 1, 3, 1, 2, 2, + 3, 1, 1, 2, 4, 3, 1, 1, 3, 2, + 0, 1, 3, 3, 9, 3, 1, 3, 0, 2, + 4, 5, 4, 4, 4, 3, 1, 1, 1, 3, + 1, 1, 0, 1, 1, 2, 1, 1, 1, 1, + 1, 1, 1, 3, 1, 1, 3, 3, 1, 0, + 1, 1, 3, 3, 4, 4, 1, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 2, 2, 2, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 2, 2, 2, 2, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 1, 3, 5, + 4, 3, 4, 4, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, + 1, 3, 2, 1, 2, 10, 11, 3, 3, 2, + 4, 4, 3, 4, 4, 4, 4, 7, 3, 2, + 0, 4, 1, 3, 2, 1, 2, 2, 4, 6, + 2, 2, 4, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 3, 3, 4, 4, 0, + 2, 1, 0, 1, 1, 0, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 2, + 1, 3, 1, 4, 3, 1, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 2, 2, 2, 2, 3, 3, + 3, 3, 3, 3, 3, 3, 5, 4, 4, 3, + 1, 3, 1, 1, 3, 3, 0, 2, 0, 1, + 3, 1, 3, 1, 1, 1, 1, 1, 6, 4, + 3, 4, 2, 4, 4, 1, 3, 1, 2, 1, + 1, 4, 1, 1, 3, 6, 4, 4, 4, 4, + 1, 4, 0, 1, 1, 3, 1, 1, 4, 3, + 1, 1, 1, 0, 0, 2, 3, 1, 3, 1, + 4, 2, 2, 2, 2, 1, 2, 1, 1, 1, + 4, 3, 3, 3, 6, 3, 1, 1, 1 + ); + + protected function initReduceCallbacks() { + $this->reduceCallbacks = [ + 0 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 1 => function ($stackPos) { + $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]); + }, + 2 => function ($stackPos) { + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + }, + 3 => function ($stackPos) { + $this->semValue = array(); + }, + 4 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 5 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 6 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 7 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 8 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 9 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 10 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 11 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 12 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 13 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 14 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 15 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 16 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 17 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 18 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 19 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 20 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 21 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 22 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 23 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 24 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 25 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 26 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 27 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 28 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 29 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 30 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 31 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 32 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 33 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 34 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 35 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 36 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 37 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 38 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 39 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 40 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 41 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 42 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 43 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 44 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 45 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 46 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 47 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 48 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 49 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 50 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 51 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 52 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 53 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 54 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 55 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 56 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 57 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 58 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 59 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 60 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 61 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 62 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 63 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 64 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 65 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 66 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 67 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 68 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 69 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 70 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 71 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 72 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 73 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 74 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 75 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 76 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 77 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 78 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 79 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 80 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 81 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 82 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 83 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 84 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 85 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 86 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 87 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 88 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 89 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 90 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 91 => function ($stackPos) { + $this->semValue = new Name(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 92 => function ($stackPos) { + $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 93 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 94 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 95 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 96 => function ($stackPos) { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 97 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($this->semValue); + }, + 98 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, + 99 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, + 100 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 101 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 102 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 103 => function ($stackPos) { + $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 104 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_FUNCTION; + }, + 105 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_CONSTANT; + }, + 106 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 107 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 108 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 109 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 110 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 111 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 112 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 113 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 114 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + }, + 115 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + }, + 116 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + }, + 117 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + }, + 118 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + }, + 119 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; + }, + 120 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 121 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 122 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 123 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 124 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 125 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 126 => function ($stackPos) { + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + }, + 127 => function ($stackPos) { + $this->semValue = array(); + }, + 128 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 129 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 130 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 131 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 132 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 133 => function ($stackPos) { + + if ($this->semStack[$stackPos-(3-2)]) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; + } else { + $startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; + if (null === $this->semValue) { $this->semValue = array(); } + } + + }, + 134 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos-(5-2)], ['stmts' => is_array($this->semStack[$stackPos-(5-3)]) ? $this->semStack[$stackPos-(5-3)] : array($this->semStack[$stackPos-(5-3)]), 'elseifs' => $this->semStack[$stackPos-(5-4)], 'else' => $this->semStack[$stackPos-(5-5)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 135 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos-(8-2)], ['stmts' => $this->semStack[$stackPos-(8-4)], 'elseifs' => $this->semStack[$stackPos-(8-5)], 'else' => $this->semStack[$stackPos-(8-6)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 136 => function ($stackPos) { + $this->semValue = new Stmt\While_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 137 => function ($stackPos) { + $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(5-4)], is_array($this->semStack[$stackPos-(5-2)]) ? $this->semStack[$stackPos-(5-2)] : array($this->semStack[$stackPos-(5-2)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 138 => function ($stackPos) { + $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 139 => function ($stackPos) { + $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 140 => function ($stackPos) { + $this->semValue = new Stmt\Break_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 141 => function ($stackPos) { + $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 142 => function ($stackPos) { + $this->semValue = new Stmt\Continue_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 143 => function ($stackPos) { + $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 144 => function ($stackPos) { + $this->semValue = new Stmt\Return_(null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 145 => function ($stackPos) { + $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 146 => function ($stackPos) { + $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 147 => function ($stackPos) { + $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 148 => function ($stackPos) { + $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 149 => function ($stackPos) { + $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 150 => function ($stackPos) { + $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 151 => function ($stackPos) { + $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 152 => function ($stackPos) { + $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 153 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 154 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 155 => function ($stackPos) { + $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 156 => function ($stackPos) { + $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); + }, + 157 => function ($stackPos) { + $this->semValue = new Stmt\Throw_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 158 => function ($stackPos) { + $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 159 => function ($stackPos) { + $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 160 => function ($stackPos) { + $this->semValue = new Stmt\Expression($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 161 => function ($stackPos) { + $this->semValue = array(); /* means: no statement */ + }, + 162 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 163 => function ($stackPos) { + $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; + if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ + }, + 164 => function ($stackPos) { + $this->semValue = array(); + }, + 165 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 166 => function ($stackPos) { + $this->semValue = new Stmt\Catch_(array($this->semStack[$stackPos-(8-3)]), $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 167 => function ($stackPos) { + $this->semValue = null; + }, + 168 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 169 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 170 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 171 => function ($stackPos) { + $this->semValue = false; + }, + 172 => function ($stackPos) { + $this->semValue = true; + }, + 173 => function ($stackPos) { + $this->semValue = false; + }, + 174 => function ($stackPos) { + $this->semValue = true; + }, + 175 => function ($stackPos) { + $this->semValue = false; + }, + 176 => function ($stackPos) { + $this->semValue = true; + }, + 177 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 178 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 179 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(10-3)], ['byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-5)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 180 => function ($stackPos) { + $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->checkClass($this->semValue, $stackPos-(7-2)); + }, + 181 => function ($stackPos) { + $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(6-2)], ['extends' => $this->semStack[$stackPos-(6-3)], 'stmts' => $this->semStack[$stackPos-(6-5)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + $this->checkInterface($this->semValue, $stackPos-(6-2)); + }, + 182 => function ($stackPos) { + $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(5-2)], ['stmts' => $this->semStack[$stackPos-(5-4)]], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 183 => function ($stackPos) { + $this->semValue = 0; + }, + 184 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, + 185 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, + 186 => function ($stackPos) { + $this->semValue = null; + }, + 187 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 188 => function ($stackPos) { + $this->semValue = array(); + }, + 189 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 190 => function ($stackPos) { + $this->semValue = array(); + }, + 191 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 192 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 193 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 194 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 195 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 196 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 197 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 198 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 199 => function ($stackPos) { + $this->semValue = null; + }, + 200 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 201 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 202 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 203 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 204 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 205 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 206 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 207 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, + 208 => function ($stackPos) { + $this->semValue = array(); + }, + 209 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 210 => function ($stackPos) { + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 211 => function ($stackPos) { + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 212 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 213 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 214 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 215 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 216 => function ($stackPos) { + $this->semValue = array(); + }, + 217 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 218 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(3-2)], is_array($this->semStack[$stackPos-(3-3)]) ? $this->semStack[$stackPos-(3-3)] : array($this->semStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 219 => function ($stackPos) { + $this->semValue = array(); + }, + 220 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 221 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 222 => function ($stackPos) { + $this->semValue = null; + }, + 223 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 224 => function ($stackPos) { + $this->semValue = null; + }, + 225 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 226 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 227 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + }, + 228 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 229 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 230 => function ($stackPos) { + $this->semValue = array(); + }, + 231 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 232 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 233 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos-(4-4)], null, $this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); $this->checkParam($this->semValue); + }, + 234 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-3)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkParam($this->semValue); + }, + 235 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 236 => function ($stackPos) { + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 237 => function ($stackPos) { + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 238 => function ($stackPos) { + $this->semValue = null; + }, + 239 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 240 => function ($stackPos) { + $this->semValue = null; + }, + 241 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 242 => function ($stackPos) { + $this->semValue = array(); + }, + 243 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 244 => function ($stackPos) { + $this->semValue = array(new Node\Arg($this->semStack[$stackPos-(3-2)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes)); + }, + 245 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 246 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 247 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 248 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 249 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 250 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 251 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 252 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 253 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 254 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 255 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 256 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 257 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 258 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 259 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, + 260 => function ($stackPos) { + $this->semValue = array(); + }, + 261 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 262 => function ($stackPos) { + $this->semValue = new Stmt\Property($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkProperty($this->semValue, $stackPos-(3-1)); + }, + 263 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(3-2)], 0, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 264 => function ($stackPos) { + $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(9-4)], ['type' => $this->semStack[$stackPos-(9-1)], 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + $this->checkClassMethod($this->semValue, $stackPos-(9-1)); + }, + 265 => function ($stackPos) { + $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 266 => function ($stackPos) { + $this->semValue = array(); + }, + 267 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 268 => function ($stackPos) { + $this->semValue = array(); + }, + 269 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 270 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 271 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 272 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 273 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 274 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 275 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 276 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 277 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + }, + 278 => function ($stackPos) { + $this->semValue = null; + }, + 279 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 280 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 281 => function ($stackPos) { + $this->semValue = 0; + }, + 282 => function ($stackPos) { + $this->semValue = 0; + }, + 283 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 284 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 285 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 286 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, + 287 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, + 288 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, + 289 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + }, + 290 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, + 291 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, + 292 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 293 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 294 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 295 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 296 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 297 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 298 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 299 => function ($stackPos) { + $this->semValue = array(); + }, + 300 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 301 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 302 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 303 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 304 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 305 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 306 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 307 => function ($stackPos) { + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 308 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 309 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 310 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 311 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 312 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 313 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 314 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 315 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 316 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 317 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 318 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 319 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 320 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 321 => function ($stackPos) { + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 322 => function ($stackPos) { + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 323 => function ($stackPos) { + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 324 => function ($stackPos) { + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 325 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 326 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 327 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 330 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 331 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 332 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 333 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 334 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 335 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 336 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 337 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 338 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 340 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 341 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 342 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 343 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 344 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 345 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 346 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 347 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 348 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 349 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 350 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 351 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 352 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 353 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 354 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 355 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 356 => function ($stackPos) { + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 357 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 358 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 359 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 360 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 361 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 362 => function ($stackPos) { + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 363 => function ($stackPos) { + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 364 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 365 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 366 => function ($stackPos) { + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 367 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 368 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 369 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 370 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; + $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); + $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); + }, + 371 => function ($stackPos) { + $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 372 => function ($stackPos) { + $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 373 => function ($stackPos) { + $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 374 => function ($stackPos) { + $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 375 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 376 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; + $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); + }, + 377 => function ($stackPos) { + $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 378 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 379 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 380 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 381 => function ($stackPos) { + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 382 => function ($stackPos) { + $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 383 => function ($stackPos) { + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 384 => function ($stackPos) { + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 385 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(10-2)], 'params' => $this->semStack[$stackPos-(10-4)], 'uses' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-7)], 'stmts' => $this->semStack[$stackPos-(10-9)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 386 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(11-3)], 'params' => $this->semStack[$stackPos-(11-5)], 'uses' => $this->semStack[$stackPos-(11-7)], 'returnType' => $this->semStack[$stackPos-(11-8)], 'stmts' => $this->semStack[$stackPos-(11-10)]], $this->startAttributeStack[$stackPos-(11-1)] + $this->endAttributes); + }, + 387 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 388 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 389 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 390 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 391 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); + }, + 392 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); + }, + 393 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 394 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch(Scalar\String_::fromString($this->semStack[$stackPos-(4-1)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes), $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 395 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 396 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 397 => function ($stackPos) { + $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes), $this->semStack[$stackPos-(7-2)]); + $this->checkClass($this->semValue[0], -1); + }, + 398 => function ($stackPos) { + $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 399 => function ($stackPos) { + list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 400 => function ($stackPos) { + $this->semValue = array(); + }, + 401 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 402 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 403 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 404 => function ($stackPos) { + $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 405 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 406 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 407 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 408 => function ($stackPos) { + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 409 => function ($stackPos) { + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 410 => function ($stackPos) { + $this->semValue = $this->fixupPhp5StaticPropCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 411 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 412 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 413 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 414 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 415 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 416 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 417 => function ($stackPos) { + $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 418 => function ($stackPos) { + $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 419 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 420 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 421 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 422 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 423 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 424 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 425 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 426 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 427 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 428 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 429 => function ($stackPos) { + $this->semValue = null; + }, + 430 => function ($stackPos) { + $this->semValue = null; + }, + 431 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 432 => function ($stackPos) { + $this->semValue = array(); + }, + 433 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`', false), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 434 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', false); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 435 => function ($stackPos) { + $this->semValue = array(); + }, + 436 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 437 => function ($stackPos) { + $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, true); + }, + 438 => function ($stackPos) { + $this->semValue = Scalar\DNumber::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 439 => function ($stackPos) { + $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes, false); + }, + 440 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 441 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 442 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 443 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 444 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 445 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 446 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 447 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 448 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], false); + }, + 449 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], false); + }, + 450 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 451 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 452 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 453 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 454 => function ($stackPos) { + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 455 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 456 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 459 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 460 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 461 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 462 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 463 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 464 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 465 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 466 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 467 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 468 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 469 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 470 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 471 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 472 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 473 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 474 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 475 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 476 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 477 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 478 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 479 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 480 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 481 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 482 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 483 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 484 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 485 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 486 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 487 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 488 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 489 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 490 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 491 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 492 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 493 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 494 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); + }, + 495 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); + }, + 496 => function ($stackPos) { + $this->semValue = array(); + }, + 497 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 498 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 499 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 500 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 501 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 502 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 503 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 504 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 505 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 506 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 507 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 508 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 509 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 510 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 511 => function ($stackPos) { + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 512 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 513 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 514 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 515 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 516 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 517 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 518 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 519 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 520 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 521 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 522 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 523 => function ($stackPos) { + $var = substr($this->semStack[$stackPos-(1-1)], 1); $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + }, + 524 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 525 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(6-1)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 526 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 527 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 528 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 529 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 530 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 531 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 532 => function ($stackPos) { + $this->semValue = null; + }, + 533 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 534 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 535 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 536 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 537 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 538 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 539 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 540 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 541 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 542 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 543 => function ($stackPos) { + $this->semValue = null; + }, + 544 => function ($stackPos) { + $this->semValue = array(); + }, + 545 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 546 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 547 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 548 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 549 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 550 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 551 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 552 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 553 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 554 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 555 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 556 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + }, + 557 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 558 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 559 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 560 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 561 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 562 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 563 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 564 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 565 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 566 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 567 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 568 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + ]; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php new file mode 100644 index 00000000..c6b9abd0 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Php7.php @@ -0,0 +1,2882 @@ +'", + "T_IS_GREATER_OR_EQUAL", + "T_SL", + "T_SR", + "'+'", + "'-'", + "'.'", + "'*'", + "'/'", + "'%'", + "'!'", + "T_INSTANCEOF", + "'~'", + "T_INC", + "T_DEC", + "T_INT_CAST", + "T_DOUBLE_CAST", + "T_STRING_CAST", + "T_ARRAY_CAST", + "T_OBJECT_CAST", + "T_BOOL_CAST", + "T_UNSET_CAST", + "'@'", + "T_POW", + "'['", + "T_NEW", + "T_CLONE", + "T_EXIT", + "T_IF", + "T_ELSEIF", + "T_ELSE", + "T_ENDIF", + "T_LNUMBER", + "T_DNUMBER", + "T_STRING", + "T_STRING_VARNAME", + "T_VARIABLE", + "T_NUM_STRING", + "T_INLINE_HTML", + "T_ENCAPSED_AND_WHITESPACE", + "T_CONSTANT_ENCAPSED_STRING", + "T_ECHO", + "T_DO", + "T_WHILE", + "T_ENDWHILE", + "T_FOR", + "T_ENDFOR", + "T_FOREACH", + "T_ENDFOREACH", + "T_DECLARE", + "T_ENDDECLARE", + "T_AS", + "T_SWITCH", + "T_MATCH", + "T_ENDSWITCH", + "T_CASE", + "T_DEFAULT", + "T_BREAK", + "T_CONTINUE", + "T_GOTO", + "T_FUNCTION", + "T_FN", + "T_CONST", + "T_RETURN", + "T_TRY", + "T_CATCH", + "T_FINALLY", + "T_USE", + "T_INSTEADOF", + "T_GLOBAL", + "T_STATIC", + "T_ABSTRACT", + "T_FINAL", + "T_PRIVATE", + "T_PROTECTED", + "T_PUBLIC", + "T_READONLY", + "T_VAR", + "T_UNSET", + "T_ISSET", + "T_EMPTY", + "T_HALT_COMPILER", + "T_CLASS", + "T_TRAIT", + "T_INTERFACE", + "T_ENUM", + "T_EXTENDS", + "T_IMPLEMENTS", + "T_OBJECT_OPERATOR", + "T_NULLSAFE_OBJECT_OPERATOR", + "T_LIST", + "T_ARRAY", + "T_CALLABLE", + "T_CLASS_C", + "T_TRAIT_C", + "T_METHOD_C", + "T_FUNC_C", + "T_LINE", + "T_FILE", + "T_START_HEREDOC", + "T_END_HEREDOC", + "T_DOLLAR_OPEN_CURLY_BRACES", + "T_CURLY_OPEN", + "T_PAAMAYIM_NEKUDOTAYIM", + "T_NAMESPACE", + "T_NS_C", + "T_DIR", + "T_NS_SEPARATOR", + "T_ELLIPSIS", + "T_NAME_FULLY_QUALIFIED", + "T_NAME_QUALIFIED", + "T_NAME_RELATIVE", + "T_ATTRIBUTE", + "';'", + "']'", + "'{'", + "'}'", + "'('", + "')'", + "'`'", + "'\"'", + "'$'" + ); + + protected $tokenToSymbol = array( + 0, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 56, 166, 168, 167, 55, 168, 168, + 163, 164, 53, 50, 8, 51, 52, 54, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 31, 159, + 44, 16, 46, 30, 68, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 70, 168, 160, 36, 168, 165, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 161, 35, 162, 58, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 1, 2, 3, 4, + 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, + 27, 28, 29, 32, 33, 34, 37, 38, 39, 40, + 41, 42, 43, 45, 47, 48, 49, 57, 59, 60, + 61, 62, 63, 64, 65, 66, 67, 69, 71, 72, + 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, + 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, + 153, 154, 155, 156, 157, 158 + ); + + protected $action = array( + 132, 133, 134, 575, 135, 136, 0, 738, 739, 740, + 137, 37, 850, 825, 851, 476,-32766,-32766,-32766,-32767, + -32767,-32767,-32767, 101, 102, 103, 104, 105, 1097, 1098, + 1099, 1096, 1095, 1094, 1100, 732, 731,-32766, 1289,-32766, + -32766,-32766,-32766,-32766,-32766,-32766,-32767,-32767,-32767,-32767, + -32767, 1022, 377, 376, 2, 741,-32766,-32766,-32766,-32766, + -32766, 822, 417,-32766,-32766,-32766,-32766,-32766,-32766, 267, + 138, 399, 745, 746, 747, 748, 287,-32766, 423,-32766, + -32766,-32766,-32766,-32766,-32766, 749, 750, 751, 752, 753, + 754, 755, 756, 757, 758, 759, 779, 576, 780, 781, + 782, 783, 771, 772, 340, 341, 774, 775, 760, 761, + 762, 764, 765, 766, 351, 806, 807, 808, 809, 810, + 577, 767, 768, 578, 579, 800, 791, 789, 790, 803, + 786, 787, -327, 423, 580, 581, 785, 582, 583, 584, + 585, 586, 587, 605, -590, 477, -86, 814, 788, 588, + 589, -590, 139,-32766,-32766,-32766, 132, 133, 134, 575, + 135, 136, 1046, 738, 739, 740, 137, 37, 323, 1013, + 823, 824, 1334, 1324,-32766, 1335,-32766,-32766,-32766,-32766, + -32766,-32766,-32766, 1097, 1098, 1099, 1096, 1095, 1094, 1100, + -587, 732, 731,-32766,-32766,-32766, 12, -587, 81,-32766, + -32766,-32766, 945, 946, 322, 927, 34, 947, 1224, 1223, + 1225, 741, -86, 942,-32766, 1075,-32766,-32766,-32766,-32766, + -32766, 239,-32766,-32766,-32766, 267, 138, 399, 745, 746, + 747, 748, 461, 462, 423, 35, 247, 103, 104, 105, + 128, 749, 750, 751, 752, 753, 754, 755, 756, 757, + 758, 759, 779, 576, 780, 781, 782, 783, 771, 772, + 340, 341, 774, 775, 760, 761, 762, 764, 765, 766, + 351, 806, 807, 808, 809, 810, 577, 767, 768, 578, + 579, 800, 791, 789, 790, 803, 786, 787, -327, 144, + 580, 581, 785, 582, 583, 584, 585, 586, 587, 1222, + 82, 83, 84, -590, 788, 588, 589, -590, 148, 763, + 733, 734, 735, 736, 737, 1309, 738, 739, 740, 776, + 777, 36, 1308, 85, 86, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 288, 271, -587, + -193, 375, 376, -587, 976,-32766, 1021, 453, 454, 455, + 109, 417, 945, 946, 741, 712, 819, 947,-32766,-32766, + -32766, -271, 1073, 941, 1224, 1223, 1225, 288, 742, 743, + 744, 745, 746, 747, 748, -192, -365, 812, -365,-32766, + 599,-32766,-32766, 549, 749, 750, 751, 752, 753, 754, + 755, 756, 757, 758, 759, 779, 802, 780, 781, 782, + 783, 771, 772, 773, 801, 774, 775, 760, 761, 762, + 764, 765, 766, 805, 806, 807, 808, 809, 810, 811, + 767, 768, 769, 770, 800, 791, 789, 790, 803, 786, + 787, 251, 820, 778, 784, 785, 792, 793, 795, 794, + 796, 797, 732, 731, 1261, 1022, 1019, 788, 799, 798, + 49, 50, 51, 507, 52, 53, 1009, 1008, 1007, 1010, + 54, 55, -111, 56, 816, 1045, 14, -111, 1022, -111, + 287, 1305, 977, 306, 302, 1022, 238, -111, -111, -111, + -111, -111, -111, -111, -111, 106, 107, 108, 1089, 271, + -32766,-32766,-32766, 280, 284, 126, -193, 929, 57, 58, + 287, 109, 1019, -541, 59, 308, 60, 244, 245, 61, + 62, 63, 64, 65, 66, 67, 68, 1229, 27, 269, + 69, 439, 508, -341, 1022, 929, 1255, 1256, 509, 907, + 823, -192, 150, 907, 1253, 41, 24, 510, 352, 511, + 818, 512, 386, 513, 11, 699, 514, 515, 648, 25, + 814, 43, 44, 440, 372, 371, 907, 45, 516, 702, + 1220, 667, 668, 363, 334, -540, 357, -541, -541, 320, + 1215, 1249, 518, 519, 520, -581, 1074, 335, 724, -581, + 1019,-32766, -541, 336, 521, 522, 703, 1243, 1244, 1245, + 1246, 1240, 1241, 294, -541, 850, -547, 851, 823, 1247, + 1242, 365, 1022, 1224, 1223, 1225, 295, -153, -153, -153, + 369, 70, 897, 318, 319, 322, 897, 384, 149, 402, + 373, 374, -153, 435, -153, 436, -153, 280, -153, -540, + -540, 141, 1220, 378, 379, 639, 640, 322, 370, 897, + 907, 437, 438, 829, -540, -88, 151, 732, 731, 945, + 946, 153, 823,-32766, 517, -51, -540, 154, -546, 883, + 941, -111, -111, -111, 31, 110, 111, 112, 113, 114, + 115, 116, 117, 118, 119, 120, 121, 122, 155, 74, + 27, 157, 32, 322, -85, 123, 124, 909, 129, 697, + 130, 909, 823, 697, -153, 143, 1253, 158,-32766, -544, + 1229, -542, 159, 160, 1222, 161, -79, 1134, 1136, -75, + 285,-32766,-32766,-32766, 909,-32766, 697,-32766, -539,-32766, + -301, -73,-32766, 897, -72, -71, 1220,-32766,-32766,-32766, + -16, 140, 1215,-32766,-32766, 732, 731, 322, -70,-32766, + 414, -69, -4, 907, -68, -67, 521, 522,-32766, 1243, + 1244, 1245, 1246, 1240, 1241, -66, -47, -18, 147, 270, + 281, 1247, 1242, -544, -544, -542, -542, 732, 731, 713, + 716, 906,-32766, 72, 146, 907, 319, 322, 1222, -297, + -542, 823, -539, -539, 276,-32766,-32766,-32766, 277,-32766, + -544,-32766, -542,-32766, 282, 283,-32766, -539, 909, 328, + 697,-32766,-32766,-32766,-32766, 704, 286,-32766,-32766, -539, + 1222, 923, 289,-32766, 414, 1220, 290,-32766,-32766,-32766, + 271,-32766,-32766,-32766, 47,-32766, 897, -111,-32766, 677, + 109, 814, 145,-32766,-32766,-32766,-32766, 823, 131,-32766, + -32766, 1336,-32766, 654, 670,-32766, 414, 1104, 370, 637, + 430, 551, 73, 13,-32766, 293, 555, 295, 897, 945, + 946, 649, 74, 434, 517, 458, 322, 487, 690, 842, + 941, -111, -111, -111, 301, 1022, 561, 655, 671, 1260, + 300,-32766, -539,-32766, 907, 603, 303, 1222, 296, 297, + 39, 1262, 9, 40,-32766,-32766,-32766, 0,-32766, 907, + -32766, 909,-32766, 697, -4,-32766, 0, 1229, 907, 0, + -32766,-32766,-32766,-32766, 307, 125,-32766,-32766, 0, 1222, + 907, 0,-32766, 414, 0, 0,-32766,-32766,-32766, 707, + -32766,-32766,-32766, 962,-32766, 697, -505,-32766, 714, -495, + 7, 482,-32766,-32766,-32766,-32766, -539, -539,-32766,-32766, + 16, 1222, 567, 367,-32766, 414, 925, 295,-32766,-32766, + -32766, -539,-32766,-32766,-32766, 822,-32766, 897, 721,-32766, + 722, -575, 888, -539,-32766,-32766,-32766, 986, 963, 970, + -32766,-32766, 897, -249, -249, -249,-32766, 414, 823, 370, + 960, 897, 971, 886, 958,-32766, 1078, 1081, 718, 1082, + 945, 946, 1079, 897, 1080, 517, 1086, 33, 1250, 834, + 883, 941, -111, -111, -111, 27, 1275, 1293, 1327, -248, + -248, -248, 1220, 642, 884, 370, 317, 823, 366, 698, + 701, 1253, 1331, 705, -111, 706, 945, 946, 708, 709, + 710, 517, 909,-32766, 697, -249, 883, 941, -111, -111, + -111, 711, 715, 700, -509, 1333, 845, 909, 48, 697, + -573, 1220, 844, 853, 295, 935, 909, 1215, 697, 74, + 978, 852, 1332, 322, 934, 932, 933, 936, 909, 1206, + 697, -248, 522, 916, 1243, 1244, 1245, 1246, 1240, 1241, + 926, 914, 968, 969, 1330, 1287, 1247, 1242, 1276, 1294, + -32766, 1300, 1303, 1191, -547, -546, 1222, -545, 72, -489, + 1, 319, 322,-32766,-32766,-32766, 28,-32766, 29,-32766, + 38,-32766, 298, 299,-32766, 42, 46, 71, 75,-32766, + -32766,-32766, 76, 77, 78,-32766,-32766, 368, 79, 80, + 142,-32766, 414, 152, 156, 243, 324, 352, 353, 127, + -32766, -274, 354, 355, 356, 357, 358, 359, 360, 361, + 362, 364, 431, 0, -272, -271, 18, 19, 20, 21, + 23, 401, 478, 479, 486, 489, 490, 491, 492, 496, + 497, 498, 505, 684, 1233, 1174, 1251, 1048, 1047, 1028, + 0, 1210, 1024, -276, -103, 17, 22, 26, 292, 400, + 596, 600, 628, 689, 1178, 1228, 1175, 1306, 0, 0, + 1254, 0, 322 + ); + + protected $actionCheck = array( + 2, 3, 4, 5, 6, 7, 0, 9, 10, 11, + 12, 13, 106, 1, 108, 31, 9, 10, 11, 44, + 45, 46, 47, 48, 49, 50, 51, 52, 116, 117, + 118, 119, 120, 121, 122, 37, 38, 30, 1, 32, + 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, + 43, 138, 106, 107, 8, 57, 9, 10, 11, 9, + 10, 155, 116, 9, 10, 11, 9, 10, 11, 71, + 72, 73, 74, 75, 76, 77, 163, 30, 80, 32, + 33, 34, 35, 36, 30, 87, 88, 89, 90, 91, + 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, + 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, + 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, + 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, + 132, 133, 8, 80, 136, 137, 138, 139, 140, 141, + 142, 143, 144, 51, 1, 161, 31, 80, 150, 151, + 152, 8, 154, 9, 10, 11, 2, 3, 4, 5, + 6, 7, 164, 9, 10, 11, 12, 13, 70, 1, + 82, 159, 80, 85, 30, 83, 32, 33, 34, 35, + 36, 37, 38, 116, 117, 118, 119, 120, 121, 122, + 1, 37, 38, 9, 10, 11, 8, 8, 161, 9, + 10, 11, 117, 118, 167, 1, 8, 122, 155, 156, + 157, 57, 97, 128, 30, 162, 32, 33, 34, 35, + 30, 14, 32, 33, 34, 71, 72, 73, 74, 75, + 76, 77, 134, 135, 80, 147, 148, 50, 51, 52, + 8, 87, 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, + 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, + 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, + 126, 127, 128, 129, 130, 131, 132, 133, 164, 8, + 136, 137, 138, 139, 140, 141, 142, 143, 144, 80, + 9, 10, 11, 160, 150, 151, 152, 164, 154, 2, + 3, 4, 5, 6, 7, 1, 9, 10, 11, 12, + 13, 30, 8, 32, 33, 34, 35, 36, 37, 38, + 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, + 49, 50, 51, 52, 53, 54, 55, 30, 57, 160, + 8, 106, 107, 164, 31, 9, 137, 129, 130, 131, + 69, 116, 117, 118, 57, 161, 80, 122, 9, 10, + 11, 164, 1, 128, 155, 156, 157, 30, 71, 72, + 73, 74, 75, 76, 77, 8, 106, 80, 108, 30, + 1, 32, 33, 85, 87, 88, 89, 90, 91, 92, + 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, + 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, + 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, + 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, + 133, 8, 156, 136, 137, 138, 139, 140, 141, 142, + 143, 144, 37, 38, 146, 138, 116, 150, 151, 152, + 2, 3, 4, 5, 6, 7, 119, 120, 121, 122, + 12, 13, 101, 15, 80, 1, 101, 106, 138, 108, + 163, 1, 159, 8, 113, 138, 97, 116, 117, 118, + 119, 120, 121, 122, 123, 53, 54, 55, 123, 57, + 9, 10, 11, 163, 30, 14, 164, 122, 50, 51, + 163, 69, 116, 70, 56, 8, 58, 59, 60, 61, + 62, 63, 64, 65, 66, 67, 68, 1, 70, 71, + 72, 73, 74, 162, 138, 122, 78, 79, 80, 1, + 82, 164, 14, 1, 86, 87, 88, 89, 163, 91, + 156, 93, 106, 95, 108, 161, 98, 99, 75, 76, + 80, 103, 104, 105, 106, 107, 1, 109, 110, 31, + 116, 75, 76, 115, 116, 70, 163, 134, 135, 8, + 122, 1, 124, 125, 126, 160, 159, 8, 161, 164, + 116, 137, 149, 8, 136, 137, 31, 139, 140, 141, + 142, 143, 144, 145, 161, 106, 163, 108, 82, 151, + 152, 8, 138, 155, 156, 157, 158, 75, 76, 77, + 8, 163, 84, 165, 166, 167, 84, 8, 101, 102, + 106, 107, 90, 8, 92, 8, 94, 163, 96, 134, + 135, 161, 116, 106, 107, 111, 112, 167, 106, 84, + 1, 8, 8, 8, 149, 31, 14, 37, 38, 117, + 118, 14, 82, 137, 122, 31, 161, 14, 163, 127, + 128, 129, 130, 131, 16, 17, 18, 19, 20, 21, + 22, 23, 24, 25, 26, 27, 28, 29, 14, 163, + 70, 14, 14, 167, 31, 16, 16, 159, 16, 161, + 16, 159, 82, 161, 162, 16, 86, 16, 74, 70, + 1, 70, 16, 16, 80, 16, 31, 59, 60, 31, + 37, 87, 88, 89, 159, 91, 161, 93, 70, 95, + 35, 31, 98, 84, 31, 31, 116, 103, 104, 105, + 31, 161, 122, 109, 110, 37, 38, 167, 31, 115, + 116, 31, 0, 1, 31, 31, 136, 137, 124, 139, + 140, 141, 142, 143, 144, 31, 31, 31, 31, 31, + 31, 151, 152, 134, 135, 134, 135, 37, 38, 31, + 31, 31, 74, 163, 31, 1, 166, 167, 80, 35, + 149, 82, 134, 135, 35, 87, 88, 89, 35, 91, + 161, 93, 161, 95, 35, 35, 98, 149, 159, 35, + 161, 103, 104, 105, 74, 31, 37, 109, 110, 161, + 80, 38, 37, 115, 116, 116, 37, 87, 88, 89, + 57, 91, 124, 93, 70, 95, 84, 128, 98, 77, + 69, 80, 70, 103, 104, 105, 137, 82, 31, 109, + 110, 83, 85, 96, 94, 115, 116, 82, 106, 113, + 108, 85, 154, 97, 124, 113, 89, 158, 84, 117, + 118, 90, 163, 128, 122, 97, 167, 97, 92, 127, + 128, 129, 130, 131, 133, 138, 153, 100, 100, 146, + 132, 74, 70, 137, 1, 153, 114, 80, 134, 135, + 159, 146, 150, 159, 87, 88, 89, -1, 91, 1, + 93, 159, 95, 161, 162, 98, -1, 1, 1, -1, + 103, 104, 105, 74, 132, 161, 109, 110, -1, 80, + 1, -1, 115, 116, -1, -1, 87, 88, 89, 31, + 91, 124, 93, 159, 95, 161, 149, 98, 31, 149, + 149, 102, 103, 104, 105, 74, 134, 135, 109, 110, + 149, 80, 81, 149, 115, 116, 154, 158, 87, 88, + 89, 149, 91, 124, 93, 155, 95, 84, 159, 98, + 159, 163, 159, 161, 103, 104, 105, 159, 159, 159, + 109, 110, 84, 100, 101, 102, 115, 116, 82, 106, + 159, 84, 159, 159, 159, 124, 159, 159, 162, 159, + 117, 118, 159, 84, 159, 122, 159, 161, 160, 160, + 127, 128, 129, 130, 131, 70, 160, 160, 160, 100, + 101, 102, 116, 160, 162, 106, 161, 82, 161, 161, + 161, 86, 162, 161, 128, 161, 117, 118, 161, 161, + 161, 122, 159, 137, 161, 162, 127, 128, 129, 130, + 131, 161, 161, 161, 165, 162, 162, 159, 70, 161, + 163, 116, 162, 162, 158, 162, 159, 122, 161, 163, + 162, 162, 162, 167, 162, 162, 162, 162, 159, 162, + 161, 162, 137, 162, 139, 140, 141, 142, 143, 144, + 162, 162, 162, 162, 162, 162, 151, 152, 162, 162, + 74, 162, 162, 165, 163, 163, 80, 163, 163, 163, + 163, 166, 167, 87, 88, 89, 163, 91, 163, 93, + 163, 95, 134, 135, 98, 163, 163, 163, 163, 103, + 104, 105, 163, 163, 163, 109, 110, 149, 163, 163, + 163, 115, 116, 163, 163, 163, 163, 163, 163, 161, + 124, 164, 163, 163, 163, 163, 163, 163, 163, 163, + 163, 163, 163, -1, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, 164, 164, + -1, 164, 164, 164, 164, 164, 164, 164, 164, 164, + 164, 164, 164, 164, 164, 164, 164, 164, -1, -1, + 166, -1, 167 + ); + + protected $actionBase = array( + 0, -2, 154, 542, 752, 893, 929, 580, 53, 394, + 855, 307, 307, 67, 307, 307, 307, 565, 908, 908, + 917, 908, 538, 784, 649, 649, 649, 708, 708, 708, + 708, 740, 740, 849, 849, 881, 817, 634, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, 1036, + 1036, 1036, 12, 323, 389, 678, 1044, 1050, 1046, 1051, + 1042, 1041, 1045, 1047, 1052, 942, 943, 753, 946, 947, + 949, 950, 1048, 873, 1043, 1049, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 346, 491, 50, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 57, 57, 57, 57, 57, + 57, 57, 57, 57, 57, 54, 54, 54, 620, 620, + 359, 190, 184, 955, 955, 955, 955, 955, 955, 955, + 955, 955, 955, 658, 47, 144, 144, 7, 7, 7, + 7, 7, 371, -25, -25, -25, -25, 709, 347, 916, + 474, 526, 375, 280, 317, 245, 340, 340, 187, 187, + 396, 396, -87, -87, 396, 396, 396, 747, 747, 747, + 747, 443, 505, -94, 308, 454, 480, 480, 480, 480, + 454, 454, 454, 454, 755, 1054, 454, 454, 454, 641, + 822, 822, 998, 442, 442, 442, 822, 499, 776, 88, + 499, 88, 37, 92, 756, 85, -54, 425, 756, 639, + 764, 189, 143, 820, 524, 820, 1040, 385, 767, 413, + 735, 688, 857, 902, 1053, 787, 940, 788, 941, 228, + 98, 685, 1039, 1039, 1039, 1039, 1039, 1039, 1039, 1039, + 1039, 1039, 1039, 1055, 415, 1040, 286, 1055, 1055, 1055, + 415, 415, 415, 415, 415, 415, 415, 415, 415, 415, + 534, 286, 483, 496, 286, 774, 415, 12, 800, 12, + 12, 12, 12, 12, 12, 12, 12, 12, 12, 736, + -16, 12, 323, 204, 204, 427, 168, 204, 204, 204, + 204, 12, 12, 12, 524, 773, 733, 537, 742, 377, + 773, 773, 773, 115, 124, 207, 342, 695, 754, 446, + 761, 761, 775, 957, 957, 761, 765, 761, 775, 973, + 761, 761, 957, 957, 809, 232, 625, 579, 612, 627, + 957, 475, 761, 761, 761, 761, 792, 643, 761, 433, + 281, 761, 761, 792, 758, 739, 46, 751, 957, 957, + 957, 792, 603, 751, 751, 751, 819, 821, 746, 738, + 571, 507, 645, 198, 783, 738, 738, 761, 619, 746, + 738, 746, 738, 812, 738, 738, 738, 746, 738, 765, + 585, 738, 691, 644, 188, 738, 6, 974, 975, 624, + 979, 967, 980, 1009, 981, 985, 878, 956, 992, 972, + 986, 965, 963, 750, 679, 680, 801, 797, 954, 771, + 771, 771, 951, 771, 771, 771, 771, 771, 771, 771, + 771, 679, 858, 814, 745, 777, 995, 682, 684, 743, + 872, 899, 948, 994, 1030, 987, 741, 689, 1016, 999, + 846, 875, 1000, 1001, 1017, 1031, 1032, 880, 772, 903, + 904, 859, 1003, 879, 771, 974, 985, 663, 972, 986, + 965, 963, 734, 724, 720, 723, 717, 704, 700, 703, + 737, 1033, 907, 818, 866, 1002, 952, 679, 867, 1012, + 856, 1018, 1019, 877, 778, 768, 868, 910, 1004, 1005, + 1006, 882, 1034, 884, 744, 1013, 997, 1020, 780, 911, + 1021, 1022, 1023, 1024, 887, 913, 888, 889, 823, 781, + 1010, 757, 918, 528, 769, 770, 789, 1008, 642, 993, + 900, 919, 920, 1025, 1026, 1027, 922, 923, 990, 828, + 1014, 760, 1015, 1011, 829, 830, 647, 785, 1035, 759, + 763, 779, 653, 674, 924, 925, 927, 991, 748, 762, + 841, 843, 1037, 683, 1038, 931, 677, 844, 696, 938, + 1029, 697, 699, 786, 901, 811, 782, 766, 1007, 749, + 845, 939, 847, 848, 850, 1028, 853, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 458, 458, 458, + 458, 458, 458, 307, 307, 307, 307, 0, 0, 307, + 0, 0, 0, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 458, 458, + 458, 458, 458, 458, 458, 458, 458, 458, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 291, 291, 291, 291, 291, 291, + 291, 291, 291, 291, 219, 219, 291, 291, 291, 219, + 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, + 291, 291, 291, 291, 291, 291, 291, 291, 809, 442, + 442, 442, 442, 219, 219, 219, 219, 219, -88, -88, + 219, 809, 219, 219, 442, 442, 219, 219, 219, 219, + 219, 219, 219, 219, 219, 219, 219, 0, 0, 286, + 88, 219, 765, 765, 765, 765, 219, 219, 219, 219, + 88, 88, 219, 219, 219, 0, 0, 0, 0, 0, + 0, 0, 0, 286, 88, 0, 286, 0, 765, 765, + 219, 0, 809, 314, 219, 0, 0, 0, 0, 286, + 765, 286, 415, 761, 88, 761, 415, 415, 204, 12, + 314, 527, 527, 527, 527, 0, 0, 524, 809, 809, + 809, 809, 809, 809, 809, 809, 809, 809, 809, 765, + 0, 809, 0, 765, 765, 765, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 765, 0, 0, 957, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, + 0, 0, 765, 0, 0, 0, 0, 0, 0, 0, + 0, 771, 778, 0, 778, 0, 771, 771, 771, 0, + 0, 0, 0, 785, 683 + ); + + protected $actionDefault = array( + 3,32767, 103,32767,32767,32767,32767,32767,32767,32767, + 32767,32767, 101,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 593, 593, 593, + 593,32767,32767, 253, 103,32767,32767, 467, 385, 385, + 385,32767,32767, 537, 537, 537, 537, 537, 537,32767, + 32767,32767,32767,32767,32767, 467,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 101,32767, + 32767,32767, 37, 7, 8, 10, 11, 50, 17, 323, + 32767,32767,32767,32767, 103,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767, 586,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 471, 450, 451, 453, + 454, 384, 538, 592, 326, 589, 383, 146, 338, 328, + 241, 329, 257, 472, 258, 473, 476, 477, 214, 286, + 380, 150, 414, 468, 416, 466, 470, 415, 390, 395, + 396, 397, 398, 399, 400, 401, 402, 403, 404, 405, + 406, 407, 388, 389, 469, 447, 446, 445,32767,32767, + 412, 413, 417,32767,32767,32767,32767,32767,32767,32767, + 32767, 103,32767, 387, 420, 418, 419, 436, 437, 434, + 435, 438,32767, 439, 440, 441, 442,32767, 315,32767, + 32767,32767, 364, 362, 315, 112,32767,32767, 427, 428, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767, 531, 444,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 103,32767, 101, 533, + 409, 411, 501, 422, 423, 421, 391,32767, 508,32767, + 103, 510,32767,32767,32767,32767,32767,32767,32767, 532, + 32767, 539, 539,32767, 494, 101, 194,32767,32767,32767, + 194, 194,32767,32767,32767,32767,32767,32767,32767,32767, + 600, 494, 111, 111, 111, 111, 111, 111, 111, 111, + 111, 111, 111,32767, 194, 111,32767,32767,32767, 101, + 194, 194, 194, 194, 194, 194, 194, 194, 194, 194, + 189,32767, 267, 269, 103, 554, 194,32767, 513,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767, 506, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767, 494, 432, 139,32767, 139, 539, + 424, 425, 426, 496, 539, 539, 539, 311, 288,32767, + 32767,32767,32767, 511, 511, 101, 101, 101, 101, 506, + 32767,32767,32767,32767, 112, 100, 100, 100, 100, 100, + 104, 102,32767,32767,32767,32767, 222, 100,32767, 102, + 102,32767,32767, 222, 224, 211, 102, 226,32767, 558, + 559, 222, 102, 226, 226, 226, 246, 246, 483, 317, + 102, 100, 102, 102, 196, 317, 317,32767, 102, 483, + 317, 483, 317, 198, 317, 317, 317, 483, 317,32767, + 102, 317, 213, 100, 100, 317,32767,32767,32767, 496, + 32767,32767,32767,32767,32767,32767,32767, 221,32767,32767, + 32767,32767,32767,32767,32767, 526,32767, 543, 556, 430, + 431, 433, 541, 455, 456, 457, 458, 459, 460, 461, + 463, 588,32767, 500,32767,32767,32767,32767, 337, 598, + 32767, 598,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 599,32767, 539, + 32767,32767,32767,32767, 429, 9, 76, 489, 43, 44, + 52, 58, 517, 518, 519, 520, 514, 515, 521, 516, + 32767,32767, 522, 564,32767,32767, 540, 591,32767,32767, + 32767,32767,32767,32767, 139,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767, 526,32767, 137,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 539,32767,32767,32767,32767, 313, 310,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767, 539,32767,32767,32767,32767,32767, 290, + 32767, 307,32767,32767,32767,32767,32767,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767,32767, 285,32767, + 32767, 379,32767,32767,32767,32767, 358,32767,32767,32767, + 32767,32767,32767,32767,32767,32767,32767, 152, 152, 3, + 3, 340, 152, 152, 152, 340, 340, 152, 340, 340, + 340, 152, 152, 152, 152, 152, 152, 279, 184, 261, + 264, 246, 246, 152, 350, 152 + ); + + protected $goto = array( + 194, 194, 685, 425, 653, 346, 614, 650, 419, 310, + 311, 331, 569, 316, 424, 332, 426, 630, 1200, 930, + 693, 1051, 1201, 1204, 931, 1205, 165, 165, 165, 165, + 218, 195, 191, 191, 175, 177, 213, 191, 191, 191, + 191, 191, 192, 192, 192, 192, 192, 192, 186, 187, + 188, 189, 190, 215, 213, 216, 529, 530, 415, 531, + 533, 534, 535, 536, 537, 538, 539, 540, 1120, 166, + 167, 168, 193, 169, 170, 171, 164, 172, 173, 174, + 176, 212, 214, 217, 235, 240, 241, 242, 254, 255, + 256, 257, 258, 259, 260, 261, 263, 264, 265, 266, + 278, 279, 313, 314, 315, 420, 421, 422, 574, 219, + 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, + 230, 231, 232, 233, 178, 234, 179, 196, 197, 198, + 236, 186, 187, 188, 189, 190, 215, 1120, 199, 180, + 181, 182, 200, 196, 183, 237, 201, 199, 163, 202, + 203, 184, 204, 205, 206, 185, 207, 208, 209, 210, + 211, 275, 275, 275, 275, 843, 593, 646, 647, 560, + 664, 665, 666, 720, 629, 631, 840, 418, 651, 604, + 841, 350, 675, 679, 996, 683, 691, 992, 616, 616, + 817, 350, 350, 1252, 1252, 1252, 1252, 1252, 1252, 1252, + 1252, 1252, 1252, 1092, 1093, 350, 350, 874, 350, 848, + 1337, 896, 891, 892, 905, 849, 893, 846, 894, 895, + 847, 548, 900, 899, 901, 350, 391, 394, 554, 594, + 598, 1270, 1270, 1072, 1068, 1069, 1270, 1270, 1270, 1270, + 1270, 1270, 1270, 1270, 1270, 1270, 1268, 1268, 815, 347, + 348, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, 1268, + 1268, 1221, 1020, 1221, 1020, 1221, 836, 5, 1020, 6, + 1020, 1020, 1281, 961, 1020, 1020, 1020, 1020, 1020, 1020, + 1020, 1020, 1020, 1020, 1020, 349, 349, 349, 349, 1221, + 460, 460, 566, 678, 1221, 1221, 1221, 1221, 344, 460, + 1221, 1221, 1221, 1302, 1302, 1302, 1302, 602, 617, 620, + 621, 622, 623, 643, 644, 645, 695, 836, 912, 553, + 546, 1310, 913, 548, 532, 532, 821, 856, 982, 532, + 532, 532, 532, 532, 532, 532, 532, 532, 532, 543, + 473, 543, 868, 543, 928, 855, 928, 389, 475, 337, + 546, 553, 562, 563, 339, 572, 595, 609, 610, 1320, + 1320, 249, 249, 1026, 1025, 15, 821, 450, 821, 494, + 565, 495, 955, 955, 955, 955, 1320, 501, 450, 949, + 956, 839, 652, 1321, 1321, 1169, 1214, 246, 246, 246, + 246, 248, 250, 1323, 985, 959, 959, 957, 959, 719, + 1321, 545, 994, 989, 470, 1295, 1296, 953, 405, 692, + 917, 1108, 432, 541, 541, 541, 541, 612, 597, 452, + 444, 1029, 1030, 1001, 658, 444, 1292, 444, 1292, 674, + 1292, 860, 833, 656, 980, 836, 861, 547, 557, 854, + 321, 305, 547, 333, 557, 1297, 1298, 392, 456, 570, + 607, 1211, 944, 398, 858, 1304, 1304, 1304, 1304, 463, + 573, 464, 465, 608, 1004, 866, 403, 404, 1328, 1329, + 1057, 662, 1212, 663, 471, 407, 408, 409, 723, 676, + 870, 1288, 410, 624, 626, 627, 342, 427, 1216, 869, + 857, 1056, 1060, 427, 864, 1061, 1103, 966, 0, 0, + 964, 1027, 1027, 0, 0, 0, 657, 1038, 1034, 1035, + 444, 444, 444, 444, 444, 444, 444, 444, 444, 444, + 444, 0, 1059, 444, 954, 0, 1290, 1290, 1059, 592, + 1085, 0, 696, 682, 682, 0, 502, 688, 1083, 0, + 0, 0, 1217, 1218, 272, 428, 1101, 873, 0, 544, + 831, 544, 0, 0, 0, 673, 938, 0, 0, 1015, + 1031, 1032, 0, 0, 0, 0, 0, 0, 1219, 1278, + 1279, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 252, 252, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 999, 999 + ); + + protected $gotoCheck = array( + 42, 42, 72, 65, 65, 96, 55, 55, 65, 65, + 65, 65, 65, 65, 65, 65, 65, 65, 78, 78, + 9, 126, 78, 78, 78, 78, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 23, 23, 23, 23, 15, 129, 85, 85, 48, + 85, 85, 85, 48, 48, 48, 26, 13, 48, 13, + 27, 14, 48, 48, 48, 48, 48, 48, 107, 107, + 7, 14, 14, 107, 107, 107, 107, 107, 107, 107, + 107, 107, 107, 143, 143, 14, 14, 45, 14, 15, + 14, 15, 15, 15, 15, 15, 15, 15, 15, 15, + 15, 14, 64, 15, 64, 14, 58, 58, 58, 58, + 58, 168, 168, 15, 15, 15, 168, 168, 168, 168, + 168, 168, 168, 168, 168, 168, 169, 169, 6, 96, + 96, 169, 169, 169, 169, 169, 169, 169, 169, 169, + 169, 72, 72, 72, 72, 72, 22, 46, 72, 46, + 72, 72, 14, 49, 72, 72, 72, 72, 72, 72, + 72, 72, 72, 72, 72, 24, 24, 24, 24, 72, + 148, 148, 170, 14, 72, 72, 72, 72, 177, 148, + 72, 72, 72, 9, 9, 9, 9, 80, 80, 80, + 80, 80, 80, 80, 80, 80, 80, 22, 72, 75, + 75, 179, 72, 14, 171, 171, 12, 35, 102, 171, + 171, 171, 171, 171, 171, 171, 171, 171, 171, 19, + 83, 19, 35, 19, 9, 35, 9, 61, 83, 75, + 75, 75, 75, 75, 75, 75, 75, 75, 75, 180, + 180, 5, 5, 117, 117, 75, 12, 19, 12, 154, + 103, 154, 19, 19, 19, 19, 180, 154, 19, 19, + 19, 25, 63, 181, 181, 150, 14, 5, 5, 5, + 5, 5, 5, 180, 25, 25, 25, 25, 25, 25, + 181, 25, 25, 25, 174, 174, 174, 92, 92, 92, + 17, 17, 112, 106, 106, 106, 106, 17, 106, 82, + 23, 118, 118, 17, 119, 23, 129, 23, 129, 115, + 129, 17, 18, 17, 17, 22, 39, 9, 9, 17, + 167, 167, 9, 29, 9, 176, 176, 9, 9, 2, + 2, 17, 91, 28, 37, 129, 129, 129, 129, 9, + 9, 9, 9, 79, 109, 9, 81, 81, 9, 9, + 128, 81, 159, 81, 156, 81, 81, 81, 98, 81, + 41, 129, 81, 84, 84, 84, 81, 116, 20, 16, + 16, 16, 16, 116, 9, 131, 146, 95, -1, -1, + 16, 116, 116, -1, -1, -1, 116, 116, 116, 116, + 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, + 23, -1, 129, 23, 16, -1, 129, 129, 129, 8, + 8, -1, 8, 8, 8, -1, 8, 8, 8, -1, + -1, -1, 20, 20, 24, 88, 16, 16, -1, 24, + 20, 24, -1, -1, -1, 88, 88, -1, -1, 88, + 88, 88, -1, -1, -1, -1, -1, -1, 20, 20, + 20, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, 5, 5, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, + -1, -1, -1, -1, 106, 106 + ); + + protected $gotoBase = array( + 0, 0, -250, 0, 0, 360, 235, 181, 522, 7, + 0, 0, 33, -156, -113, -178, 43, -49, 126, 72, + 100, 0, -9, 158, 282, 377, 172, 176, 120, 150, + 0, 0, 0, 0, 0, -39, 0, 119, 0, 116, + 0, 45, -1, 0, 0, 195, -456, 0, -529, 250, + 0, 0, 0, 0, 0, -33, 0, 0, 182, 0, + 0, 306, 0, 143, 203, -235, 0, 0, 0, 0, + 0, 0, -6, 0, 0, -21, 0, 0, -385, 124, + -46, -19, 144, -123, 10, -538, 0, 0, 275, 0, + 0, 127, 106, 0, 0, 60, -472, 0, 76, 0, + 0, 0, 294, 328, 0, 0, 386, -50, 0, 99, + 0, 0, 138, 0, 0, 149, 219, 87, 139, 137, + 0, 0, 0, 0, 0, 0, 19, 0, 101, 159, + 0, 59, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, -69, 0, 0, 58, 0, 257, 0, + 114, 0, 0, 0, -120, 0, 40, 0, 0, 108, + 0, 0, 0, 0, 0, 0, 0, 122, -7, 8, + 264, 86, 0, 0, 107, 0, 78, 269, 0, 291, + 55, 79, 0, 0 + ); + + protected $gotoDefault = array( + -32768, 506, 727, 4, 728, 921, 804, 813, 590, 523, + 694, 343, 618, 416, 1286, 898, 1107, 571, 832, 1230, + 1238, 451, 835, 326, 717, 880, 881, 882, 395, 381, + 387, 393, 641, 619, 488, 867, 447, 859, 480, 862, + 446, 871, 162, 413, 504, 875, 3, 877, 550, 908, + 382, 885, 383, 669, 887, 556, 889, 890, 390, 396, + 397, 1112, 564, 615, 902, 253, 558, 903, 380, 904, + 911, 385, 388, 680, 459, 499, 493, 406, 1087, 559, + 601, 638, 441, 467, 613, 625, 611, 474, 1023, 411, + 325, 943, 951, 481, 457, 965, 345, 973, 725, 1119, + 632, 483, 981, 633, 988, 991, 524, 525, 472, 1003, + 268, 1006, 484, 1044, 659, 1017, 1018, 660, 634, 1040, + 635, 661, 636, 1042, 466, 591, 1050, 448, 1058, 1274, + 449, 1062, 262, 1065, 274, 412, 429, 1070, 1071, 8, + 1077, 686, 687, 10, 273, 503, 1102, 681, 445, 1118, + 433, 1188, 1190, 552, 485, 1208, 1207, 672, 500, 1213, + 442, 1277, 443, 526, 468, 312, 527, 304, 329, 309, + 542, 291, 330, 528, 469, 1283, 1291, 327, 30, 1311, + 1322, 338, 568, 606 + ); + + protected $ruleToNonTerminal = array( + 0, 1, 3, 3, 2, 5, 5, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, + 6, 6, 6, 6, 6, 6, 6, 6, 7, 7, + 7, 7, 7, 7, 7, 7, 8, 8, 9, 10, + 11, 11, 11, 12, 12, 13, 13, 14, 15, 15, + 16, 16, 17, 17, 18, 18, 21, 21, 22, 23, + 23, 24, 24, 4, 4, 4, 4, 4, 4, 4, + 4, 4, 4, 4, 29, 29, 30, 30, 32, 34, + 34, 28, 36, 36, 33, 38, 38, 35, 35, 37, + 37, 39, 39, 31, 40, 40, 41, 43, 44, 44, + 45, 46, 46, 48, 47, 47, 47, 47, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, + 49, 49, 25, 25, 68, 68, 71, 71, 70, 69, + 69, 62, 74, 74, 75, 75, 76, 76, 77, 77, + 78, 78, 79, 79, 26, 26, 27, 27, 27, 27, + 27, 87, 87, 89, 89, 82, 82, 90, 90, 91, + 91, 91, 83, 83, 86, 86, 84, 84, 92, 93, + 93, 56, 56, 64, 64, 67, 67, 67, 66, 94, + 94, 95, 57, 57, 57, 57, 96, 96, 97, 97, + 98, 98, 99, 100, 100, 101, 101, 102, 102, 54, + 54, 50, 50, 104, 52, 52, 105, 51, 51, 53, + 53, 63, 63, 63, 63, 80, 80, 108, 108, 110, + 110, 111, 111, 111, 111, 109, 109, 109, 113, 113, + 113, 113, 88, 88, 116, 116, 116, 117, 117, 114, + 114, 118, 118, 120, 120, 121, 121, 115, 122, 122, + 119, 123, 123, 123, 123, 112, 112, 81, 81, 81, + 20, 20, 20, 125, 124, 124, 126, 126, 126, 126, + 59, 127, 127, 128, 60, 130, 130, 131, 131, 132, + 132, 85, 133, 133, 133, 133, 133, 133, 138, 138, + 139, 139, 140, 140, 140, 140, 140, 141, 142, 142, + 137, 137, 134, 134, 136, 136, 144, 144, 143, 143, + 143, 143, 143, 143, 143, 135, 145, 145, 147, 146, + 146, 61, 103, 148, 148, 55, 55, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, + 155, 149, 149, 154, 154, 157, 158, 158, 159, 160, + 161, 161, 161, 161, 19, 19, 72, 72, 72, 72, + 150, 150, 150, 150, 163, 163, 151, 151, 153, 153, + 153, 156, 156, 168, 168, 168, 168, 168, 168, 168, + 168, 168, 169, 169, 107, 171, 171, 171, 171, 152, + 152, 152, 152, 152, 152, 152, 152, 58, 58, 166, + 166, 166, 166, 172, 172, 162, 162, 162, 173, 173, + 173, 173, 173, 173, 73, 73, 65, 65, 65, 65, + 129, 129, 129, 129, 176, 175, 165, 165, 165, 165, + 165, 165, 165, 164, 164, 164, 174, 174, 174, 174, + 106, 170, 178, 178, 177, 177, 179, 179, 179, 179, + 179, 179, 179, 179, 167, 167, 167, 167, 181, 182, + 180, 180, 180, 180, 180, 180, 180, 180, 183, 183, + 183, 183 + ); + + protected $ruleToLength = array( + 1, 1, 2, 0, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 0, 1, 1, 2, 1, 3, 4, 1, + 2, 0, 1, 1, 1, 1, 1, 3, 5, 4, + 3, 4, 2, 3, 1, 1, 7, 6, 2, 3, + 1, 2, 3, 1, 2, 3, 1, 1, 3, 1, + 3, 1, 2, 2, 3, 1, 3, 2, 3, 1, + 3, 2, 0, 1, 1, 1, 1, 1, 3, 7, + 10, 5, 7, 9, 5, 3, 3, 3, 3, 3, + 3, 1, 2, 5, 7, 9, 6, 5, 6, 3, + 2, 1, 1, 1, 0, 2, 1, 3, 8, 0, + 4, 2, 1, 3, 0, 1, 0, 1, 0, 1, + 3, 1, 1, 1, 8, 9, 7, 8, 7, 6, + 8, 0, 2, 0, 2, 1, 2, 1, 2, 1, + 1, 1, 0, 2, 0, 2, 0, 2, 2, 1, + 3, 1, 4, 1, 4, 1, 1, 4, 2, 1, + 3, 3, 3, 4, 4, 5, 0, 2, 4, 3, + 1, 1, 7, 0, 2, 1, 3, 3, 4, 1, + 4, 0, 2, 5, 0, 2, 6, 0, 2, 0, + 3, 1, 2, 1, 1, 2, 0, 1, 3, 0, + 2, 1, 1, 1, 1, 6, 8, 6, 1, 2, + 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, + 3, 1, 3, 3, 3, 3, 3, 1, 3, 3, + 1, 1, 2, 1, 1, 0, 1, 0, 2, 2, + 2, 4, 3, 1, 1, 3, 1, 2, 2, 3, + 2, 3, 1, 1, 2, 3, 1, 1, 3, 2, + 0, 1, 5, 5, 10, 3, 5, 1, 1, 3, + 0, 2, 4, 5, 4, 4, 4, 3, 1, 1, + 1, 1, 1, 1, 0, 1, 1, 2, 1, 1, + 1, 1, 1, 1, 1, 2, 1, 3, 1, 1, + 3, 2, 2, 3, 1, 0, 1, 1, 3, 3, + 3, 4, 1, 1, 2, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 2, 2, + 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, + 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, + 3, 3, 3, 3, 3, 5, 4, 3, 4, 4, + 2, 2, 4, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 1, 3, 2, 1, 2, 4, + 2, 2, 8, 9, 8, 9, 9, 10, 9, 10, + 8, 3, 2, 0, 4, 2, 1, 3, 2, 1, + 2, 2, 2, 4, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 1, 1, 1, 0, 3, 0, 1, + 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 3, 3, 3, 4, 1, 1, 3, 1, + 1, 1, 1, 1, 3, 2, 3, 0, 1, 1, + 3, 1, 1, 1, 1, 1, 3, 1, 1, 4, + 4, 1, 4, 4, 0, 1, 1, 1, 3, 3, + 1, 4, 2, 2, 1, 3, 1, 4, 4, 3, + 3, 3, 3, 1, 3, 1, 1, 3, 1, 1, + 4, 1, 1, 1, 3, 1, 1, 2, 1, 3, + 4, 3, 2, 0, 2, 2, 1, 2, 1, 1, + 1, 4, 3, 3, 3, 3, 6, 3, 1, 1, + 2, 1 + ); + + protected function initReduceCallbacks() { + $this->reduceCallbacks = [ + 0 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 1 => function ($stackPos) { + $this->semValue = $this->handleNamespaces($this->semStack[$stackPos-(1-1)]); + }, + 2 => function ($stackPos) { + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + }, + 3 => function ($stackPos) { + $this->semValue = array(); + }, + 4 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 5 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 6 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 7 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 8 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 9 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 10 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 11 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 12 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 13 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 14 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 15 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 16 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 17 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 18 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 19 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 20 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 21 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 22 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 23 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 24 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 25 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 26 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 27 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 28 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 29 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 30 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 31 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 32 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 33 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 34 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 35 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 36 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 37 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 38 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 39 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 40 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 41 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 42 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 43 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 44 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 45 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 46 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 47 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 48 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 49 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 50 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 51 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 52 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 53 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 54 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 55 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 56 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 57 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 58 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 59 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 60 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 61 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 62 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 63 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 64 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 65 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 66 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 67 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 68 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 69 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 70 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 71 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 72 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 73 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 74 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 75 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 76 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 77 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 78 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 79 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 80 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 81 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 82 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 83 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 84 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 85 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 86 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 87 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 88 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 89 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 90 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 91 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 92 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 93 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 94 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 95 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 96 => function ($stackPos) { + $this->semValue = new Name(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 97 => function ($stackPos) { + $this->semValue = new Expr\Variable(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 98 => function ($stackPos) { + /* nothing */ + }, + 99 => function ($stackPos) { + /* nothing */ + }, + 100 => function ($stackPos) { + /* nothing */ + }, + 101 => function ($stackPos) { + $this->emitError(new Error('A trailing comma is not allowed here', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 102 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 103 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 104 => function ($stackPos) { + $this->semValue = new Node\Attribute($this->semStack[$stackPos-(1-1)], [], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 105 => function ($stackPos) { + $this->semValue = new Node\Attribute($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 106 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 107 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 108 => function ($stackPos) { + $this->semValue = new Node\AttributeGroup($this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 109 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 110 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 111 => function ($stackPos) { + $this->semValue = []; + }, + 112 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 113 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 114 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 115 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 116 => function ($stackPos) { + $this->semValue = new Stmt\HaltCompiler($this->lexer->handleHaltCompiler(), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 117 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(3-2)], null, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_SEMICOLON); + $this->checkNamespace($this->semValue); + }, + 118 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, + 119 => function ($stackPos) { + $this->semValue = new Stmt\Namespace_(null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + $this->semValue->setAttribute('kind', Stmt\Namespace_::KIND_BRACED); + $this->checkNamespace($this->semValue); + }, + 120 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(3-2)], Stmt\Use_::TYPE_NORMAL, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 121 => function ($stackPos) { + $this->semValue = new Stmt\Use_($this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 122 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 123 => function ($stackPos) { + $this->semValue = new Stmt\Const_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 124 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_FUNCTION; + }, + 125 => function ($stackPos) { + $this->semValue = Stmt\Use_::TYPE_CONSTANT; + }, + 126 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->semStack[$stackPos-(7-2)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 127 => function ($stackPos) { + $this->semValue = new Stmt\GroupUse($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-5)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 128 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 129 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 130 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 131 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 132 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 133 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 134 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 135 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 136 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 137 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + }, + 138 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + }, + 139 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(1-1)], null, Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(1-1)); + }, + 140 => function ($stackPos) { + $this->semValue = new Stmt\UseUse($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], Stmt\Use_::TYPE_UNKNOWN, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->checkUseUse($this->semValue, $stackPos-(3-3)); + }, + 141 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; $this->semValue->type = Stmt\Use_::TYPE_NORMAL; + }, + 142 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; $this->semValue->type = $this->semStack[$stackPos-(2-1)]; + }, + 143 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 144 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 145 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 146 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 147 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 148 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 149 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 150 => function ($stackPos) { + $this->semValue = new Node\Const_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 151 => function ($stackPos) { + if (is_array($this->semStack[$stackPos-(2-2)])) { $this->semValue = array_merge($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); } else { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; }; + }, + 152 => function ($stackPos) { + $this->semValue = array(); + }, + 153 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 154 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 155 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 156 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 157 => function ($stackPos) { + throw new Error('__HALT_COMPILER() can only be used from the outermost scope', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 158 => function ($stackPos) { + + if ($this->semStack[$stackPos-(3-2)]) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; $attrs = $this->startAttributeStack[$stackPos-(3-1)]; $stmts = $this->semValue; if (!empty($attrs['comments'])) {$stmts[0]->setAttribute('comments', array_merge($attrs['comments'], $stmts[0]->getAttribute('comments', []))); }; + } else { + $startAttributes = $this->startAttributeStack[$stackPos-(3-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; + if (null === $this->semValue) { $this->semValue = array(); } + } + + }, + 159 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos-(7-3)], ['stmts' => is_array($this->semStack[$stackPos-(7-5)]) ? $this->semStack[$stackPos-(7-5)] : array($this->semStack[$stackPos-(7-5)]), 'elseifs' => $this->semStack[$stackPos-(7-6)], 'else' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 160 => function ($stackPos) { + $this->semValue = new Stmt\If_($this->semStack[$stackPos-(10-3)], ['stmts' => $this->semStack[$stackPos-(10-6)], 'elseifs' => $this->semStack[$stackPos-(10-7)], 'else' => $this->semStack[$stackPos-(10-8)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 161 => function ($stackPos) { + $this->semValue = new Stmt\While_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 162 => function ($stackPos) { + $this->semValue = new Stmt\Do_($this->semStack[$stackPos-(7-5)], is_array($this->semStack[$stackPos-(7-2)]) ? $this->semStack[$stackPos-(7-2)] : array($this->semStack[$stackPos-(7-2)]), $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 163 => function ($stackPos) { + $this->semValue = new Stmt\For_(['init' => $this->semStack[$stackPos-(9-3)], 'cond' => $this->semStack[$stackPos-(9-5)], 'loop' => $this->semStack[$stackPos-(9-7)], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 164 => function ($stackPos) { + $this->semValue = new Stmt\Switch_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 165 => function ($stackPos) { + $this->semValue = new Stmt\Break_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 166 => function ($stackPos) { + $this->semValue = new Stmt\Continue_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 167 => function ($stackPos) { + $this->semValue = new Stmt\Return_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 168 => function ($stackPos) { + $this->semValue = new Stmt\Global_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 169 => function ($stackPos) { + $this->semValue = new Stmt\Static_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 170 => function ($stackPos) { + $this->semValue = new Stmt\Echo_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 171 => function ($stackPos) { + $this->semValue = new Stmt\InlineHTML($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 172 => function ($stackPos) { + + $e = $this->semStack[$stackPos-(2-1)]; + if ($e instanceof Expr\Throw_) { + // For backwards-compatibility reasons, convert throw in statement position into + // Stmt\Throw_ rather than Stmt\Expression(Expr\Throw_). + $this->semValue = new Stmt\Throw_($e->expr, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + } else { + $this->semValue = new Stmt\Expression($e, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + } + + }, + 173 => function ($stackPos) { + $this->semValue = new Stmt\Unset_($this->semStack[$stackPos-(5-3)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 174 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-5)][0], ['keyVar' => null, 'byRef' => $this->semStack[$stackPos-(7-5)][1], 'stmts' => $this->semStack[$stackPos-(7-7)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 175 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(9-3)], $this->semStack[$stackPos-(9-7)][0], ['keyVar' => $this->semStack[$stackPos-(9-5)], 'byRef' => $this->semStack[$stackPos-(9-7)][1], 'stmts' => $this->semStack[$stackPos-(9-9)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 176 => function ($stackPos) { + $this->semValue = new Stmt\Foreach_($this->semStack[$stackPos-(6-3)], new Expr\Error($this->startAttributeStack[$stackPos-(6-4)] + $this->endAttributeStack[$stackPos-(6-4)]), ['stmts' => $this->semStack[$stackPos-(6-6)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 177 => function ($stackPos) { + $this->semValue = new Stmt\Declare_($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 178 => function ($stackPos) { + $this->semValue = new Stmt\TryCatch($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-5)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->checkTryCatch($this->semValue); + }, + 179 => function ($stackPos) { + $this->semValue = new Stmt\Goto_($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 180 => function ($stackPos) { + $this->semValue = new Stmt\Label($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 181 => function ($stackPos) { + $this->semValue = array(); /* means: no statement */ + }, + 182 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 183 => function ($stackPos) { + $startAttributes = $this->startAttributeStack[$stackPos-(1-1)]; if (isset($startAttributes['comments'])) { $this->semValue = new Stmt\Nop($startAttributes + $this->endAttributes); } else { $this->semValue = null; }; + if ($this->semValue === null) $this->semValue = array(); /* means: no statement */ + }, + 184 => function ($stackPos) { + $this->semValue = array(); + }, + 185 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 186 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 187 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 188 => function ($stackPos) { + $this->semValue = new Stmt\Catch_($this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-7)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 189 => function ($stackPos) { + $this->semValue = null; + }, + 190 => function ($stackPos) { + $this->semValue = new Stmt\Finally_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 191 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 192 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 193 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 194 => function ($stackPos) { + $this->semValue = false; + }, + 195 => function ($stackPos) { + $this->semValue = true; + }, + 196 => function ($stackPos) { + $this->semValue = false; + }, + 197 => function ($stackPos) { + $this->semValue = true; + }, + 198 => function ($stackPos) { + $this->semValue = false; + }, + 199 => function ($stackPos) { + $this->semValue = true; + }, + 200 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 201 => function ($stackPos) { + $this->semValue = []; + }, + 202 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 203 => function ($stackPos) { + $this->semValue = new Node\Identifier($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 204 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(8-3)], ['byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-5)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 205 => function ($stackPos) { + $this->semValue = new Stmt\Function_($this->semStack[$stackPos-(9-4)], ['byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-6)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 206 => function ($stackPos) { + $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(7-2)], ['type' => $this->semStack[$stackPos-(7-1)], 'extends' => $this->semStack[$stackPos-(7-3)], 'implements' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->checkClass($this->semValue, $stackPos-(7-2)); + }, + 207 => function ($stackPos) { + $this->semValue = new Stmt\Class_($this->semStack[$stackPos-(8-3)], ['type' => $this->semStack[$stackPos-(8-2)], 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->checkClass($this->semValue, $stackPos-(8-3)); + }, + 208 => function ($stackPos) { + $this->semValue = new Stmt\Interface_($this->semStack[$stackPos-(7-3)], ['extends' => $this->semStack[$stackPos-(7-4)], 'stmts' => $this->semStack[$stackPos-(7-6)], 'attrGroups' => $this->semStack[$stackPos-(7-1)]], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + $this->checkInterface($this->semValue, $stackPos-(7-3)); + }, + 209 => function ($stackPos) { + $this->semValue = new Stmt\Trait_($this->semStack[$stackPos-(6-3)], ['stmts' => $this->semStack[$stackPos-(6-5)], 'attrGroups' => $this->semStack[$stackPos-(6-1)]], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 210 => function ($stackPos) { + $this->semValue = new Stmt\Enum_($this->semStack[$stackPos-(8-3)], ['scalarType' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + $this->checkEnum($this->semValue, $stackPos-(8-3)); + }, + 211 => function ($stackPos) { + $this->semValue = null; + }, + 212 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 213 => function ($stackPos) { + $this->semValue = null; + }, + 214 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 215 => function ($stackPos) { + $this->semValue = 0; + }, + 216 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 217 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 218 => function ($stackPos) { + $this->checkClassModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 219 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, + 220 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, + 221 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_READONLY; + }, + 222 => function ($stackPos) { + $this->semValue = null; + }, + 223 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 224 => function ($stackPos) { + $this->semValue = array(); + }, + 225 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 226 => function ($stackPos) { + $this->semValue = array(); + }, + 227 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 228 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 229 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 230 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 231 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 232 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 233 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 234 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 235 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 236 => function ($stackPos) { + $this->semValue = null; + }, + 237 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 238 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 239 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 240 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 241 => function ($stackPos) { + $this->semValue = new Stmt\DeclareDeclare($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 242 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 243 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 244 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 245 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(5-3)]; + }, + 246 => function ($stackPos) { + $this->semValue = array(); + }, + 247 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 248 => function ($stackPos) { + $this->semValue = new Stmt\Case_($this->semStack[$stackPos-(4-2)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 249 => function ($stackPos) { + $this->semValue = new Stmt\Case_(null, $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 250 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 251 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 252 => function ($stackPos) { + $this->semValue = new Expr\Match_($this->semStack[$stackPos-(7-3)], $this->semStack[$stackPos-(7-6)], $this->startAttributeStack[$stackPos-(7-1)] + $this->endAttributes); + }, + 253 => function ($stackPos) { + $this->semValue = []; + }, + 254 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 255 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 256 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 257 => function ($stackPos) { + $this->semValue = new Node\MatchArm($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 258 => function ($stackPos) { + $this->semValue = new Node\MatchArm(null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 259 => function ($stackPos) { + $this->semValue = is_array($this->semStack[$stackPos-(1-1)]) ? $this->semStack[$stackPos-(1-1)] : array($this->semStack[$stackPos-(1-1)]); + }, + 260 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 261 => function ($stackPos) { + $this->semValue = array(); + }, + 262 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 263 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(5-3)], is_array($this->semStack[$stackPos-(5-5)]) ? $this->semStack[$stackPos-(5-5)] : array($this->semStack[$stackPos-(5-5)]), $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 264 => function ($stackPos) { + $this->semValue = array(); + }, + 265 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 266 => function ($stackPos) { + $this->semValue = new Stmt\ElseIf_($this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-6)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 267 => function ($stackPos) { + $this->semValue = null; + }, + 268 => function ($stackPos) { + $this->semValue = new Stmt\Else_(is_array($this->semStack[$stackPos-(2-2)]) ? $this->semStack[$stackPos-(2-2)] : array($this->semStack[$stackPos-(2-2)]), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 269 => function ($stackPos) { + $this->semValue = null; + }, + 270 => function ($stackPos) { + $this->semValue = new Stmt\Else_($this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->fixupAlternativeElse($this->semValue); + }, + 271 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 272 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-2)], true); + }, + 273 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 274 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)], false); + }, + 275 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 276 => function ($stackPos) { + $this->semValue = array(); + }, + 277 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 278 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 279 => function ($stackPos) { + $this->semValue = 0; + }, + 280 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 281 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, + 282 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, + 283 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, + 284 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_READONLY; + }, + 285 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos-(6-6)], null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); + $this->checkParam($this->semValue); + }, + 286 => function ($stackPos) { + $this->semValue = new Node\Param($this->semStack[$stackPos-(8-6)], $this->semStack[$stackPos-(8-8)], $this->semStack[$stackPos-(8-3)], $this->semStack[$stackPos-(8-4)], $this->semStack[$stackPos-(8-5)], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes, $this->semStack[$stackPos-(8-2)], $this->semStack[$stackPos-(8-1)]); + $this->checkParam($this->semValue); + }, + 287 => function ($stackPos) { + $this->semValue = new Node\Param(new Expr\Error($this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes), null, $this->semStack[$stackPos-(6-3)], $this->semStack[$stackPos-(6-4)], $this->semStack[$stackPos-(6-5)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes, $this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-1)]); + }, + 288 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 289 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 290 => function ($stackPos) { + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 291 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 292 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 293 => function ($stackPos) { + $this->semValue = new Node\Name('static', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 294 => function ($stackPos) { + $this->semValue = $this->handleBuiltinTypes($this->semStack[$stackPos-(1-1)]); + }, + 295 => function ($stackPos) { + $this->semValue = new Node\Identifier('array', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 296 => function ($stackPos) { + $this->semValue = new Node\Identifier('callable', $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 297 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 298 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 299 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 300 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 301 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 302 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 303 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 304 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 305 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 306 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 307 => function ($stackPos) { + $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 308 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 309 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 310 => function ($stackPos) { + $this->semValue = new Node\IntersectionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 311 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 312 => function ($stackPos) { + $this->semValue = new Node\NullableType($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 313 => function ($stackPos) { + $this->semValue = new Node\UnionType($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 314 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 315 => function ($stackPos) { + $this->semValue = null; + }, + 316 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 317 => function ($stackPos) { + $this->semValue = null; + }, + 318 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-2)]; + }, + 319 => function ($stackPos) { + $this->semValue = null; + }, + 320 => function ($stackPos) { + $this->semValue = array(); + }, + 321 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-2)]; + }, + 322 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-2)]); + }, + 323 => function ($stackPos) { + $this->semValue = new Node\VariadicPlaceholder($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 324 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 325 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 326 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(1-1)], false, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 327 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], true, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 328 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(2-2)], false, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 329 => function ($stackPos) { + $this->semValue = new Node\Arg($this->semStack[$stackPos-(3-3)], false, false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->semStack[$stackPos-(3-1)]); + }, + 330 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 331 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 332 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 333 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 334 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 335 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 336 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 337 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 338 => function ($stackPos) { + $this->semValue = new Stmt\StaticVar($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 339 => function ($stackPos) { + if ($this->semStack[$stackPos-(2-2)] !== null) { $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; } + }, + 340 => function ($stackPos) { + $this->semValue = array(); + }, + 341 => function ($stackPos) { + $startAttributes = $this->lookaheadStartAttributes; if (isset($startAttributes['comments'])) { $nop = new Stmt\Nop($this->createCommentNopAttributes($startAttributes['comments'])); } else { $nop = null; }; + if ($nop !== null) { $this->semStack[$stackPos-(1-1)][] = $nop; } $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 342 => function ($stackPos) { + $this->semValue = new Stmt\Property($this->semStack[$stackPos-(5-2)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-1)]); + $this->checkProperty($this->semValue, $stackPos-(5-2)); + }, + 343 => function ($stackPos) { + $this->semValue = new Stmt\ClassConst($this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-2)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes, $this->semStack[$stackPos-(5-1)]); + $this->checkClassConst($this->semValue, $stackPos-(5-2)); + }, + 344 => function ($stackPos) { + $this->semValue = new Stmt\ClassMethod($this->semStack[$stackPos-(10-5)], ['type' => $this->semStack[$stackPos-(10-2)], 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-7)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + $this->checkClassMethod($this->semValue, $stackPos-(10-2)); + }, + 345 => function ($stackPos) { + $this->semValue = new Stmt\TraitUse($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 346 => function ($stackPos) { + $this->semValue = new Stmt\EnumCase($this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->semStack[$stackPos-(5-1)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 347 => function ($stackPos) { + $this->semValue = null; /* will be skipped */ + }, + 348 => function ($stackPos) { + $this->semValue = array(); + }, + 349 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 350 => function ($stackPos) { + $this->semValue = array(); + }, + 351 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 352 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Precedence($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 353 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(5-1)][0], $this->semStack[$stackPos-(5-1)][1], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-4)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 354 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], $this->semStack[$stackPos-(4-3)], null, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 355 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 356 => function ($stackPos) { + $this->semValue = new Stmt\TraitUseAdaptation\Alias($this->semStack[$stackPos-(4-1)][0], $this->semStack[$stackPos-(4-1)][1], null, $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 357 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)]); + }, + 358 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 359 => function ($stackPos) { + $this->semValue = array(null, $this->semStack[$stackPos-(1-1)]); + }, + 360 => function ($stackPos) { + $this->semValue = null; + }, + 361 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 362 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 363 => function ($stackPos) { + $this->semValue = 0; + }, + 364 => function ($stackPos) { + $this->semValue = 0; + }, + 365 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 366 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 367 => function ($stackPos) { + $this->checkModifier($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $stackPos-(2-2)); $this->semValue = $this->semStack[$stackPos-(2-1)] | $this->semStack[$stackPos-(2-2)]; + }, + 368 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PUBLIC; + }, + 369 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PROTECTED; + }, + 370 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_PRIVATE; + }, + 371 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_STATIC; + }, + 372 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_ABSTRACT; + }, + 373 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_FINAL; + }, + 374 => function ($stackPos) { + $this->semValue = Stmt\Class_::MODIFIER_READONLY; + }, + 375 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 376 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 377 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 378 => function ($stackPos) { + $this->semValue = new Node\VarLikeIdentifier(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 379 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(1-1)], null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 380 => function ($stackPos) { + $this->semValue = new Stmt\PropertyProperty($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 381 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 382 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 383 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 384 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 385 => function ($stackPos) { + $this->semValue = array(); + }, + 386 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 387 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 388 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 389 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 390 => function ($stackPos) { + $this->semValue = new Expr\Assign($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 391 => function ($stackPos) { + $this->semValue = new Expr\AssignRef($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 392 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 393 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 394 => function ($stackPos) { + $this->semValue = new Expr\Clone_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 395 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 396 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 397 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 398 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 399 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 400 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 401 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 402 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 403 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 404 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 405 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 406 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 407 => function ($stackPos) { + $this->semValue = new Expr\AssignOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 408 => function ($stackPos) { + $this->semValue = new Expr\PostInc($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 409 => function ($stackPos) { + $this->semValue = new Expr\PreInc($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 410 => function ($stackPos) { + $this->semValue = new Expr\PostDec($this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 411 => function ($stackPos) { + $this->semValue = new Expr\PreDec($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 412 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 413 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BooleanAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 414 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 415 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 416 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\LogicalXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 417 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseOr($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 418 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 419 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseAnd($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 420 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\BitwiseXor($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 421 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Concat($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 422 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Plus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 423 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Minus($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 424 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mul($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 425 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Div($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 426 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Mod($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 427 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftLeft($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 428 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\ShiftRight($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 429 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Pow($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 430 => function ($stackPos) { + $this->semValue = new Expr\UnaryPlus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 431 => function ($stackPos) { + $this->semValue = new Expr\UnaryMinus($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 432 => function ($stackPos) { + $this->semValue = new Expr\BooleanNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 433 => function ($stackPos) { + $this->semValue = new Expr\BitwiseNot($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 434 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Identical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 435 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotIdentical($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 436 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Equal($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 437 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\NotEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 438 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Spaceship($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 439 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Smaller($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 440 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\SmallerOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 441 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Greater($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 442 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\GreaterOrEqual($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 443 => function ($stackPos) { + $this->semValue = new Expr\Instanceof_($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 444 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 445 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(5-1)], $this->semStack[$stackPos-(5-3)], $this->semStack[$stackPos-(5-5)], $this->startAttributeStack[$stackPos-(5-1)] + $this->endAttributes); + }, + 446 => function ($stackPos) { + $this->semValue = new Expr\Ternary($this->semStack[$stackPos-(4-1)], null, $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 447 => function ($stackPos) { + $this->semValue = new Expr\BinaryOp\Coalesce($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 448 => function ($stackPos) { + $this->semValue = new Expr\Isset_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 449 => function ($stackPos) { + $this->semValue = new Expr\Empty_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 450 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 451 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_INCLUDE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 452 => function ($stackPos) { + $this->semValue = new Expr\Eval_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 453 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 454 => function ($stackPos) { + $this->semValue = new Expr\Include_($this->semStack[$stackPos-(2-2)], Expr\Include_::TYPE_REQUIRE_ONCE, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 455 => function ($stackPos) { + $this->semValue = new Expr\Cast\Int_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 456 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; + $attrs['kind'] = $this->getFloatCastKind($this->semStack[$stackPos-(2-1)]); + $this->semValue = new Expr\Cast\Double($this->semStack[$stackPos-(2-2)], $attrs); + }, + 457 => function ($stackPos) { + $this->semValue = new Expr\Cast\String_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 458 => function ($stackPos) { + $this->semValue = new Expr\Cast\Array_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 459 => function ($stackPos) { + $this->semValue = new Expr\Cast\Object_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 460 => function ($stackPos) { + $this->semValue = new Expr\Cast\Bool_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 461 => function ($stackPos) { + $this->semValue = new Expr\Cast\Unset_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 462 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes; + $attrs['kind'] = strtolower($this->semStack[$stackPos-(2-1)]) === 'exit' ? Expr\Exit_::KIND_EXIT : Expr\Exit_::KIND_DIE; + $this->semValue = new Expr\Exit_($this->semStack[$stackPos-(2-2)], $attrs); + }, + 463 => function ($stackPos) { + $this->semValue = new Expr\ErrorSuppress($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 464 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 465 => function ($stackPos) { + $this->semValue = new Expr\ShellExec($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 466 => function ($stackPos) { + $this->semValue = new Expr\Print_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 467 => function ($stackPos) { + $this->semValue = new Expr\Yield_(null, null, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 468 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(2-2)], null, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 469 => function ($stackPos) { + $this->semValue = new Expr\Yield_($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-2)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 470 => function ($stackPos) { + $this->semValue = new Expr\YieldFrom($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 471 => function ($stackPos) { + $this->semValue = new Expr\Throw_($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 472 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'returnType' => $this->semStack[$stackPos-(8-6)], 'expr' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 473 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 474 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(8-2)], 'params' => $this->semStack[$stackPos-(8-4)], 'uses' => $this->semStack[$stackPos-(8-6)], 'returnType' => $this->semStack[$stackPos-(8-7)], 'stmts' => $this->semStack[$stackPos-(8-8)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes); + }, + 475 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => []], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 476 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'returnType' => $this->semStack[$stackPos-(9-7)], 'expr' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 477 => function ($stackPos) { + $this->semValue = new Expr\ArrowFunction(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'returnType' => $this->semStack[$stackPos-(10-8)], 'expr' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 478 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => false, 'byRef' => $this->semStack[$stackPos-(9-3)], 'params' => $this->semStack[$stackPos-(9-5)], 'uses' => $this->semStack[$stackPos-(9-7)], 'returnType' => $this->semStack[$stackPos-(9-8)], 'stmts' => $this->semStack[$stackPos-(9-9)], 'attrGroups' => $this->semStack[$stackPos-(9-1)]], $this->startAttributeStack[$stackPos-(9-1)] + $this->endAttributes); + }, + 479 => function ($stackPos) { + $this->semValue = new Expr\Closure(['static' => true, 'byRef' => $this->semStack[$stackPos-(10-4)], 'params' => $this->semStack[$stackPos-(10-6)], 'uses' => $this->semStack[$stackPos-(10-8)], 'returnType' => $this->semStack[$stackPos-(10-9)], 'stmts' => $this->semStack[$stackPos-(10-10)], 'attrGroups' => $this->semStack[$stackPos-(10-1)]], $this->startAttributeStack[$stackPos-(10-1)] + $this->endAttributes); + }, + 480 => function ($stackPos) { + $this->semValue = array(new Stmt\Class_(null, ['type' => 0, 'extends' => $this->semStack[$stackPos-(8-4)], 'implements' => $this->semStack[$stackPos-(8-5)], 'stmts' => $this->semStack[$stackPos-(8-7)], 'attrGroups' => $this->semStack[$stackPos-(8-1)]], $this->startAttributeStack[$stackPos-(8-1)] + $this->endAttributes), $this->semStack[$stackPos-(8-3)]); + $this->checkClass($this->semValue[0], -1); + }, + 481 => function ($stackPos) { + $this->semValue = new Expr\New_($this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 482 => function ($stackPos) { + list($class, $ctorArgs) = $this->semStack[$stackPos-(2-2)]; $this->semValue = new Expr\New_($class, $ctorArgs, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 483 => function ($stackPos) { + $this->semValue = array(); + }, + 484 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(4-3)]; + }, + 485 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 486 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 487 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 488 => function ($stackPos) { + $this->semValue = new Expr\ClosureUse($this->semStack[$stackPos-(2-2)], $this->semStack[$stackPos-(2-1)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 489 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 490 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 491 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 492 => function ($stackPos) { + $this->semValue = new Expr\FuncCall($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 493 => function ($stackPos) { + $this->semValue = new Expr\StaticCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 494 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 495 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 496 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 497 => function ($stackPos) { + $this->semValue = new Name($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 498 => function ($stackPos) { + $this->semValue = new Name\FullyQualified(substr($this->semStack[$stackPos-(1-1)], 1), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 499 => function ($stackPos) { + $this->semValue = new Name\Relative(substr($this->semStack[$stackPos-(1-1)], 10), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 500 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 501 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 502 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 503 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 504 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 505 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 506 => function ($stackPos) { + $this->semValue = null; + }, + 507 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 508 => function ($stackPos) { + $this->semValue = array(); + }, + 509 => function ($stackPos) { + $this->semValue = array(new Scalar\EncapsedStringPart(Scalar\String_::parseEscapeSequences($this->semStack[$stackPos-(1-1)], '`'), $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes)); + }, + 510 => function ($stackPos) { + foreach ($this->semStack[$stackPos-(1-1)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '`', true); } }; $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 511 => function ($stackPos) { + $this->semValue = array(); + }, + 512 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 513 => function ($stackPos) { + $this->semValue = new Expr\ConstFetch($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 514 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Line($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 515 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\File($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 516 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Dir($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 517 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Class_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 518 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Trait_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 519 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Method($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 520 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Function_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 521 => function ($stackPos) { + $this->semValue = new Scalar\MagicConst\Namespace_($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 522 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 523 => function ($stackPos) { + $this->semValue = new Expr\ClassConstFetch($this->semStack[$stackPos-(3-1)], new Expr\Error($this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)]), $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); $this->errorState = 2; + }, + 524 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_SHORT; + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(3-2)], $attrs); + }, + 525 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes; $attrs['kind'] = Expr\Array_::KIND_LONG; + $this->semValue = new Expr\Array_($this->semStack[$stackPos-(4-3)], $attrs); + }, + 526 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 527 => function ($stackPos) { + $this->semValue = Scalar\String_::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 528 => function ($stackPos) { + $attrs = $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes; $attrs['kind'] = Scalar\String_::KIND_DOUBLE_QUOTED; + foreach ($this->semStack[$stackPos-(3-2)] as $s) { if ($s instanceof Node\Scalar\EncapsedStringPart) { $s->value = Node\Scalar\String_::parseEscapeSequences($s->value, '"', true); } }; $this->semValue = new Scalar\Encapsed($this->semStack[$stackPos-(3-2)], $attrs); + }, + 529 => function ($stackPos) { + $this->semValue = $this->parseLNumber($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 530 => function ($stackPos) { + $this->semValue = Scalar\DNumber::fromString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 531 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 532 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 533 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 534 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); + }, + 535 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(2-1)], '', $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(2-2)] + $this->endAttributeStack[$stackPos-(2-2)], true); + }, + 536 => function ($stackPos) { + $this->semValue = $this->parseDocString($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-2)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes, $this->startAttributeStack[$stackPos-(3-3)] + $this->endAttributeStack[$stackPos-(3-3)], true); + }, + 537 => function ($stackPos) { + $this->semValue = null; + }, + 538 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 539 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 540 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 541 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 542 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 543 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 544 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 545 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 546 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 547 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 548 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 549 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 550 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 551 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 552 => function ($stackPos) { + $this->semValue = new Expr\MethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 553 => function ($stackPos) { + $this->semValue = new Expr\NullsafeMethodCall($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->semStack[$stackPos-(4-4)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 554 => function ($stackPos) { + $this->semValue = null; + }, + 555 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 556 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 557 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 558 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 559 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 560 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 561 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 562 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 563 => function ($stackPos) { + $this->semValue = new Expr\Variable(new Expr\Error($this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes), $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); $this->errorState = 2; + }, + 564 => function ($stackPos) { + $var = $this->semStack[$stackPos-(1-1)]->name; $this->semValue = \is_string($var) ? new Node\VarLikeIdentifier($var, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes) : $var; + }, + 565 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 566 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 567 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 568 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 569 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 570 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 571 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 572 => function ($stackPos) { + $this->semValue = new Expr\StaticPropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 573 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 574 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 575 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 576 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 577 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 578 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 579 => function ($stackPos) { + $this->semValue = new Expr\Error($this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); $this->errorState = 2; + }, + 580 => function ($stackPos) { + $this->semValue = new Expr\List_($this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 581 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; $end = count($this->semValue)-1; if ($this->semValue[$end] === null) array_pop($this->semValue); + }, + 582 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos]; + }, + 583 => function ($stackPos) { + /* do nothing -- prevent default action of $$=$this->semStack[$1]. See $551. */ + }, + 584 => function ($stackPos) { + $this->semStack[$stackPos-(3-1)][] = $this->semStack[$stackPos-(3-3)]; $this->semValue = $this->semStack[$stackPos-(3-1)]; + }, + 585 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 586 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 587 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 588 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(1-1)], null, false, $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 589 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 590 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(4-4)], $this->semStack[$stackPos-(4-1)], true, $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 591 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(3-3)], $this->semStack[$stackPos-(3-1)], false, $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 592 => function ($stackPos) { + $this->semValue = new Expr\ArrayItem($this->semStack[$stackPos-(2-2)], null, false, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes, true, $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 593 => function ($stackPos) { + $this->semValue = null; + }, + 594 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 595 => function ($stackPos) { + $this->semStack[$stackPos-(2-1)][] = $this->semStack[$stackPos-(2-2)]; $this->semValue = $this->semStack[$stackPos-(2-1)]; + }, + 596 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(1-1)]); + }, + 597 => function ($stackPos) { + $this->semValue = array($this->semStack[$stackPos-(2-1)], $this->semStack[$stackPos-(2-2)]); + }, + 598 => function ($stackPos) { + $this->semValue = new Scalar\EncapsedStringPart($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 599 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 600 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + 601 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(4-1)], $this->semStack[$stackPos-(4-3)], $this->startAttributeStack[$stackPos-(4-1)] + $this->endAttributes); + }, + 602 => function ($stackPos) { + $this->semValue = new Expr\PropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 603 => function ($stackPos) { + $this->semValue = new Expr\NullsafePropertyFetch($this->semStack[$stackPos-(3-1)], $this->semStack[$stackPos-(3-3)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 604 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 605 => function ($stackPos) { + $this->semValue = new Expr\Variable($this->semStack[$stackPos-(3-2)], $this->startAttributeStack[$stackPos-(3-1)] + $this->endAttributes); + }, + 606 => function ($stackPos) { + $this->semValue = new Expr\ArrayDimFetch($this->semStack[$stackPos-(6-2)], $this->semStack[$stackPos-(6-4)], $this->startAttributeStack[$stackPos-(6-1)] + $this->endAttributes); + }, + 607 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(3-2)]; + }, + 608 => function ($stackPos) { + $this->semValue = new Scalar\String_($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 609 => function ($stackPos) { + $this->semValue = $this->parseNumString($this->semStack[$stackPos-(1-1)], $this->startAttributeStack[$stackPos-(1-1)] + $this->endAttributes); + }, + 610 => function ($stackPos) { + $this->semValue = $this->parseNumString('-' . $this->semStack[$stackPos-(2-2)], $this->startAttributeStack[$stackPos-(2-1)] + $this->endAttributes); + }, + 611 => function ($stackPos) { + $this->semValue = $this->semStack[$stackPos-(1-1)]; + }, + ]; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php b/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php new file mode 100644 index 00000000..b76a5d94 --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/Parser/Tokens.php @@ -0,0 +1,148 @@ +lexer = $lexer; + + if (isset($options['throwOnError'])) { + throw new \LogicException( + '"throwOnError" is no longer supported, use "errorHandler" instead'); + } + + $this->initReduceCallbacks(); + } + + /** + * Parses PHP code into a node tree. + * + * If a non-throwing error handler is used, the parser will continue parsing after an error + * occurred and attempt to build a partial AST. + * + * @param string $code The source code to parse + * @param ErrorHandler|null $errorHandler Error handler to use for lexer/parser errors, defaults + * to ErrorHandler\Throwing. + * + * @return Node\Stmt[]|null Array of statements (or null non-throwing error handler is used and + * the parser was unable to recover from an error). + */ + public function parse(string $code, ErrorHandler $errorHandler = null) { + $this->errorHandler = $errorHandler ?: new ErrorHandler\Throwing; + + $this->lexer->startLexing($code, $this->errorHandler); + $result = $this->doParse(); + + // Clear out some of the interior state, so we don't hold onto unnecessary + // memory between uses of the parser + $this->startAttributeStack = []; + $this->endAttributeStack = []; + $this->semStack = []; + $this->semValue = null; + + return $result; + } + + protected function doParse() { + // We start off with no lookahead-token + $symbol = self::SYMBOL_NONE; + + // The attributes for a node are taken from the first and last token of the node. + // From the first token only the startAttributes are taken and from the last only + // the endAttributes. Both are merged using the array union operator (+). + $startAttributes = []; + $endAttributes = []; + $this->endAttributes = $endAttributes; + + // Keep stack of start and end attributes + $this->startAttributeStack = []; + $this->endAttributeStack = [$endAttributes]; + + // Start off in the initial state and keep a stack of previous states + $state = 0; + $stateStack = [$state]; + + // Semantic value stack (contains values of tokens and semantic action results) + $this->semStack = []; + + // Current position in the stack(s) + $stackPos = 0; + + $this->errorState = 0; + + for (;;) { + //$this->traceNewState($state, $symbol); + + if ($this->actionBase[$state] === 0) { + $rule = $this->actionDefault[$state]; + } else { + if ($symbol === self::SYMBOL_NONE) { + // Fetch the next token id from the lexer and fetch additional info by-ref. + // The end attributes are fetched into a temporary variable and only set once the token is really + // shifted (not during read). Otherwise you would sometimes get off-by-one errors, when a rule is + // reduced after a token was read but not yet shifted. + $tokenId = $this->lexer->getNextToken($tokenValue, $startAttributes, $endAttributes); + + // map the lexer token id to the internally used symbols + $symbol = $tokenId >= 0 && $tokenId < $this->tokenToSymbolMapSize + ? $this->tokenToSymbol[$tokenId] + : $this->invalidSymbol; + + if ($symbol === $this->invalidSymbol) { + throw new \RangeException(sprintf( + 'The lexer returned an invalid token (id=%d, value=%s)', + $tokenId, $tokenValue + )); + } + + // Allow productions to access the start attributes of the lookahead token. + $this->lookaheadStartAttributes = $startAttributes; + + //$this->traceRead($symbol); + } + + $idx = $this->actionBase[$state] + $symbol; + if ((($idx >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol) + || ($state < $this->YY2TBLSTATE + && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $symbol) >= 0 + && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol)) + && ($action = $this->action[$idx]) !== $this->defaultAction) { + /* + * >= numNonLeafStates: shift and reduce + * > 0: shift + * = 0: accept + * < 0: reduce + * = -YYUNEXPECTED: error + */ + if ($action > 0) { + /* shift */ + //$this->traceShift($symbol); + + ++$stackPos; + $stateStack[$stackPos] = $state = $action; + $this->semStack[$stackPos] = $tokenValue; + $this->startAttributeStack[$stackPos] = $startAttributes; + $this->endAttributeStack[$stackPos] = $endAttributes; + $this->endAttributes = $endAttributes; + $symbol = self::SYMBOL_NONE; + + if ($this->errorState) { + --$this->errorState; + } + + if ($action < $this->numNonLeafStates) { + continue; + } + + /* $yyn >= numNonLeafStates means shift-and-reduce */ + $rule = $action - $this->numNonLeafStates; + } else { + $rule = -$action; + } + } else { + $rule = $this->actionDefault[$state]; + } + } + + for (;;) { + if ($rule === 0) { + /* accept */ + //$this->traceAccept(); + return $this->semValue; + } elseif ($rule !== $this->unexpectedTokenRule) { + /* reduce */ + //$this->traceReduce($rule); + + try { + $this->reduceCallbacks[$rule]($stackPos); + } catch (Error $e) { + if (-1 === $e->getStartLine() && isset($startAttributes['startLine'])) { + $e->setStartLine($startAttributes['startLine']); + } + + $this->emitError($e); + // Can't recover from this type of error + return null; + } + + /* Goto - shift nonterminal */ + $lastEndAttributes = $this->endAttributeStack[$stackPos]; + $ruleLength = $this->ruleToLength[$rule]; + $stackPos -= $ruleLength; + $nonTerminal = $this->ruleToNonTerminal[$rule]; + $idx = $this->gotoBase[$nonTerminal] + $stateStack[$stackPos]; + if ($idx >= 0 && $idx < $this->gotoTableSize && $this->gotoCheck[$idx] === $nonTerminal) { + $state = $this->goto[$idx]; + } else { + $state = $this->gotoDefault[$nonTerminal]; + } + + ++$stackPos; + $stateStack[$stackPos] = $state; + $this->semStack[$stackPos] = $this->semValue; + $this->endAttributeStack[$stackPos] = $lastEndAttributes; + if ($ruleLength === 0) { + // Empty productions use the start attributes of the lookahead token. + $this->startAttributeStack[$stackPos] = $this->lookaheadStartAttributes; + } + } else { + /* error */ + switch ($this->errorState) { + case 0: + $msg = $this->getErrorMessage($symbol, $state); + $this->emitError(new Error($msg, $startAttributes + $endAttributes)); + // Break missing intentionally + case 1: + case 2: + $this->errorState = 3; + + // Pop until error-expecting state uncovered + while (!( + (($idx = $this->actionBase[$state] + $this->errorSymbol) >= 0 + && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $this->errorSymbol) + || ($state < $this->YY2TBLSTATE + && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $this->errorSymbol) >= 0 + && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $this->errorSymbol) + ) || ($action = $this->action[$idx]) === $this->defaultAction) { // Not totally sure about this + if ($stackPos <= 0) { + // Could not recover from error + return null; + } + $state = $stateStack[--$stackPos]; + //$this->tracePop($state); + } + + //$this->traceShift($this->errorSymbol); + ++$stackPos; + $stateStack[$stackPos] = $state = $action; + + // We treat the error symbol as being empty, so we reset the end attributes + // to the end attributes of the last non-error symbol + $this->startAttributeStack[$stackPos] = $this->lookaheadStartAttributes; + $this->endAttributeStack[$stackPos] = $this->endAttributeStack[$stackPos - 1]; + $this->endAttributes = $this->endAttributeStack[$stackPos - 1]; + break; + + case 3: + if ($symbol === 0) { + // Reached EOF without recovering from error + return null; + } + + //$this->traceDiscard($symbol); + $symbol = self::SYMBOL_NONE; + break 2; + } + } + + if ($state < $this->numNonLeafStates) { + break; + } + + /* >= numNonLeafStates means shift-and-reduce */ + $rule = $state - $this->numNonLeafStates; + } + } + + throw new \RuntimeException('Reached end of parser loop'); + } + + protected function emitError(Error $error) { + $this->errorHandler->handleError($error); + } + + /** + * Format error message including expected tokens. + * + * @param int $symbol Unexpected symbol + * @param int $state State at time of error + * + * @return string Formatted error message + */ + protected function getErrorMessage(int $symbol, int $state) : string { + $expectedString = ''; + if ($expected = $this->getExpectedTokens($state)) { + $expectedString = ', expecting ' . implode(' or ', $expected); + } + + return 'Syntax error, unexpected ' . $this->symbolToName[$symbol] . $expectedString; + } + + /** + * Get limited number of expected tokens in given state. + * + * @param int $state State + * + * @return string[] Expected tokens. If too many, an empty array is returned. + */ + protected function getExpectedTokens(int $state) : array { + $expected = []; + + $base = $this->actionBase[$state]; + foreach ($this->symbolToName as $symbol => $name) { + $idx = $base + $symbol; + if ($idx >= 0 && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol + || $state < $this->YY2TBLSTATE + && ($idx = $this->actionBase[$state + $this->numNonLeafStates] + $symbol) >= 0 + && $idx < $this->actionTableSize && $this->actionCheck[$idx] === $symbol + ) { + if ($this->action[$idx] !== $this->unexpectedTokenRule + && $this->action[$idx] !== $this->defaultAction + && $symbol !== $this->errorSymbol + ) { + if (count($expected) === 4) { + /* Too many expected tokens */ + return []; + } + + $expected[] = $name; + } + } + } + + return $expected; + } + + /* + * Tracing functions used for debugging the parser. + */ + + /* + protected function traceNewState($state, $symbol) { + echo '% State ' . $state + . ', Lookahead ' . ($symbol == self::SYMBOL_NONE ? '--none--' : $this->symbolToName[$symbol]) . "\n"; + } + + protected function traceRead($symbol) { + echo '% Reading ' . $this->symbolToName[$symbol] . "\n"; + } + + protected function traceShift($symbol) { + echo '% Shift ' . $this->symbolToName[$symbol] . "\n"; + } + + protected function traceAccept() { + echo "% Accepted.\n"; + } + + protected function traceReduce($n) { + echo '% Reduce by (' . $n . ') ' . $this->productions[$n] . "\n"; + } + + protected function tracePop($state) { + echo '% Recovering, uncovered state ' . $state . "\n"; + } + + protected function traceDiscard($symbol) { + echo '% Discard ' . $this->symbolToName[$symbol] . "\n"; + } + */ + + /* + * Helper functions invoked by semantic actions + */ + + /** + * Moves statements of semicolon-style namespaces into $ns->stmts and checks various error conditions. + * + * @param Node\Stmt[] $stmts + * @return Node\Stmt[] + */ + protected function handleNamespaces(array $stmts) : array { + $hasErrored = false; + $style = $this->getNamespacingStyle($stmts); + if (null === $style) { + // not namespaced, nothing to do + return $stmts; + } elseif ('brace' === $style) { + // For braced namespaces we only have to check that there are no invalid statements between the namespaces + $afterFirstNamespace = false; + foreach ($stmts as $stmt) { + if ($stmt instanceof Node\Stmt\Namespace_) { + $afterFirstNamespace = true; + } elseif (!$stmt instanceof Node\Stmt\HaltCompiler + && !$stmt instanceof Node\Stmt\Nop + && $afterFirstNamespace && !$hasErrored) { + $this->emitError(new Error( + 'No code may exist outside of namespace {}', $stmt->getAttributes())); + $hasErrored = true; // Avoid one error for every statement + } + } + return $stmts; + } else { + // For semicolon namespaces we have to move the statements after a namespace declaration into ->stmts + $resultStmts = []; + $targetStmts =& $resultStmts; + $lastNs = null; + foreach ($stmts as $stmt) { + if ($stmt instanceof Node\Stmt\Namespace_) { + if ($lastNs !== null) { + $this->fixupNamespaceAttributes($lastNs); + } + if ($stmt->stmts === null) { + $stmt->stmts = []; + $targetStmts =& $stmt->stmts; + $resultStmts[] = $stmt; + } else { + // This handles the invalid case of mixed style namespaces + $resultStmts[] = $stmt; + $targetStmts =& $resultStmts; + } + $lastNs = $stmt; + } elseif ($stmt instanceof Node\Stmt\HaltCompiler) { + // __halt_compiler() is not moved into the namespace + $resultStmts[] = $stmt; + } else { + $targetStmts[] = $stmt; + } + } + if ($lastNs !== null) { + $this->fixupNamespaceAttributes($lastNs); + } + return $resultStmts; + } + } + + private function fixupNamespaceAttributes(Node\Stmt\Namespace_ $stmt) { + // We moved the statements into the namespace node, as such the end of the namespace node + // needs to be extended to the end of the statements. + if (empty($stmt->stmts)) { + return; + } + + // We only move the builtin end attributes here. This is the best we can do with the + // knowledge we have. + $endAttributes = ['endLine', 'endFilePos', 'endTokenPos']; + $lastStmt = $stmt->stmts[count($stmt->stmts) - 1]; + foreach ($endAttributes as $endAttribute) { + if ($lastStmt->hasAttribute($endAttribute)) { + $stmt->setAttribute($endAttribute, $lastStmt->getAttribute($endAttribute)); + } + } + } + + /** + * Determine namespacing style (semicolon or brace) + * + * @param Node[] $stmts Top-level statements. + * + * @return null|string One of "semicolon", "brace" or null (no namespaces) + */ + private function getNamespacingStyle(array $stmts) { + $style = null; + $hasNotAllowedStmts = false; + foreach ($stmts as $i => $stmt) { + if ($stmt instanceof Node\Stmt\Namespace_) { + $currentStyle = null === $stmt->stmts ? 'semicolon' : 'brace'; + if (null === $style) { + $style = $currentStyle; + if ($hasNotAllowedStmts) { + $this->emitError(new Error( + 'Namespace declaration statement has to be the very first statement in the script', + $stmt->getLine() // Avoid marking the entire namespace as an error + )); + } + } elseif ($style !== $currentStyle) { + $this->emitError(new Error( + 'Cannot mix bracketed namespace declarations with unbracketed namespace declarations', + $stmt->getLine() // Avoid marking the entire namespace as an error + )); + // Treat like semicolon style for namespace normalization + return 'semicolon'; + } + continue; + } + + /* declare(), __halt_compiler() and nops can be used before a namespace declaration */ + if ($stmt instanceof Node\Stmt\Declare_ + || $stmt instanceof Node\Stmt\HaltCompiler + || $stmt instanceof Node\Stmt\Nop) { + continue; + } + + /* There may be a hashbang line at the very start of the file */ + if ($i === 0 && $stmt instanceof Node\Stmt\InlineHTML && preg_match('/\A#!.*\r?\n\z/', $stmt->value)) { + continue; + } + + /* Everything else if forbidden before namespace declarations */ + $hasNotAllowedStmts = true; + } + return $style; + } + + /** + * Fix up parsing of static property calls in PHP 5. + * + * In PHP 5 A::$b[c][d] and A::$b[c][d]() have very different interpretation. The former is + * interpreted as (A::$b)[c][d], while the latter is the same as A::{$b[c][d]}(). We parse the + * latter as the former initially and this method fixes the AST into the correct form when we + * encounter the "()". + * + * @param Node\Expr\StaticPropertyFetch|Node\Expr\ArrayDimFetch $prop + * @param Node\Arg[] $args + * @param array $attributes + * + * @return Expr\StaticCall + */ + protected function fixupPhp5StaticPropCall($prop, array $args, array $attributes) : Expr\StaticCall { + if ($prop instanceof Node\Expr\StaticPropertyFetch) { + $name = $prop->name instanceof VarLikeIdentifier + ? $prop->name->toString() : $prop->name; + $var = new Expr\Variable($name, $prop->name->getAttributes()); + return new Expr\StaticCall($prop->class, $var, $args, $attributes); + } elseif ($prop instanceof Node\Expr\ArrayDimFetch) { + $tmp = $prop; + while ($tmp->var instanceof Node\Expr\ArrayDimFetch) { + $tmp = $tmp->var; + } + + /** @var Expr\StaticPropertyFetch $staticProp */ + $staticProp = $tmp->var; + + // Set start attributes to attributes of innermost node + $tmp = $prop; + $this->fixupStartAttributes($tmp, $staticProp->name); + while ($tmp->var instanceof Node\Expr\ArrayDimFetch) { + $tmp = $tmp->var; + $this->fixupStartAttributes($tmp, $staticProp->name); + } + + $name = $staticProp->name instanceof VarLikeIdentifier + ? $staticProp->name->toString() : $staticProp->name; + $tmp->var = new Expr\Variable($name, $staticProp->name->getAttributes()); + return new Expr\StaticCall($staticProp->class, $prop, $args, $attributes); + } else { + throw new \Exception; + } + } + + protected function fixupStartAttributes(Node $to, Node $from) { + $startAttributes = ['startLine', 'startFilePos', 'startTokenPos']; + foreach ($startAttributes as $startAttribute) { + if ($from->hasAttribute($startAttribute)) { + $to->setAttribute($startAttribute, $from->getAttribute($startAttribute)); + } + } + } + + protected function handleBuiltinTypes(Name $name) { + $builtinTypes = [ + 'bool' => true, + 'int' => true, + 'float' => true, + 'string' => true, + 'iterable' => true, + 'void' => true, + 'object' => true, + 'null' => true, + 'false' => true, + 'mixed' => true, + 'never' => true, + 'true' => true, + ]; + + if (!$name->isUnqualified()) { + return $name; + } + + $lowerName = $name->toLowerString(); + if (!isset($builtinTypes[$lowerName])) { + return $name; + } + + return new Node\Identifier($lowerName, $name->getAttributes()); + } + + /** + * Get combined start and end attributes at a stack location + * + * @param int $pos Stack location + * + * @return array Combined start and end attributes + */ + protected function getAttributesAt(int $pos) : array { + return $this->startAttributeStack[$pos] + $this->endAttributeStack[$pos]; + } + + protected function getFloatCastKind(string $cast): int + { + $cast = strtolower($cast); + if (strpos($cast, 'float') !== false) { + return Double::KIND_FLOAT; + } + + if (strpos($cast, 'real') !== false) { + return Double::KIND_REAL; + } + + return Double::KIND_DOUBLE; + } + + protected function parseLNumber($str, $attributes, $allowInvalidOctal = false) { + try { + return LNumber::fromString($str, $attributes, $allowInvalidOctal); + } catch (Error $error) { + $this->emitError($error); + // Use dummy value + return new LNumber(0, $attributes); + } + } + + /** + * Parse a T_NUM_STRING token into either an integer or string node. + * + * @param string $str Number string + * @param array $attributes Attributes + * + * @return LNumber|String_ Integer or string node. + */ + protected function parseNumString(string $str, array $attributes) { + if (!preg_match('/^(?:0|-?[1-9][0-9]*)$/', $str)) { + return new String_($str, $attributes); + } + + $num = +$str; + if (!is_int($num)) { + return new String_($str, $attributes); + } + + return new LNumber($num, $attributes); + } + + protected function stripIndentation( + string $string, int $indentLen, string $indentChar, + bool $newlineAtStart, bool $newlineAtEnd, array $attributes + ) { + if ($indentLen === 0) { + return $string; + } + + $start = $newlineAtStart ? '(?:(?<=\n)|\A)' : '(?<=\n)'; + $end = $newlineAtEnd ? '(?:(?=[\r\n])|\z)' : '(?=[\r\n])'; + $regex = '/' . $start . '([ \t]*)(' . $end . ')?/'; + return preg_replace_callback( + $regex, + function ($matches) use ($indentLen, $indentChar, $attributes) { + $prefix = substr($matches[1], 0, $indentLen); + if (false !== strpos($prefix, $indentChar === " " ? "\t" : " ")) { + $this->emitError(new Error( + 'Invalid indentation - tabs and spaces cannot be mixed', $attributes + )); + } elseif (strlen($prefix) < $indentLen && !isset($matches[2])) { + $this->emitError(new Error( + 'Invalid body indentation level ' . + '(expecting an indentation level of at least ' . $indentLen . ')', + $attributes + )); + } + return substr($matches[0], strlen($prefix)); + }, + $string + ); + } + + protected function parseDocString( + string $startToken, $contents, string $endToken, + array $attributes, array $endTokenAttributes, bool $parseUnicodeEscape + ) { + $kind = strpos($startToken, "'") === false + ? String_::KIND_HEREDOC : String_::KIND_NOWDOC; + + $regex = '/\A[bB]?<<<[ \t]*[\'"]?([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)[\'"]?(?:\r\n|\n|\r)\z/'; + $result = preg_match($regex, $startToken, $matches); + assert($result === 1); + $label = $matches[1]; + + $result = preg_match('/\A[ \t]*/', $endToken, $matches); + assert($result === 1); + $indentation = $matches[0]; + + $attributes['kind'] = $kind; + $attributes['docLabel'] = $label; + $attributes['docIndentation'] = $indentation; + + $indentHasSpaces = false !== strpos($indentation, " "); + $indentHasTabs = false !== strpos($indentation, "\t"); + if ($indentHasSpaces && $indentHasTabs) { + $this->emitError(new Error( + 'Invalid indentation - tabs and spaces cannot be mixed', + $endTokenAttributes + )); + + // Proceed processing as if this doc string is not indented + $indentation = ''; + } + + $indentLen = \strlen($indentation); + $indentChar = $indentHasSpaces ? " " : "\t"; + + if (\is_string($contents)) { + if ($contents === '') { + return new String_('', $attributes); + } + + $contents = $this->stripIndentation( + $contents, $indentLen, $indentChar, true, true, $attributes + ); + $contents = preg_replace('~(\r\n|\n|\r)\z~', '', $contents); + + if ($kind === String_::KIND_HEREDOC) { + $contents = String_::parseEscapeSequences($contents, null, $parseUnicodeEscape); + } + + return new String_($contents, $attributes); + } else { + assert(count($contents) > 0); + if (!$contents[0] instanceof Node\Scalar\EncapsedStringPart) { + // If there is no leading encapsed string part, pretend there is an empty one + $this->stripIndentation( + '', $indentLen, $indentChar, true, false, $contents[0]->getAttributes() + ); + } + + $newContents = []; + foreach ($contents as $i => $part) { + if ($part instanceof Node\Scalar\EncapsedStringPart) { + $isLast = $i === \count($contents) - 1; + $part->value = $this->stripIndentation( + $part->value, $indentLen, $indentChar, + $i === 0, $isLast, $part->getAttributes() + ); + $part->value = String_::parseEscapeSequences($part->value, null, $parseUnicodeEscape); + if ($isLast) { + $part->value = preg_replace('~(\r\n|\n|\r)\z~', '', $part->value); + } + if ('' === $part->value) { + continue; + } + } + $newContents[] = $part; + } + return new Encapsed($newContents, $attributes); + } + } + + /** + * Create attributes for a zero-length common-capturing nop. + * + * @param Comment[] $comments + * @return array + */ + protected function createCommentNopAttributes(array $comments) { + $comment = $comments[count($comments) - 1]; + $commentEndLine = $comment->getEndLine(); + $commentEndFilePos = $comment->getEndFilePos(); + $commentEndTokenPos = $comment->getEndTokenPos(); + + $attributes = ['comments' => $comments]; + if (-1 !== $commentEndLine) { + $attributes['startLine'] = $commentEndLine; + $attributes['endLine'] = $commentEndLine; + } + if (-1 !== $commentEndFilePos) { + $attributes['startFilePos'] = $commentEndFilePos + 1; + $attributes['endFilePos'] = $commentEndFilePos; + } + if (-1 !== $commentEndTokenPos) { + $attributes['startTokenPos'] = $commentEndTokenPos + 1; + $attributes['endTokenPos'] = $commentEndTokenPos; + } + return $attributes; + } + + /** @param ElseIf_|Else_ $node */ + protected function fixupAlternativeElse($node) { + // Make sure a trailing nop statement carrying comments is part of the node. + $numStmts = \count($node->stmts); + if ($numStmts !== 0 && $node->stmts[$numStmts - 1] instanceof Nop) { + $nopAttrs = $node->stmts[$numStmts - 1]->getAttributes(); + if (isset($nopAttrs['endLine'])) { + $node->setAttribute('endLine', $nopAttrs['endLine']); + } + if (isset($nopAttrs['endFilePos'])) { + $node->setAttribute('endFilePos', $nopAttrs['endFilePos']); + } + if (isset($nopAttrs['endTokenPos'])) { + $node->setAttribute('endTokenPos', $nopAttrs['endTokenPos']); + } + } + } + + protected function checkClassModifier($a, $b, $modifierPos) { + try { + Class_::verifyClassModifier($a, $b); + } catch (Error $error) { + $error->setAttributes($this->getAttributesAt($modifierPos)); + $this->emitError($error); + } + } + + protected function checkModifier($a, $b, $modifierPos) { + // Jumping through some hoops here because verifyModifier() is also used elsewhere + try { + Class_::verifyModifier($a, $b); + } catch (Error $error) { + $error->setAttributes($this->getAttributesAt($modifierPos)); + $this->emitError($error); + } + } + + protected function checkParam(Param $node) { + if ($node->variadic && null !== $node->default) { + $this->emitError(new Error( + 'Variadic parameter cannot have a default value', + $node->default->getAttributes() + )); + } + } + + protected function checkTryCatch(TryCatch $node) { + if (empty($node->catches) && null === $node->finally) { + $this->emitError(new Error( + 'Cannot use try without catch or finally', $node->getAttributes() + )); + } + } + + protected function checkNamespace(Namespace_ $node) { + if (null !== $node->stmts) { + foreach ($node->stmts as $stmt) { + if ($stmt instanceof Namespace_) { + $this->emitError(new Error( + 'Namespace declarations cannot be nested', $stmt->getAttributes() + )); + } + } + } + } + + private function checkClassName($name, $namePos) { + if (null !== $name && $name->isSpecialClassName()) { + $this->emitError(new Error( + sprintf('Cannot use \'%s\' as class name as it is reserved', $name), + $this->getAttributesAt($namePos) + )); + } + } + + private function checkImplementedInterfaces(array $interfaces) { + foreach ($interfaces as $interface) { + if ($interface->isSpecialClassName()) { + $this->emitError(new Error( + sprintf('Cannot use \'%s\' as interface name as it is reserved', $interface), + $interface->getAttributes() + )); + } + } + } + + protected function checkClass(Class_ $node, $namePos) { + $this->checkClassName($node->name, $namePos); + + if ($node->extends && $node->extends->isSpecialClassName()) { + $this->emitError(new Error( + sprintf('Cannot use \'%s\' as class name as it is reserved', $node->extends), + $node->extends->getAttributes() + )); + } + + $this->checkImplementedInterfaces($node->implements); + } + + protected function checkInterface(Interface_ $node, $namePos) { + $this->checkClassName($node->name, $namePos); + $this->checkImplementedInterfaces($node->extends); + } + + protected function checkEnum(Enum_ $node, $namePos) { + $this->checkClassName($node->name, $namePos); + $this->checkImplementedInterfaces($node->implements); + } + + protected function checkClassMethod(ClassMethod $node, $modifierPos) { + if ($node->flags & Class_::MODIFIER_STATIC) { + switch ($node->name->toLowerString()) { + case '__construct': + $this->emitError(new Error( + sprintf('Constructor %s() cannot be static', $node->name), + $this->getAttributesAt($modifierPos))); + break; + case '__destruct': + $this->emitError(new Error( + sprintf('Destructor %s() cannot be static', $node->name), + $this->getAttributesAt($modifierPos))); + break; + case '__clone': + $this->emitError(new Error( + sprintf('Clone method %s() cannot be static', $node->name), + $this->getAttributesAt($modifierPos))); + break; + } + } + + if ($node->flags & Class_::MODIFIER_READONLY) { + $this->emitError(new Error( + sprintf('Method %s() cannot be readonly', $node->name), + $this->getAttributesAt($modifierPos))); + } + } + + protected function checkClassConst(ClassConst $node, $modifierPos) { + if ($node->flags & Class_::MODIFIER_STATIC) { + $this->emitError(new Error( + "Cannot use 'static' as constant modifier", + $this->getAttributesAt($modifierPos))); + } + if ($node->flags & Class_::MODIFIER_ABSTRACT) { + $this->emitError(new Error( + "Cannot use 'abstract' as constant modifier", + $this->getAttributesAt($modifierPos))); + } + if ($node->flags & Class_::MODIFIER_READONLY) { + $this->emitError(new Error( + "Cannot use 'readonly' as constant modifier", + $this->getAttributesAt($modifierPos))); + } + } + + protected function checkProperty(Property $node, $modifierPos) { + if ($node->flags & Class_::MODIFIER_ABSTRACT) { + $this->emitError(new Error('Properties cannot be declared abstract', + $this->getAttributesAt($modifierPos))); + } + + if ($node->flags & Class_::MODIFIER_FINAL) { + $this->emitError(new Error('Properties cannot be declared final', + $this->getAttributesAt($modifierPos))); + } + } + + protected function checkUseUse(UseUse $node, $namePos) { + if ($node->alias && $node->alias->isSpecialClassName()) { + $this->emitError(new Error( + sprintf( + 'Cannot use %s as %s because \'%2$s\' is a special class name', + $node->name, $node->alias + ), + $this->getAttributesAt($namePos) + )); + } + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php b/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php new file mode 100644 index 00000000..f041e7ff --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/ParserFactory.php @@ -0,0 +1,44 @@ +pAttrGroups($node->attrGroups, true) + . $this->pModifiers($node->flags) + . ($node->type ? $this->p($node->type) . ' ' : '') + . ($node->byRef ? '&' : '') + . ($node->variadic ? '...' : '') + . $this->p($node->var) + . ($node->default ? ' = ' . $this->p($node->default) : ''); + } + + protected function pArg(Node\Arg $node) { + return ($node->name ? $node->name->toString() . ': ' : '') + . ($node->byRef ? '&' : '') . ($node->unpack ? '...' : '') + . $this->p($node->value); + } + + protected function pVariadicPlaceholder(Node\VariadicPlaceholder $node) { + return '...'; + } + + protected function pConst(Node\Const_ $node) { + return $node->name . ' = ' . $this->p($node->value); + } + + protected function pNullableType(Node\NullableType $node) { + return '?' . $this->p($node->type); + } + + protected function pUnionType(Node\UnionType $node) { + $types = []; + foreach ($node->types as $typeNode) { + if ($typeNode instanceof Node\IntersectionType) { + $types[] = '('. $this->p($typeNode) . ')'; + continue; + } + $types[] = $this->p($typeNode); + } + return implode('|', $types); + } + + protected function pIntersectionType(Node\IntersectionType $node) { + return $this->pImplode($node->types, '&'); + } + + protected function pIdentifier(Node\Identifier $node) { + return $node->name; + } + + protected function pVarLikeIdentifier(Node\VarLikeIdentifier $node) { + return '$' . $node->name; + } + + protected function pAttribute(Node\Attribute $node) { + return $this->p($node->name) + . ($node->args ? '(' . $this->pCommaSeparated($node->args) . ')' : ''); + } + + protected function pAttributeGroup(Node\AttributeGroup $node) { + return '#[' . $this->pCommaSeparated($node->attrs) . ']'; + } + + // Names + + protected function pName(Name $node) { + return implode('\\', $node->parts); + } + + protected function pName_FullyQualified(Name\FullyQualified $node) { + return '\\' . implode('\\', $node->parts); + } + + protected function pName_Relative(Name\Relative $node) { + return 'namespace\\' . implode('\\', $node->parts); + } + + // Magic Constants + + protected function pScalar_MagicConst_Class(MagicConst\Class_ $node) { + return '__CLASS__'; + } + + protected function pScalar_MagicConst_Dir(MagicConst\Dir $node) { + return '__DIR__'; + } + + protected function pScalar_MagicConst_File(MagicConst\File $node) { + return '__FILE__'; + } + + protected function pScalar_MagicConst_Function(MagicConst\Function_ $node) { + return '__FUNCTION__'; + } + + protected function pScalar_MagicConst_Line(MagicConst\Line $node) { + return '__LINE__'; + } + + protected function pScalar_MagicConst_Method(MagicConst\Method $node) { + return '__METHOD__'; + } + + protected function pScalar_MagicConst_Namespace(MagicConst\Namespace_ $node) { + return '__NAMESPACE__'; + } + + protected function pScalar_MagicConst_Trait(MagicConst\Trait_ $node) { + return '__TRAIT__'; + } + + // Scalars + + protected function pScalar_String(Scalar\String_ $node) { + $kind = $node->getAttribute('kind', Scalar\String_::KIND_SINGLE_QUOTED); + switch ($kind) { + case Scalar\String_::KIND_NOWDOC: + $label = $node->getAttribute('docLabel'); + if ($label && !$this->containsEndLabel($node->value, $label)) { + if ($node->value === '') { + return "<<<'$label'\n$label" . $this->docStringEndToken; + } + + return "<<<'$label'\n$node->value\n$label" + . $this->docStringEndToken; + } + /* break missing intentionally */ + case Scalar\String_::KIND_SINGLE_QUOTED: + return $this->pSingleQuotedString($node->value); + case Scalar\String_::KIND_HEREDOC: + $label = $node->getAttribute('docLabel'); + if ($label && !$this->containsEndLabel($node->value, $label)) { + if ($node->value === '') { + return "<<<$label\n$label" . $this->docStringEndToken; + } + + $escaped = $this->escapeString($node->value, null); + return "<<<$label\n" . $escaped . "\n$label" + . $this->docStringEndToken; + } + /* break missing intentionally */ + case Scalar\String_::KIND_DOUBLE_QUOTED: + return '"' . $this->escapeString($node->value, '"') . '"'; + } + throw new \Exception('Invalid string kind'); + } + + protected function pScalar_Encapsed(Scalar\Encapsed $node) { + if ($node->getAttribute('kind') === Scalar\String_::KIND_HEREDOC) { + $label = $node->getAttribute('docLabel'); + if ($label && !$this->encapsedContainsEndLabel($node->parts, $label)) { + if (count($node->parts) === 1 + && $node->parts[0] instanceof Scalar\EncapsedStringPart + && $node->parts[0]->value === '' + ) { + return "<<<$label\n$label" . $this->docStringEndToken; + } + + return "<<<$label\n" . $this->pEncapsList($node->parts, null) . "\n$label" + . $this->docStringEndToken; + } + } + return '"' . $this->pEncapsList($node->parts, '"') . '"'; + } + + protected function pScalar_LNumber(Scalar\LNumber $node) { + if ($node->value === -\PHP_INT_MAX-1) { + // PHP_INT_MIN cannot be represented as a literal, + // because the sign is not part of the literal + return '(-' . \PHP_INT_MAX . '-1)'; + } + + $kind = $node->getAttribute('kind', Scalar\LNumber::KIND_DEC); + if (Scalar\LNumber::KIND_DEC === $kind) { + return (string) $node->value; + } + + if ($node->value < 0) { + $sign = '-'; + $str = (string) -$node->value; + } else { + $sign = ''; + $str = (string) $node->value; + } + switch ($kind) { + case Scalar\LNumber::KIND_BIN: + return $sign . '0b' . base_convert($str, 10, 2); + case Scalar\LNumber::KIND_OCT: + return $sign . '0' . base_convert($str, 10, 8); + case Scalar\LNumber::KIND_HEX: + return $sign . '0x' . base_convert($str, 10, 16); + } + throw new \Exception('Invalid number kind'); + } + + protected function pScalar_DNumber(Scalar\DNumber $node) { + if (!is_finite($node->value)) { + if ($node->value === \INF) { + return '\INF'; + } elseif ($node->value === -\INF) { + return '-\INF'; + } else { + return '\NAN'; + } + } + + // Try to find a short full-precision representation + $stringValue = sprintf('%.16G', $node->value); + if ($node->value !== (double) $stringValue) { + $stringValue = sprintf('%.17G', $node->value); + } + + // %G is locale dependent and there exists no locale-independent alternative. We don't want + // mess with switching locales here, so let's assume that a comma is the only non-standard + // decimal separator we may encounter... + $stringValue = str_replace(',', '.', $stringValue); + + // ensure that number is really printed as float + return preg_match('/^-?[0-9]+$/', $stringValue) ? $stringValue . '.0' : $stringValue; + } + + protected function pScalar_EncapsedStringPart(Scalar\EncapsedStringPart $node) { + throw new \LogicException('Cannot directly print EncapsedStringPart'); + } + + // Assignments + + protected function pExpr_Assign(Expr\Assign $node) { + return $this->pInfixOp(Expr\Assign::class, $node->var, ' = ', $node->expr); + } + + protected function pExpr_AssignRef(Expr\AssignRef $node) { + return $this->pInfixOp(Expr\AssignRef::class, $node->var, ' =& ', $node->expr); + } + + protected function pExpr_AssignOp_Plus(AssignOp\Plus $node) { + return $this->pInfixOp(AssignOp\Plus::class, $node->var, ' += ', $node->expr); + } + + protected function pExpr_AssignOp_Minus(AssignOp\Minus $node) { + return $this->pInfixOp(AssignOp\Minus::class, $node->var, ' -= ', $node->expr); + } + + protected function pExpr_AssignOp_Mul(AssignOp\Mul $node) { + return $this->pInfixOp(AssignOp\Mul::class, $node->var, ' *= ', $node->expr); + } + + protected function pExpr_AssignOp_Div(AssignOp\Div $node) { + return $this->pInfixOp(AssignOp\Div::class, $node->var, ' /= ', $node->expr); + } + + protected function pExpr_AssignOp_Concat(AssignOp\Concat $node) { + return $this->pInfixOp(AssignOp\Concat::class, $node->var, ' .= ', $node->expr); + } + + protected function pExpr_AssignOp_Mod(AssignOp\Mod $node) { + return $this->pInfixOp(AssignOp\Mod::class, $node->var, ' %= ', $node->expr); + } + + protected function pExpr_AssignOp_BitwiseAnd(AssignOp\BitwiseAnd $node) { + return $this->pInfixOp(AssignOp\BitwiseAnd::class, $node->var, ' &= ', $node->expr); + } + + protected function pExpr_AssignOp_BitwiseOr(AssignOp\BitwiseOr $node) { + return $this->pInfixOp(AssignOp\BitwiseOr::class, $node->var, ' |= ', $node->expr); + } + + protected function pExpr_AssignOp_BitwiseXor(AssignOp\BitwiseXor $node) { + return $this->pInfixOp(AssignOp\BitwiseXor::class, $node->var, ' ^= ', $node->expr); + } + + protected function pExpr_AssignOp_ShiftLeft(AssignOp\ShiftLeft $node) { + return $this->pInfixOp(AssignOp\ShiftLeft::class, $node->var, ' <<= ', $node->expr); + } + + protected function pExpr_AssignOp_ShiftRight(AssignOp\ShiftRight $node) { + return $this->pInfixOp(AssignOp\ShiftRight::class, $node->var, ' >>= ', $node->expr); + } + + protected function pExpr_AssignOp_Pow(AssignOp\Pow $node) { + return $this->pInfixOp(AssignOp\Pow::class, $node->var, ' **= ', $node->expr); + } + + protected function pExpr_AssignOp_Coalesce(AssignOp\Coalesce $node) { + return $this->pInfixOp(AssignOp\Coalesce::class, $node->var, ' ??= ', $node->expr); + } + + // Binary expressions + + protected function pExpr_BinaryOp_Plus(BinaryOp\Plus $node) { + return $this->pInfixOp(BinaryOp\Plus::class, $node->left, ' + ', $node->right); + } + + protected function pExpr_BinaryOp_Minus(BinaryOp\Minus $node) { + return $this->pInfixOp(BinaryOp\Minus::class, $node->left, ' - ', $node->right); + } + + protected function pExpr_BinaryOp_Mul(BinaryOp\Mul $node) { + return $this->pInfixOp(BinaryOp\Mul::class, $node->left, ' * ', $node->right); + } + + protected function pExpr_BinaryOp_Div(BinaryOp\Div $node) { + return $this->pInfixOp(BinaryOp\Div::class, $node->left, ' / ', $node->right); + } + + protected function pExpr_BinaryOp_Concat(BinaryOp\Concat $node) { + return $this->pInfixOp(BinaryOp\Concat::class, $node->left, ' . ', $node->right); + } + + protected function pExpr_BinaryOp_Mod(BinaryOp\Mod $node) { + return $this->pInfixOp(BinaryOp\Mod::class, $node->left, ' % ', $node->right); + } + + protected function pExpr_BinaryOp_BooleanAnd(BinaryOp\BooleanAnd $node) { + return $this->pInfixOp(BinaryOp\BooleanAnd::class, $node->left, ' && ', $node->right); + } + + protected function pExpr_BinaryOp_BooleanOr(BinaryOp\BooleanOr $node) { + return $this->pInfixOp(BinaryOp\BooleanOr::class, $node->left, ' || ', $node->right); + } + + protected function pExpr_BinaryOp_BitwiseAnd(BinaryOp\BitwiseAnd $node) { + return $this->pInfixOp(BinaryOp\BitwiseAnd::class, $node->left, ' & ', $node->right); + } + + protected function pExpr_BinaryOp_BitwiseOr(BinaryOp\BitwiseOr $node) { + return $this->pInfixOp(BinaryOp\BitwiseOr::class, $node->left, ' | ', $node->right); + } + + protected function pExpr_BinaryOp_BitwiseXor(BinaryOp\BitwiseXor $node) { + return $this->pInfixOp(BinaryOp\BitwiseXor::class, $node->left, ' ^ ', $node->right); + } + + protected function pExpr_BinaryOp_ShiftLeft(BinaryOp\ShiftLeft $node) { + return $this->pInfixOp(BinaryOp\ShiftLeft::class, $node->left, ' << ', $node->right); + } + + protected function pExpr_BinaryOp_ShiftRight(BinaryOp\ShiftRight $node) { + return $this->pInfixOp(BinaryOp\ShiftRight::class, $node->left, ' >> ', $node->right); + } + + protected function pExpr_BinaryOp_Pow(BinaryOp\Pow $node) { + return $this->pInfixOp(BinaryOp\Pow::class, $node->left, ' ** ', $node->right); + } + + protected function pExpr_BinaryOp_LogicalAnd(BinaryOp\LogicalAnd $node) { + return $this->pInfixOp(BinaryOp\LogicalAnd::class, $node->left, ' and ', $node->right); + } + + protected function pExpr_BinaryOp_LogicalOr(BinaryOp\LogicalOr $node) { + return $this->pInfixOp(BinaryOp\LogicalOr::class, $node->left, ' or ', $node->right); + } + + protected function pExpr_BinaryOp_LogicalXor(BinaryOp\LogicalXor $node) { + return $this->pInfixOp(BinaryOp\LogicalXor::class, $node->left, ' xor ', $node->right); + } + + protected function pExpr_BinaryOp_Equal(BinaryOp\Equal $node) { + return $this->pInfixOp(BinaryOp\Equal::class, $node->left, ' == ', $node->right); + } + + protected function pExpr_BinaryOp_NotEqual(BinaryOp\NotEqual $node) { + return $this->pInfixOp(BinaryOp\NotEqual::class, $node->left, ' != ', $node->right); + } + + protected function pExpr_BinaryOp_Identical(BinaryOp\Identical $node) { + return $this->pInfixOp(BinaryOp\Identical::class, $node->left, ' === ', $node->right); + } + + protected function pExpr_BinaryOp_NotIdentical(BinaryOp\NotIdentical $node) { + return $this->pInfixOp(BinaryOp\NotIdentical::class, $node->left, ' !== ', $node->right); + } + + protected function pExpr_BinaryOp_Spaceship(BinaryOp\Spaceship $node) { + return $this->pInfixOp(BinaryOp\Spaceship::class, $node->left, ' <=> ', $node->right); + } + + protected function pExpr_BinaryOp_Greater(BinaryOp\Greater $node) { + return $this->pInfixOp(BinaryOp\Greater::class, $node->left, ' > ', $node->right); + } + + protected function pExpr_BinaryOp_GreaterOrEqual(BinaryOp\GreaterOrEqual $node) { + return $this->pInfixOp(BinaryOp\GreaterOrEqual::class, $node->left, ' >= ', $node->right); + } + + protected function pExpr_BinaryOp_Smaller(BinaryOp\Smaller $node) { + return $this->pInfixOp(BinaryOp\Smaller::class, $node->left, ' < ', $node->right); + } + + protected function pExpr_BinaryOp_SmallerOrEqual(BinaryOp\SmallerOrEqual $node) { + return $this->pInfixOp(BinaryOp\SmallerOrEqual::class, $node->left, ' <= ', $node->right); + } + + protected function pExpr_BinaryOp_Coalesce(BinaryOp\Coalesce $node) { + return $this->pInfixOp(BinaryOp\Coalesce::class, $node->left, ' ?? ', $node->right); + } + + protected function pExpr_Instanceof(Expr\Instanceof_ $node) { + list($precedence, $associativity) = $this->precedenceMap[Expr\Instanceof_::class]; + return $this->pPrec($node->expr, $precedence, $associativity, -1) + . ' instanceof ' + . $this->pNewVariable($node->class); + } + + // Unary expressions + + protected function pExpr_BooleanNot(Expr\BooleanNot $node) { + return $this->pPrefixOp(Expr\BooleanNot::class, '!', $node->expr); + } + + protected function pExpr_BitwiseNot(Expr\BitwiseNot $node) { + return $this->pPrefixOp(Expr\BitwiseNot::class, '~', $node->expr); + } + + protected function pExpr_UnaryMinus(Expr\UnaryMinus $node) { + if ($node->expr instanceof Expr\UnaryMinus || $node->expr instanceof Expr\PreDec) { + // Enforce -(-$expr) instead of --$expr + return '-(' . $this->p($node->expr) . ')'; + } + return $this->pPrefixOp(Expr\UnaryMinus::class, '-', $node->expr); + } + + protected function pExpr_UnaryPlus(Expr\UnaryPlus $node) { + if ($node->expr instanceof Expr\UnaryPlus || $node->expr instanceof Expr\PreInc) { + // Enforce +(+$expr) instead of ++$expr + return '+(' . $this->p($node->expr) . ')'; + } + return $this->pPrefixOp(Expr\UnaryPlus::class, '+', $node->expr); + } + + protected function pExpr_PreInc(Expr\PreInc $node) { + return $this->pPrefixOp(Expr\PreInc::class, '++', $node->var); + } + + protected function pExpr_PreDec(Expr\PreDec $node) { + return $this->pPrefixOp(Expr\PreDec::class, '--', $node->var); + } + + protected function pExpr_PostInc(Expr\PostInc $node) { + return $this->pPostfixOp(Expr\PostInc::class, $node->var, '++'); + } + + protected function pExpr_PostDec(Expr\PostDec $node) { + return $this->pPostfixOp(Expr\PostDec::class, $node->var, '--'); + } + + protected function pExpr_ErrorSuppress(Expr\ErrorSuppress $node) { + return $this->pPrefixOp(Expr\ErrorSuppress::class, '@', $node->expr); + } + + protected function pExpr_YieldFrom(Expr\YieldFrom $node) { + return $this->pPrefixOp(Expr\YieldFrom::class, 'yield from ', $node->expr); + } + + protected function pExpr_Print(Expr\Print_ $node) { + return $this->pPrefixOp(Expr\Print_::class, 'print ', $node->expr); + } + + // Casts + + protected function pExpr_Cast_Int(Cast\Int_ $node) { + return $this->pPrefixOp(Cast\Int_::class, '(int) ', $node->expr); + } + + protected function pExpr_Cast_Double(Cast\Double $node) { + $kind = $node->getAttribute('kind', Cast\Double::KIND_DOUBLE); + if ($kind === Cast\Double::KIND_DOUBLE) { + $cast = '(double)'; + } elseif ($kind === Cast\Double::KIND_FLOAT) { + $cast = '(float)'; + } elseif ($kind === Cast\Double::KIND_REAL) { + $cast = '(real)'; + } + return $this->pPrefixOp(Cast\Double::class, $cast . ' ', $node->expr); + } + + protected function pExpr_Cast_String(Cast\String_ $node) { + return $this->pPrefixOp(Cast\String_::class, '(string) ', $node->expr); + } + + protected function pExpr_Cast_Array(Cast\Array_ $node) { + return $this->pPrefixOp(Cast\Array_::class, '(array) ', $node->expr); + } + + protected function pExpr_Cast_Object(Cast\Object_ $node) { + return $this->pPrefixOp(Cast\Object_::class, '(object) ', $node->expr); + } + + protected function pExpr_Cast_Bool(Cast\Bool_ $node) { + return $this->pPrefixOp(Cast\Bool_::class, '(bool) ', $node->expr); + } + + protected function pExpr_Cast_Unset(Cast\Unset_ $node) { + return $this->pPrefixOp(Cast\Unset_::class, '(unset) ', $node->expr); + } + + // Function calls and similar constructs + + protected function pExpr_FuncCall(Expr\FuncCall $node) { + return $this->pCallLhs($node->name) + . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + + protected function pExpr_MethodCall(Expr\MethodCall $node) { + return $this->pDereferenceLhs($node->var) . '->' . $this->pObjectProperty($node->name) + . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + + protected function pExpr_NullsafeMethodCall(Expr\NullsafeMethodCall $node) { + return $this->pDereferenceLhs($node->var) . '?->' . $this->pObjectProperty($node->name) + . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + + protected function pExpr_StaticCall(Expr\StaticCall $node) { + return $this->pDereferenceLhs($node->class) . '::' + . ($node->name instanceof Expr + ? ($node->name instanceof Expr\Variable + ? $this->p($node->name) + : '{' . $this->p($node->name) . '}') + : $node->name) + . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + + protected function pExpr_Empty(Expr\Empty_ $node) { + return 'empty(' . $this->p($node->expr) . ')'; + } + + protected function pExpr_Isset(Expr\Isset_ $node) { + return 'isset(' . $this->pCommaSeparated($node->vars) . ')'; + } + + protected function pExpr_Eval(Expr\Eval_ $node) { + return 'eval(' . $this->p($node->expr) . ')'; + } + + protected function pExpr_Include(Expr\Include_ $node) { + static $map = [ + Expr\Include_::TYPE_INCLUDE => 'include', + Expr\Include_::TYPE_INCLUDE_ONCE => 'include_once', + Expr\Include_::TYPE_REQUIRE => 'require', + Expr\Include_::TYPE_REQUIRE_ONCE => 'require_once', + ]; + + return $map[$node->type] . ' ' . $this->p($node->expr); + } + + protected function pExpr_List(Expr\List_ $node) { + return 'list(' . $this->pCommaSeparated($node->items) . ')'; + } + + // Other + + protected function pExpr_Error(Expr\Error $node) { + throw new \LogicException('Cannot pretty-print AST with Error nodes'); + } + + protected function pExpr_Variable(Expr\Variable $node) { + if ($node->name instanceof Expr) { + return '${' . $this->p($node->name) . '}'; + } else { + return '$' . $node->name; + } + } + + protected function pExpr_Array(Expr\Array_ $node) { + $syntax = $node->getAttribute('kind', + $this->options['shortArraySyntax'] ? Expr\Array_::KIND_SHORT : Expr\Array_::KIND_LONG); + if ($syntax === Expr\Array_::KIND_SHORT) { + return '[' . $this->pMaybeMultiline($node->items, true) . ']'; + } else { + return 'array(' . $this->pMaybeMultiline($node->items, true) . ')'; + } + } + + protected function pExpr_ArrayItem(Expr\ArrayItem $node) { + return (null !== $node->key ? $this->p($node->key) . ' => ' : '') + . ($node->byRef ? '&' : '') + . ($node->unpack ? '...' : '') + . $this->p($node->value); + } + + protected function pExpr_ArrayDimFetch(Expr\ArrayDimFetch $node) { + return $this->pDereferenceLhs($node->var) + . '[' . (null !== $node->dim ? $this->p($node->dim) : '') . ']'; + } + + protected function pExpr_ConstFetch(Expr\ConstFetch $node) { + return $this->p($node->name); + } + + protected function pExpr_ClassConstFetch(Expr\ClassConstFetch $node) { + return $this->pDereferenceLhs($node->class) . '::' . $this->p($node->name); + } + + protected function pExpr_PropertyFetch(Expr\PropertyFetch $node) { + return $this->pDereferenceLhs($node->var) . '->' . $this->pObjectProperty($node->name); + } + + protected function pExpr_NullsafePropertyFetch(Expr\NullsafePropertyFetch $node) { + return $this->pDereferenceLhs($node->var) . '?->' . $this->pObjectProperty($node->name); + } + + protected function pExpr_StaticPropertyFetch(Expr\StaticPropertyFetch $node) { + return $this->pDereferenceLhs($node->class) . '::$' . $this->pObjectProperty($node->name); + } + + protected function pExpr_ShellExec(Expr\ShellExec $node) { + return '`' . $this->pEncapsList($node->parts, '`') . '`'; + } + + protected function pExpr_Closure(Expr\Closure $node) { + return $this->pAttrGroups($node->attrGroups, true) + . ($node->static ? 'static ' : '') + . 'function ' . ($node->byRef ? '&' : '') + . '(' . $this->pCommaSeparated($node->params) . ')' + . (!empty($node->uses) ? ' use(' . $this->pCommaSeparated($node->uses) . ')' : '') + . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') + . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pExpr_Match(Expr\Match_ $node) { + return 'match (' . $this->p($node->cond) . ') {' + . $this->pCommaSeparatedMultiline($node->arms, true) + . $this->nl + . '}'; + } + + protected function pMatchArm(Node\MatchArm $node) { + return ($node->conds ? $this->pCommaSeparated($node->conds) : 'default') + . ' => ' . $this->p($node->body); + } + + protected function pExpr_ArrowFunction(Expr\ArrowFunction $node) { + return $this->pAttrGroups($node->attrGroups, true) + . ($node->static ? 'static ' : '') + . 'fn' . ($node->byRef ? '&' : '') + . '(' . $this->pCommaSeparated($node->params) . ')' + . (null !== $node->returnType ? ': ' . $this->p($node->returnType) : '') + . ' => ' + . $this->p($node->expr); + } + + protected function pExpr_ClosureUse(Expr\ClosureUse $node) { + return ($node->byRef ? '&' : '') . $this->p($node->var); + } + + protected function pExpr_New(Expr\New_ $node) { + if ($node->class instanceof Stmt\Class_) { + $args = $node->args ? '(' . $this->pMaybeMultiline($node->args) . ')' : ''; + return 'new ' . $this->pClassCommon($node->class, $args); + } + return 'new ' . $this->pNewVariable($node->class) + . '(' . $this->pMaybeMultiline($node->args) . ')'; + } + + protected function pExpr_Clone(Expr\Clone_ $node) { + return 'clone ' . $this->p($node->expr); + } + + protected function pExpr_Ternary(Expr\Ternary $node) { + // a bit of cheating: we treat the ternary as a binary op where the ?...: part is the operator. + // this is okay because the part between ? and : never needs parentheses. + return $this->pInfixOp(Expr\Ternary::class, + $node->cond, ' ?' . (null !== $node->if ? ' ' . $this->p($node->if) . ' ' : '') . ': ', $node->else + ); + } + + protected function pExpr_Exit(Expr\Exit_ $node) { + $kind = $node->getAttribute('kind', Expr\Exit_::KIND_DIE); + return ($kind === Expr\Exit_::KIND_EXIT ? 'exit' : 'die') + . (null !== $node->expr ? '(' . $this->p($node->expr) . ')' : ''); + } + + protected function pExpr_Throw(Expr\Throw_ $node) { + return 'throw ' . $this->p($node->expr); + } + + protected function pExpr_Yield(Expr\Yield_ $node) { + if ($node->value === null) { + return 'yield'; + } else { + // this is a bit ugly, but currently there is no way to detect whether the parentheses are necessary + return '(yield ' + . ($node->key !== null ? $this->p($node->key) . ' => ' : '') + . $this->p($node->value) + . ')'; + } + } + + // Declarations + + protected function pStmt_Namespace(Stmt\Namespace_ $node) { + if ($this->canUseSemicolonNamespaces) { + return 'namespace ' . $this->p($node->name) . ';' + . $this->nl . $this->pStmts($node->stmts, false); + } else { + return 'namespace' . (null !== $node->name ? ' ' . $this->p($node->name) : '') + . ' {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + } + + protected function pStmt_Use(Stmt\Use_ $node) { + return 'use ' . $this->pUseType($node->type) + . $this->pCommaSeparated($node->uses) . ';'; + } + + protected function pStmt_GroupUse(Stmt\GroupUse $node) { + return 'use ' . $this->pUseType($node->type) . $this->pName($node->prefix) + . '\{' . $this->pCommaSeparated($node->uses) . '};'; + } + + protected function pStmt_UseUse(Stmt\UseUse $node) { + return $this->pUseType($node->type) . $this->p($node->name) + . (null !== $node->alias ? ' as ' . $node->alias : ''); + } + + protected function pUseType($type) { + return $type === Stmt\Use_::TYPE_FUNCTION ? 'function ' + : ($type === Stmt\Use_::TYPE_CONSTANT ? 'const ' : ''); + } + + protected function pStmt_Interface(Stmt\Interface_ $node) { + return $this->pAttrGroups($node->attrGroups) + . 'interface ' . $node->name + . (!empty($node->extends) ? ' extends ' . $this->pCommaSeparated($node->extends) : '') + . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Enum(Stmt\Enum_ $node) { + return $this->pAttrGroups($node->attrGroups) + . 'enum ' . $node->name + . ($node->scalarType ? " : $node->scalarType" : '') + . (!empty($node->implements) ? ' implements ' . $this->pCommaSeparated($node->implements) : '') + . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Class(Stmt\Class_ $node) { + return $this->pClassCommon($node, ' ' . $node->name); + } + + protected function pStmt_Trait(Stmt\Trait_ $node) { + return $this->pAttrGroups($node->attrGroups) + . 'trait ' . $node->name + . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_EnumCase(Stmt\EnumCase $node) { + return $this->pAttrGroups($node->attrGroups) + . 'case ' . $node->name + . ($node->expr ? ' = ' . $this->p($node->expr) : '') + . ';'; + } + + protected function pStmt_TraitUse(Stmt\TraitUse $node) { + return 'use ' . $this->pCommaSeparated($node->traits) + . (empty($node->adaptations) + ? ';' + : ' {' . $this->pStmts($node->adaptations) . $this->nl . '}'); + } + + protected function pStmt_TraitUseAdaptation_Precedence(Stmt\TraitUseAdaptation\Precedence $node) { + return $this->p($node->trait) . '::' . $node->method + . ' insteadof ' . $this->pCommaSeparated($node->insteadof) . ';'; + } + + protected function pStmt_TraitUseAdaptation_Alias(Stmt\TraitUseAdaptation\Alias $node) { + return (null !== $node->trait ? $this->p($node->trait) . '::' : '') + . $node->method . ' as' + . (null !== $node->newModifier ? ' ' . rtrim($this->pModifiers($node->newModifier), ' ') : '') + . (null !== $node->newName ? ' ' . $node->newName : '') + . ';'; + } + + protected function pStmt_Property(Stmt\Property $node) { + return $this->pAttrGroups($node->attrGroups) + . (0 === $node->flags ? 'var ' : $this->pModifiers($node->flags)) + . ($node->type ? $this->p($node->type) . ' ' : '') + . $this->pCommaSeparated($node->props) . ';'; + } + + protected function pStmt_PropertyProperty(Stmt\PropertyProperty $node) { + return '$' . $node->name + . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); + } + + protected function pStmt_ClassMethod(Stmt\ClassMethod $node) { + return $this->pAttrGroups($node->attrGroups) + . $this->pModifiers($node->flags) + . 'function ' . ($node->byRef ? '&' : '') . $node->name + . '(' . $this->pMaybeMultiline($node->params) . ')' + . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') + . (null !== $node->stmts + ? $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}' + : ';'); + } + + protected function pStmt_ClassConst(Stmt\ClassConst $node) { + return $this->pAttrGroups($node->attrGroups) + . $this->pModifiers($node->flags) + . 'const ' . $this->pCommaSeparated($node->consts) . ';'; + } + + protected function pStmt_Function(Stmt\Function_ $node) { + return $this->pAttrGroups($node->attrGroups) + . 'function ' . ($node->byRef ? '&' : '') . $node->name + . '(' . $this->pCommaSeparated($node->params) . ')' + . (null !== $node->returnType ? ' : ' . $this->p($node->returnType) : '') + . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Const(Stmt\Const_ $node) { + return 'const ' . $this->pCommaSeparated($node->consts) . ';'; + } + + protected function pStmt_Declare(Stmt\Declare_ $node) { + return 'declare (' . $this->pCommaSeparated($node->declares) . ')' + . (null !== $node->stmts ? ' {' . $this->pStmts($node->stmts) . $this->nl . '}' : ';'); + } + + protected function pStmt_DeclareDeclare(Stmt\DeclareDeclare $node) { + return $node->key . '=' . $this->p($node->value); + } + + // Control flow + + protected function pStmt_If(Stmt\If_ $node) { + return 'if (' . $this->p($node->cond) . ') {' + . $this->pStmts($node->stmts) . $this->nl . '}' + . ($node->elseifs ? ' ' . $this->pImplode($node->elseifs, ' ') : '') + . (null !== $node->else ? ' ' . $this->p($node->else) : ''); + } + + protected function pStmt_ElseIf(Stmt\ElseIf_ $node) { + return 'elseif (' . $this->p($node->cond) . ') {' + . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Else(Stmt\Else_ $node) { + return 'else {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_For(Stmt\For_ $node) { + return 'for (' + . $this->pCommaSeparated($node->init) . ';' . (!empty($node->cond) ? ' ' : '') + . $this->pCommaSeparated($node->cond) . ';' . (!empty($node->loop) ? ' ' : '') + . $this->pCommaSeparated($node->loop) + . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Foreach(Stmt\Foreach_ $node) { + return 'foreach (' . $this->p($node->expr) . ' as ' + . (null !== $node->keyVar ? $this->p($node->keyVar) . ' => ' : '') + . ($node->byRef ? '&' : '') . $this->p($node->valueVar) . ') {' + . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_While(Stmt\While_ $node) { + return 'while (' . $this->p($node->cond) . ') {' + . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Do(Stmt\Do_ $node) { + return 'do {' . $this->pStmts($node->stmts) . $this->nl + . '} while (' . $this->p($node->cond) . ');'; + } + + protected function pStmt_Switch(Stmt\Switch_ $node) { + return 'switch (' . $this->p($node->cond) . ') {' + . $this->pStmts($node->cases) . $this->nl . '}'; + } + + protected function pStmt_Case(Stmt\Case_ $node) { + return (null !== $node->cond ? 'case ' . $this->p($node->cond) : 'default') . ':' + . $this->pStmts($node->stmts); + } + + protected function pStmt_TryCatch(Stmt\TryCatch $node) { + return 'try {' . $this->pStmts($node->stmts) . $this->nl . '}' + . ($node->catches ? ' ' . $this->pImplode($node->catches, ' ') : '') + . ($node->finally !== null ? ' ' . $this->p($node->finally) : ''); + } + + protected function pStmt_Catch(Stmt\Catch_ $node) { + return 'catch (' . $this->pImplode($node->types, '|') + . ($node->var !== null ? ' ' . $this->p($node->var) : '') + . ') {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Finally(Stmt\Finally_ $node) { + return 'finally {' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pStmt_Break(Stmt\Break_ $node) { + return 'break' . ($node->num !== null ? ' ' . $this->p($node->num) : '') . ';'; + } + + protected function pStmt_Continue(Stmt\Continue_ $node) { + return 'continue' . ($node->num !== null ? ' ' . $this->p($node->num) : '') . ';'; + } + + protected function pStmt_Return(Stmt\Return_ $node) { + return 'return' . (null !== $node->expr ? ' ' . $this->p($node->expr) : '') . ';'; + } + + protected function pStmt_Throw(Stmt\Throw_ $node) { + return 'throw ' . $this->p($node->expr) . ';'; + } + + protected function pStmt_Label(Stmt\Label $node) { + return $node->name . ':'; + } + + protected function pStmt_Goto(Stmt\Goto_ $node) { + return 'goto ' . $node->name . ';'; + } + + // Other + + protected function pStmt_Expression(Stmt\Expression $node) { + return $this->p($node->expr) . ';'; + } + + protected function pStmt_Echo(Stmt\Echo_ $node) { + return 'echo ' . $this->pCommaSeparated($node->exprs) . ';'; + } + + protected function pStmt_Static(Stmt\Static_ $node) { + return 'static ' . $this->pCommaSeparated($node->vars) . ';'; + } + + protected function pStmt_Global(Stmt\Global_ $node) { + return 'global ' . $this->pCommaSeparated($node->vars) . ';'; + } + + protected function pStmt_StaticVar(Stmt\StaticVar $node) { + return $this->p($node->var) + . (null !== $node->default ? ' = ' . $this->p($node->default) : ''); + } + + protected function pStmt_Unset(Stmt\Unset_ $node) { + return 'unset(' . $this->pCommaSeparated($node->vars) . ');'; + } + + protected function pStmt_InlineHTML(Stmt\InlineHTML $node) { + $newline = $node->getAttribute('hasLeadingNewline', true) ? "\n" : ''; + return '?>' . $newline . $node->value . 'remaining; + } + + protected function pStmt_Nop(Stmt\Nop $node) { + return ''; + } + + // Helpers + + protected function pClassCommon(Stmt\Class_ $node, $afterClassToken) { + return $this->pAttrGroups($node->attrGroups, $node->name === null) + . $this->pModifiers($node->flags) + . 'class' . $afterClassToken + . (null !== $node->extends ? ' extends ' . $this->p($node->extends) : '') + . (!empty($node->implements) ? ' implements ' . $this->pCommaSeparated($node->implements) : '') + . $this->nl . '{' . $this->pStmts($node->stmts) . $this->nl . '}'; + } + + protected function pObjectProperty($node) { + if ($node instanceof Expr) { + return '{' . $this->p($node) . '}'; + } else { + return $node; + } + } + + protected function pEncapsList(array $encapsList, $quote) { + $return = ''; + foreach ($encapsList as $element) { + if ($element instanceof Scalar\EncapsedStringPart) { + $return .= $this->escapeString($element->value, $quote); + } else { + $return .= '{' . $this->p($element) . '}'; + } + } + + return $return; + } + + protected function pSingleQuotedString(string $string) { + return '\'' . addcslashes($string, '\'\\') . '\''; + } + + protected function escapeString($string, $quote) { + if (null === $quote) { + // For doc strings, don't escape newlines + $escaped = addcslashes($string, "\t\f\v$\\"); + } else { + $escaped = addcslashes($string, "\n\r\t\f\v$" . $quote . "\\"); + } + + // Escape control characters and non-UTF-8 characters. + // Regex based on https://stackoverflow.com/a/11709412/385378. + $regex = '/( + [\x00-\x08\x0E-\x1F] # Control characters + | [\xC0-\xC1] # Invalid UTF-8 Bytes + | [\xF5-\xFF] # Invalid UTF-8 Bytes + | \xE0(?=[\x80-\x9F]) # Overlong encoding of prior code point + | \xF0(?=[\x80-\x8F]) # Overlong encoding of prior code point + | [\xC2-\xDF](?![\x80-\xBF]) # Invalid UTF-8 Sequence Start + | [\xE0-\xEF](?![\x80-\xBF]{2}) # Invalid UTF-8 Sequence Start + | [\xF0-\xF4](?![\x80-\xBF]{3}) # Invalid UTF-8 Sequence Start + | (?<=[\x00-\x7F\xF5-\xFF])[\x80-\xBF] # Invalid UTF-8 Sequence Middle + | (? $part) { + $atStart = $i === 0; + $atEnd = $i === count($parts) - 1; + if ($part instanceof Scalar\EncapsedStringPart + && $this->containsEndLabel($part->value, $label, $atStart, $atEnd) + ) { + return true; + } + } + return false; + } + + protected function pDereferenceLhs(Node $node) { + if (!$this->dereferenceLhsRequiresParens($node)) { + return $this->p($node); + } else { + return '(' . $this->p($node) . ')'; + } + } + + protected function pCallLhs(Node $node) { + if (!$this->callLhsRequiresParens($node)) { + return $this->p($node); + } else { + return '(' . $this->p($node) . ')'; + } + } + + protected function pNewVariable(Node $node) { + // TODO: This is not fully accurate. + return $this->pDereferenceLhs($node); + } + + /** + * @param Node[] $nodes + * @return bool + */ + protected function hasNodeWithComments(array $nodes) { + foreach ($nodes as $node) { + if ($node && $node->getComments()) { + return true; + } + } + return false; + } + + protected function pMaybeMultiline(array $nodes, bool $trailingComma = false) { + if (!$this->hasNodeWithComments($nodes)) { + return $this->pCommaSeparated($nodes); + } else { + return $this->pCommaSeparatedMultiline($nodes, $trailingComma) . $this->nl; + } + } + + protected function pAttrGroups(array $nodes, bool $inline = false): string { + $result = ''; + $sep = $inline ? ' ' : $this->nl; + foreach ($nodes as $node) { + $result .= $this->p($node) . $sep; + } + + return $result; + } +} diff --git a/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php b/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php new file mode 100644 index 00000000..6ed936fe --- /dev/null +++ b/vendor/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php @@ -0,0 +1,1521 @@ + [ 0, 1], + Expr\BitwiseNot::class => [ 10, 1], + Expr\PreInc::class => [ 10, 1], + Expr\PreDec::class => [ 10, 1], + Expr\PostInc::class => [ 10, -1], + Expr\PostDec::class => [ 10, -1], + Expr\UnaryPlus::class => [ 10, 1], + Expr\UnaryMinus::class => [ 10, 1], + Cast\Int_::class => [ 10, 1], + Cast\Double::class => [ 10, 1], + Cast\String_::class => [ 10, 1], + Cast\Array_::class => [ 10, 1], + Cast\Object_::class => [ 10, 1], + Cast\Bool_::class => [ 10, 1], + Cast\Unset_::class => [ 10, 1], + Expr\ErrorSuppress::class => [ 10, 1], + Expr\Instanceof_::class => [ 20, 0], + Expr\BooleanNot::class => [ 30, 1], + BinaryOp\Mul::class => [ 40, -1], + BinaryOp\Div::class => [ 40, -1], + BinaryOp\Mod::class => [ 40, -1], + BinaryOp\Plus::class => [ 50, -1], + BinaryOp\Minus::class => [ 50, -1], + BinaryOp\Concat::class => [ 50, -1], + BinaryOp\ShiftLeft::class => [ 60, -1], + BinaryOp\ShiftRight::class => [ 60, -1], + BinaryOp\Smaller::class => [ 70, 0], + BinaryOp\SmallerOrEqual::class => [ 70, 0], + BinaryOp\Greater::class => [ 70, 0], + BinaryOp\GreaterOrEqual::class => [ 70, 0], + BinaryOp\Equal::class => [ 80, 0], + BinaryOp\NotEqual::class => [ 80, 0], + BinaryOp\Identical::class => [ 80, 0], + BinaryOp\NotIdentical::class => [ 80, 0], + BinaryOp\Spaceship::class => [ 80, 0], + BinaryOp\BitwiseAnd::class => [ 90, -1], + BinaryOp\BitwiseXor::class => [100, -1], + BinaryOp\BitwiseOr::class => [110, -1], + BinaryOp\BooleanAnd::class => [120, -1], + BinaryOp\BooleanOr::class => [130, -1], + BinaryOp\Coalesce::class => [140, 1], + Expr\Ternary::class => [150, 0], + // parser uses %left for assignments, but they really behave as %right + Expr\Assign::class => [160, 1], + Expr\AssignRef::class => [160, 1], + AssignOp\Plus::class => [160, 1], + AssignOp\Minus::class => [160, 1], + AssignOp\Mul::class => [160, 1], + AssignOp\Div::class => [160, 1], + AssignOp\Concat::class => [160, 1], + AssignOp\Mod::class => [160, 1], + AssignOp\BitwiseAnd::class => [160, 1], + AssignOp\BitwiseOr::class => [160, 1], + AssignOp\BitwiseXor::class => [160, 1], + AssignOp\ShiftLeft::class => [160, 1], + AssignOp\ShiftRight::class => [160, 1], + AssignOp\Pow::class => [160, 1], + AssignOp\Coalesce::class => [160, 1], + Expr\YieldFrom::class => [165, 1], + Expr\Print_::class => [168, 1], + BinaryOp\LogicalAnd::class => [170, -1], + BinaryOp\LogicalXor::class => [180, -1], + BinaryOp\LogicalOr::class => [190, -1], + Expr\Include_::class => [200, -1], + ]; + + /** @var int Current indentation level. */ + protected $indentLevel; + /** @var string Newline including current indentation. */ + protected $nl; + /** @var string Token placed at end of doc string to ensure it is followed by a newline. */ + protected $docStringEndToken; + /** @var bool Whether semicolon namespaces can be used (i.e. no global namespace is used) */ + protected $canUseSemicolonNamespaces; + /** @var array Pretty printer options */ + protected $options; + + /** @var TokenStream Original tokens for use in format-preserving pretty print */ + protected $origTokens; + /** @var Internal\Differ Differ for node lists */ + protected $nodeListDiffer; + /** @var bool[] Map determining whether a certain character is a label character */ + protected $labelCharMap; + /** + * @var int[][] Map from token classes and subnode names to FIXUP_* constants. This is used + * during format-preserving prints to place additional parens/braces if necessary. + */ + protected $fixupMap; + /** + * @var int[][] Map from "{$node->getType()}->{$subNode}" to ['left' => $l, 'right' => $r], + * where $l and $r specify the token type that needs to be stripped when removing + * this node. + */ + protected $removalMap; + /** + * @var mixed[] Map from "{$node->getType()}->{$subNode}" to [$find, $beforeToken, $extraLeft, $extraRight]. + * $find is an optional token after which the insertion occurs. $extraLeft/Right + * are optionally added before/after the main insertions. + */ + protected $insertionMap; + /** + * @var string[] Map From "{$node->getType()}->{$subNode}" to string that should be inserted + * between elements of this list subnode. + */ + protected $listInsertionMap; + protected $emptyListInsertionMap; + /** @var int[] Map from "{$node->getType()}->{$subNode}" to token before which the modifiers + * should be reprinted. */ + protected $modifierChangeMap; + + /** + * Creates a pretty printer instance using the given options. + * + * Supported options: + * * bool $shortArraySyntax = false: Whether to use [] instead of array() as the default array + * syntax, if the node does not specify a format. + * + * @param array $options Dictionary of formatting options + */ + public function __construct(array $options = []) { + $this->docStringEndToken = '_DOC_STRING_END_' . mt_rand(); + + $defaultOptions = ['shortArraySyntax' => false]; + $this->options = $options + $defaultOptions; + } + + /** + * Reset pretty printing state. + */ + protected function resetState() { + $this->indentLevel = 0; + $this->nl = "\n"; + $this->origTokens = null; + } + + /** + * Set indentation level + * + * @param int $level Level in number of spaces + */ + protected function setIndentLevel(int $level) { + $this->indentLevel = $level; + $this->nl = "\n" . \str_repeat(' ', $level); + } + + /** + * Increase indentation level. + */ + protected function indent() { + $this->indentLevel += 4; + $this->nl .= ' '; + } + + /** + * Decrease indentation level. + */ + protected function outdent() { + assert($this->indentLevel >= 4); + $this->indentLevel -= 4; + $this->nl = "\n" . str_repeat(' ', $this->indentLevel); + } + + /** + * Pretty prints an array of statements. + * + * @param Node[] $stmts Array of statements + * + * @return string Pretty printed statements + */ + public function prettyPrint(array $stmts) : string { + $this->resetState(); + $this->preprocessNodes($stmts); + + return ltrim($this->handleMagicTokens($this->pStmts($stmts, false))); + } + + /** + * Pretty prints an expression. + * + * @param Expr $node Expression node + * + * @return string Pretty printed node + */ + public function prettyPrintExpr(Expr $node) : string { + $this->resetState(); + return $this->handleMagicTokens($this->p($node)); + } + + /** + * Pretty prints a file of statements (includes the opening prettyPrint($stmts); + + if ($stmts[0] instanceof Stmt\InlineHTML) { + $p = preg_replace('/^<\?php\s+\?>\n?/', '', $p); + } + if ($stmts[count($stmts) - 1] instanceof Stmt\InlineHTML) { + $p = preg_replace('/<\?php$/', '', rtrim($p)); + } + + return $p; + } + + /** + * Preprocesses the top-level nodes to initialize pretty printer state. + * + * @param Node[] $nodes Array of nodes + */ + protected function preprocessNodes(array $nodes) { + /* We can use semicolon-namespaces unless there is a global namespace declaration */ + $this->canUseSemicolonNamespaces = true; + foreach ($nodes as $node) { + if ($node instanceof Stmt\Namespace_ && null === $node->name) { + $this->canUseSemicolonNamespaces = false; + break; + } + } + } + + /** + * Handles (and removes) no-indent and doc-string-end tokens. + * + * @param string $str + * @return string + */ + protected function handleMagicTokens(string $str) : string { + // Replace doc-string-end tokens with nothing or a newline + $str = str_replace($this->docStringEndToken . ";\n", ";\n", $str); + $str = str_replace($this->docStringEndToken, "\n", $str); + + return $str; + } + + /** + * Pretty prints an array of nodes (statements) and indents them optionally. + * + * @param Node[] $nodes Array of nodes + * @param bool $indent Whether to indent the printed nodes + * + * @return string Pretty printed statements + */ + protected function pStmts(array $nodes, bool $indent = true) : string { + if ($indent) { + $this->indent(); + } + + $result = ''; + foreach ($nodes as $node) { + $comments = $node->getComments(); + if ($comments) { + $result .= $this->nl . $this->pComments($comments); + if ($node instanceof Stmt\Nop) { + continue; + } + } + + $result .= $this->nl . $this->p($node); + } + + if ($indent) { + $this->outdent(); + } + + return $result; + } + + /** + * Pretty-print an infix operation while taking precedence into account. + * + * @param string $class Node class of operator + * @param Node $leftNode Left-hand side node + * @param string $operatorString String representation of the operator + * @param Node $rightNode Right-hand side node + * + * @return string Pretty printed infix operation + */ + protected function pInfixOp(string $class, Node $leftNode, string $operatorString, Node $rightNode) : string { + list($precedence, $associativity) = $this->precedenceMap[$class]; + + return $this->pPrec($leftNode, $precedence, $associativity, -1) + . $operatorString + . $this->pPrec($rightNode, $precedence, $associativity, 1); + } + + /** + * Pretty-print a prefix operation while taking precedence into account. + * + * @param string $class Node class of operator + * @param string $operatorString String representation of the operator + * @param Node $node Node + * + * @return string Pretty printed prefix operation + */ + protected function pPrefixOp(string $class, string $operatorString, Node $node) : string { + list($precedence, $associativity) = $this->precedenceMap[$class]; + return $operatorString . $this->pPrec($node, $precedence, $associativity, 1); + } + + /** + * Pretty-print a postfix operation while taking precedence into account. + * + * @param string $class Node class of operator + * @param string $operatorString String representation of the operator + * @param Node $node Node + * + * @return string Pretty printed postfix operation + */ + protected function pPostfixOp(string $class, Node $node, string $operatorString) : string { + list($precedence, $associativity) = $this->precedenceMap[$class]; + return $this->pPrec($node, $precedence, $associativity, -1) . $operatorString; + } + + /** + * Prints an expression node with the least amount of parentheses necessary to preserve the meaning. + * + * @param Node $node Node to pretty print + * @param int $parentPrecedence Precedence of the parent operator + * @param int $parentAssociativity Associativity of parent operator + * (-1 is left, 0 is nonassoc, 1 is right) + * @param int $childPosition Position of the node relative to the operator + * (-1 is left, 1 is right) + * + * @return string The pretty printed node + */ + protected function pPrec(Node $node, int $parentPrecedence, int $parentAssociativity, int $childPosition) : string { + $class = \get_class($node); + if (isset($this->precedenceMap[$class])) { + $childPrecedence = $this->precedenceMap[$class][0]; + if ($childPrecedence > $parentPrecedence + || ($parentPrecedence === $childPrecedence && $parentAssociativity !== $childPosition) + ) { + return '(' . $this->p($node) . ')'; + } + } + + return $this->p($node); + } + + /** + * Pretty prints an array of nodes and implodes the printed values. + * + * @param Node[] $nodes Array of Nodes to be printed + * @param string $glue Character to implode with + * + * @return string Imploded pretty printed nodes + */ + protected function pImplode(array $nodes, string $glue = '') : string { + $pNodes = []; + foreach ($nodes as $node) { + if (null === $node) { + $pNodes[] = ''; + } else { + $pNodes[] = $this->p($node); + } + } + + return implode($glue, $pNodes); + } + + /** + * Pretty prints an array of nodes and implodes the printed values with commas. + * + * @param Node[] $nodes Array of Nodes to be printed + * + * @return string Comma separated pretty printed nodes + */ + protected function pCommaSeparated(array $nodes) : string { + return $this->pImplode($nodes, ', '); + } + + /** + * Pretty prints a comma-separated list of nodes in multiline style, including comments. + * + * The result includes a leading newline and one level of indentation (same as pStmts). + * + * @param Node[] $nodes Array of Nodes to be printed + * @param bool $trailingComma Whether to use a trailing comma + * + * @return string Comma separated pretty printed nodes in multiline style + */ + protected function pCommaSeparatedMultiline(array $nodes, bool $trailingComma) : string { + $this->indent(); + + $result = ''; + $lastIdx = count($nodes) - 1; + foreach ($nodes as $idx => $node) { + if ($node !== null) { + $comments = $node->getComments(); + if ($comments) { + $result .= $this->nl . $this->pComments($comments); + } + + $result .= $this->nl . $this->p($node); + } else { + $result .= $this->nl; + } + if ($trailingComma || $idx !== $lastIdx) { + $result .= ','; + } + } + + $this->outdent(); + return $result; + } + + /** + * Prints reformatted text of the passed comments. + * + * @param Comment[] $comments List of comments + * + * @return string Reformatted text of comments + */ + protected function pComments(array $comments) : string { + $formattedComments = []; + + foreach ($comments as $comment) { + $formattedComments[] = str_replace("\n", $this->nl, $comment->getReformattedText()); + } + + return implode($this->nl, $formattedComments); + } + + /** + * Perform a format-preserving pretty print of an AST. + * + * The format preservation is best effort. For some changes to the AST the formatting will not + * be preserved (at least not locally). + * + * In order to use this method a number of prerequisites must be satisfied: + * * The startTokenPos and endTokenPos attributes in the lexer must be enabled. + * * The CloningVisitor must be run on the AST prior to modification. + * * The original tokens must be provided, using the getTokens() method on the lexer. + * + * @param Node[] $stmts Modified AST with links to original AST + * @param Node[] $origStmts Original AST with token offset information + * @param array $origTokens Tokens of the original code + * + * @return string + */ + public function printFormatPreserving(array $stmts, array $origStmts, array $origTokens) : string { + $this->initializeNodeListDiffer(); + $this->initializeLabelCharMap(); + $this->initializeFixupMap(); + $this->initializeRemovalMap(); + $this->initializeInsertionMap(); + $this->initializeListInsertionMap(); + $this->initializeEmptyListInsertionMap(); + $this->initializeModifierChangeMap(); + + $this->resetState(); + $this->origTokens = new TokenStream($origTokens); + + $this->preprocessNodes($stmts); + + $pos = 0; + $result = $this->pArray($stmts, $origStmts, $pos, 0, 'File', 'stmts', null); + if (null !== $result) { + $result .= $this->origTokens->getTokenCode($pos, count($origTokens), 0); + } else { + // Fallback + // TODO Add pStmts($stmts, false); + } + + return ltrim($this->handleMagicTokens($result)); + } + + protected function pFallback(Node $node) { + return $this->{'p' . $node->getType()}($node); + } + + /** + * Pretty prints a node. + * + * This method also handles formatting preservation for nodes. + * + * @param Node $node Node to be pretty printed + * @param bool $parentFormatPreserved Whether parent node has preserved formatting + * + * @return string Pretty printed node + */ + protected function p(Node $node, $parentFormatPreserved = false) : string { + // No orig tokens means this is a normal pretty print without preservation of formatting + if (!$this->origTokens) { + return $this->{'p' . $node->getType()}($node); + } + + /** @var Node $origNode */ + $origNode = $node->getAttribute('origNode'); + if (null === $origNode) { + return $this->pFallback($node); + } + + $class = \get_class($node); + \assert($class === \get_class($origNode)); + + $startPos = $origNode->getStartTokenPos(); + $endPos = $origNode->getEndTokenPos(); + \assert($startPos >= 0 && $endPos >= 0); + + $fallbackNode = $node; + if ($node instanceof Expr\New_ && $node->class instanceof Stmt\Class_) { + // Normalize node structure of anonymous classes + $node = PrintableNewAnonClassNode::fromNewNode($node); + $origNode = PrintableNewAnonClassNode::fromNewNode($origNode); + } + + // InlineHTML node does not contain closing and opening PHP tags. If the parent formatting + // is not preserved, then we need to use the fallback code to make sure the tags are + // printed. + if ($node instanceof Stmt\InlineHTML && !$parentFormatPreserved) { + return $this->pFallback($fallbackNode); + } + + $indentAdjustment = $this->indentLevel - $this->origTokens->getIndentationBefore($startPos); + + $type = $node->getType(); + $fixupInfo = $this->fixupMap[$class] ?? null; + + $result = ''; + $pos = $startPos; + foreach ($node->getSubNodeNames() as $subNodeName) { + $subNode = $node->$subNodeName; + $origSubNode = $origNode->$subNodeName; + + if ((!$subNode instanceof Node && $subNode !== null) + || (!$origSubNode instanceof Node && $origSubNode !== null) + ) { + if ($subNode === $origSubNode) { + // Unchanged, can reuse old code + continue; + } + + if (is_array($subNode) && is_array($origSubNode)) { + // Array subnode changed, we might be able to reconstruct it + $listResult = $this->pArray( + $subNode, $origSubNode, $pos, $indentAdjustment, $type, $subNodeName, + $fixupInfo[$subNodeName] ?? null + ); + if (null === $listResult) { + return $this->pFallback($fallbackNode); + } + + $result .= $listResult; + continue; + } + + if (is_int($subNode) && is_int($origSubNode)) { + // Check if this is a modifier change + $key = $type . '->' . $subNodeName; + if (!isset($this->modifierChangeMap[$key])) { + return $this->pFallback($fallbackNode); + } + + $findToken = $this->modifierChangeMap[$key]; + $result .= $this->pModifiers($subNode); + $pos = $this->origTokens->findRight($pos, $findToken); + continue; + } + + // If a non-node, non-array subnode changed, we don't be able to do a partial + // reconstructions, as we don't have enough offset information. Pretty print the + // whole node instead. + return $this->pFallback($fallbackNode); + } + + $extraLeft = ''; + $extraRight = ''; + if ($origSubNode !== null) { + $subStartPos = $origSubNode->getStartTokenPos(); + $subEndPos = $origSubNode->getEndTokenPos(); + \assert($subStartPos >= 0 && $subEndPos >= 0); + } else { + if ($subNode === null) { + // Both null, nothing to do + continue; + } + + // A node has been inserted, check if we have insertion information for it + $key = $type . '->' . $subNodeName; + if (!isset($this->insertionMap[$key])) { + return $this->pFallback($fallbackNode); + } + + list($findToken, $beforeToken, $extraLeft, $extraRight) = $this->insertionMap[$key]; + if (null !== $findToken) { + $subStartPos = $this->origTokens->findRight($pos, $findToken) + + (int) !$beforeToken; + } else { + $subStartPos = $pos; + } + + if (null === $extraLeft && null !== $extraRight) { + // If inserting on the right only, skipping whitespace looks better + $subStartPos = $this->origTokens->skipRightWhitespace($subStartPos); + } + $subEndPos = $subStartPos - 1; + } + + if (null === $subNode) { + // A node has been removed, check if we have removal information for it + $key = $type . '->' . $subNodeName; + if (!isset($this->removalMap[$key])) { + return $this->pFallback($fallbackNode); + } + + // Adjust positions to account for additional tokens that must be skipped + $removalInfo = $this->removalMap[$key]; + if (isset($removalInfo['left'])) { + $subStartPos = $this->origTokens->skipLeft($subStartPos - 1, $removalInfo['left']) + 1; + } + if (isset($removalInfo['right'])) { + $subEndPos = $this->origTokens->skipRight($subEndPos + 1, $removalInfo['right']) - 1; + } + } + + $result .= $this->origTokens->getTokenCode($pos, $subStartPos, $indentAdjustment); + + if (null !== $subNode) { + $result .= $extraLeft; + + $origIndentLevel = $this->indentLevel; + $this->setIndentLevel($this->origTokens->getIndentationBefore($subStartPos) + $indentAdjustment); + + // If it's the same node that was previously in this position, it certainly doesn't + // need fixup. It's important to check this here, because our fixup checks are more + // conservative than strictly necessary. + if (isset($fixupInfo[$subNodeName]) + && $subNode->getAttribute('origNode') !== $origSubNode + ) { + $fixup = $fixupInfo[$subNodeName]; + $res = $this->pFixup($fixup, $subNode, $class, $subStartPos, $subEndPos); + } else { + $res = $this->p($subNode, true); + } + + $this->safeAppend($result, $res); + $this->setIndentLevel($origIndentLevel); + + $result .= $extraRight; + } + + $pos = $subEndPos + 1; + } + + $result .= $this->origTokens->getTokenCode($pos, $endPos + 1, $indentAdjustment); + return $result; + } + + /** + * Perform a format-preserving pretty print of an array. + * + * @param array $nodes New nodes + * @param array $origNodes Original nodes + * @param int $pos Current token position (updated by reference) + * @param int $indentAdjustment Adjustment for indentation + * @param string $parentNodeType Type of the containing node. + * @param string $subNodeName Name of array subnode. + * @param null|int $fixup Fixup information for array item nodes + * + * @return null|string Result of pretty print or null if cannot preserve formatting + */ + protected function pArray( + array $nodes, array $origNodes, int &$pos, int $indentAdjustment, + string $parentNodeType, string $subNodeName, $fixup + ) { + $diff = $this->nodeListDiffer->diffWithReplacements($origNodes, $nodes); + + $mapKey = $parentNodeType . '->' . $subNodeName; + $insertStr = $this->listInsertionMap[$mapKey] ?? null; + $isStmtList = $subNodeName === 'stmts'; + + $beforeFirstKeepOrReplace = true; + $skipRemovedNode = false; + $delayedAdd = []; + $lastElemIndentLevel = $this->indentLevel; + + $insertNewline = false; + if ($insertStr === "\n") { + $insertStr = ''; + $insertNewline = true; + } + + if ($isStmtList && \count($origNodes) === 1 && \count($nodes) !== 1) { + $startPos = $origNodes[0]->getStartTokenPos(); + $endPos = $origNodes[0]->getEndTokenPos(); + \assert($startPos >= 0 && $endPos >= 0); + if (!$this->origTokens->haveBraces($startPos, $endPos)) { + // This was a single statement without braces, but either additional statements + // have been added, or the single statement has been removed. This requires the + // addition of braces. For now fall back. + // TODO: Try to preserve formatting + return null; + } + } + + $result = ''; + foreach ($diff as $i => $diffElem) { + $diffType = $diffElem->type; + /** @var Node|null $arrItem */ + $arrItem = $diffElem->new; + /** @var Node|null $origArrItem */ + $origArrItem = $diffElem->old; + + if ($diffType === DiffElem::TYPE_KEEP || $diffType === DiffElem::TYPE_REPLACE) { + $beforeFirstKeepOrReplace = false; + + if ($origArrItem === null || $arrItem === null) { + // We can only handle the case where both are null + if ($origArrItem === $arrItem) { + continue; + } + return null; + } + + if (!$arrItem instanceof Node || !$origArrItem instanceof Node) { + // We can only deal with nodes. This can occur for Names, which use string arrays. + return null; + } + + $itemStartPos = $origArrItem->getStartTokenPos(); + $itemEndPos = $origArrItem->getEndTokenPos(); + \assert($itemStartPos >= 0 && $itemEndPos >= 0 && $itemStartPos >= $pos); + + $origIndentLevel = $this->indentLevel; + $lastElemIndentLevel = $this->origTokens->getIndentationBefore($itemStartPos) + $indentAdjustment; + $this->setIndentLevel($lastElemIndentLevel); + + $comments = $arrItem->getComments(); + $origComments = $origArrItem->getComments(); + $commentStartPos = $origComments ? $origComments[0]->getStartTokenPos() : $itemStartPos; + \assert($commentStartPos >= 0); + + if ($commentStartPos < $pos) { + // Comments may be assigned to multiple nodes if they start at the same position. + // Make sure we don't try to print them multiple times. + $commentStartPos = $itemStartPos; + } + + if ($skipRemovedNode) { + if ($isStmtList && ($this->origTokens->haveBracesInRange($pos, $itemStartPos) || + $this->origTokens->haveTagInRange($pos, $itemStartPos))) { + // We'd remove the brace of a code block. + // TODO: Preserve formatting. + $this->setIndentLevel($origIndentLevel); + return null; + } + } else { + $result .= $this->origTokens->getTokenCode( + $pos, $commentStartPos, $indentAdjustment); + } + + if (!empty($delayedAdd)) { + /** @var Node $delayedAddNode */ + foreach ($delayedAdd as $delayedAddNode) { + if ($insertNewline) { + $delayedAddComments = $delayedAddNode->getComments(); + if ($delayedAddComments) { + $result .= $this->pComments($delayedAddComments) . $this->nl; + } + } + + $this->safeAppend($result, $this->p($delayedAddNode, true)); + + if ($insertNewline) { + $result .= $insertStr . $this->nl; + } else { + $result .= $insertStr; + } + } + + $delayedAdd = []; + } + + if ($comments !== $origComments) { + if ($comments) { + $result .= $this->pComments($comments) . $this->nl; + } + } else { + $result .= $this->origTokens->getTokenCode( + $commentStartPos, $itemStartPos, $indentAdjustment); + } + + // If we had to remove anything, we have done so now. + $skipRemovedNode = false; + } elseif ($diffType === DiffElem::TYPE_ADD) { + if (null === $insertStr) { + // We don't have insertion information for this list type + return null; + } + + // We go multiline if the original code was multiline, + // or if it's an array item with a comment above it. + if ($insertStr === ', ' && + ($this->isMultiline($origNodes) || $arrItem->getComments()) + ) { + $insertStr = ','; + $insertNewline = true; + } + + if ($beforeFirstKeepOrReplace) { + // Will be inserted at the next "replace" or "keep" element + $delayedAdd[] = $arrItem; + continue; + } + + $itemStartPos = $pos; + $itemEndPos = $pos - 1; + + $origIndentLevel = $this->indentLevel; + $this->setIndentLevel($lastElemIndentLevel); + + if ($insertNewline) { + $result .= $insertStr . $this->nl; + $comments = $arrItem->getComments(); + if ($comments) { + $result .= $this->pComments($comments) . $this->nl; + } + } else { + $result .= $insertStr; + } + } elseif ($diffType === DiffElem::TYPE_REMOVE) { + if (!$origArrItem instanceof Node) { + // We only support removal for nodes + return null; + } + + $itemStartPos = $origArrItem->getStartTokenPos(); + $itemEndPos = $origArrItem->getEndTokenPos(); + \assert($itemStartPos >= 0 && $itemEndPos >= 0); + + // Consider comments part of the node. + $origComments = $origArrItem->getComments(); + if ($origComments) { + $itemStartPos = $origComments[0]->getStartTokenPos(); + } + + if ($i === 0) { + // If we're removing from the start, keep the tokens before the node and drop those after it, + // instead of the other way around. + $result .= $this->origTokens->getTokenCode( + $pos, $itemStartPos, $indentAdjustment); + $skipRemovedNode = true; + } else { + if ($isStmtList && ($this->origTokens->haveBracesInRange($pos, $itemStartPos) || + $this->origTokens->haveTagInRange($pos, $itemStartPos))) { + // We'd remove the brace of a code block. + // TODO: Preserve formatting. + return null; + } + } + + $pos = $itemEndPos + 1; + continue; + } else { + throw new \Exception("Shouldn't happen"); + } + + if (null !== $fixup && $arrItem->getAttribute('origNode') !== $origArrItem) { + $res = $this->pFixup($fixup, $arrItem, null, $itemStartPos, $itemEndPos); + } else { + $res = $this->p($arrItem, true); + } + $this->safeAppend($result, $res); + + $this->setIndentLevel($origIndentLevel); + $pos = $itemEndPos + 1; + } + + if ($skipRemovedNode) { + // TODO: Support removing single node. + return null; + } + + if (!empty($delayedAdd)) { + if (!isset($this->emptyListInsertionMap[$mapKey])) { + return null; + } + + list($findToken, $extraLeft, $extraRight) = $this->emptyListInsertionMap[$mapKey]; + if (null !== $findToken) { + $insertPos = $this->origTokens->findRight($pos, $findToken) + 1; + $result .= $this->origTokens->getTokenCode($pos, $insertPos, $indentAdjustment); + $pos = $insertPos; + } + + $first = true; + $result .= $extraLeft; + foreach ($delayedAdd as $delayedAddNode) { + if (!$first) { + $result .= $insertStr; + if ($insertNewline) { + $result .= $this->nl; + } + } + $result .= $this->p($delayedAddNode, true); + $first = false; + } + $result .= $extraRight === "\n" ? $this->nl : $extraRight; + } + + return $result; + } + + /** + * Print node with fixups. + * + * Fixups here refer to the addition of extra parentheses, braces or other characters, that + * are required to preserve program semantics in a certain context (e.g. to maintain precedence + * or because only certain expressions are allowed in certain places). + * + * @param int $fixup Fixup type + * @param Node $subNode Subnode to print + * @param string|null $parentClass Class of parent node + * @param int $subStartPos Original start pos of subnode + * @param int $subEndPos Original end pos of subnode + * + * @return string Result of fixed-up print of subnode + */ + protected function pFixup(int $fixup, Node $subNode, $parentClass, int $subStartPos, int $subEndPos) : string { + switch ($fixup) { + case self::FIXUP_PREC_LEFT: + case self::FIXUP_PREC_RIGHT: + if (!$this->origTokens->haveParens($subStartPos, $subEndPos)) { + list($precedence, $associativity) = $this->precedenceMap[$parentClass]; + return $this->pPrec($subNode, $precedence, $associativity, + $fixup === self::FIXUP_PREC_LEFT ? -1 : 1); + } + break; + case self::FIXUP_CALL_LHS: + if ($this->callLhsRequiresParens($subNode) + && !$this->origTokens->haveParens($subStartPos, $subEndPos) + ) { + return '(' . $this->p($subNode) . ')'; + } + break; + case self::FIXUP_DEREF_LHS: + if ($this->dereferenceLhsRequiresParens($subNode) + && !$this->origTokens->haveParens($subStartPos, $subEndPos) + ) { + return '(' . $this->p($subNode) . ')'; + } + break; + case self::FIXUP_BRACED_NAME: + case self::FIXUP_VAR_BRACED_NAME: + if ($subNode instanceof Expr + && !$this->origTokens->haveBraces($subStartPos, $subEndPos) + ) { + return ($fixup === self::FIXUP_VAR_BRACED_NAME ? '$' : '') + . '{' . $this->p($subNode) . '}'; + } + break; + case self::FIXUP_ENCAPSED: + if (!$subNode instanceof Scalar\EncapsedStringPart + && !$this->origTokens->haveBraces($subStartPos, $subEndPos) + ) { + return '{' . $this->p($subNode) . '}'; + } + break; + default: + throw new \Exception('Cannot happen'); + } + + // Nothing special to do + return $this->p($subNode); + } + + /** + * Appends to a string, ensuring whitespace between label characters. + * + * Example: "echo" and "$x" result in "echo$x", but "echo" and "x" result in "echo x". + * Without safeAppend the result would be "echox", which does not preserve semantics. + * + * @param string $str + * @param string $append + */ + protected function safeAppend(string &$str, string $append) { + if ($str === "") { + $str = $append; + return; + } + + if ($append === "") { + return; + } + + if (!$this->labelCharMap[$append[0]] + || !$this->labelCharMap[$str[\strlen($str) - 1]]) { + $str .= $append; + } else { + $str .= " " . $append; + } + } + + /** + * Determines whether the LHS of a call must be wrapped in parenthesis. + * + * @param Node $node LHS of a call + * + * @return bool Whether parentheses are required + */ + protected function callLhsRequiresParens(Node $node) : bool { + return !($node instanceof Node\Name + || $node instanceof Expr\Variable + || $node instanceof Expr\ArrayDimFetch + || $node instanceof Expr\FuncCall + || $node instanceof Expr\MethodCall + || $node instanceof Expr\NullsafeMethodCall + || $node instanceof Expr\StaticCall + || $node instanceof Expr\Array_); + } + + /** + * Determines whether the LHS of a dereferencing operation must be wrapped in parenthesis. + * + * @param Node $node LHS of dereferencing operation + * + * @return bool Whether parentheses are required + */ + protected function dereferenceLhsRequiresParens(Node $node) : bool { + return !($node instanceof Expr\Variable + || $node instanceof Node\Name + || $node instanceof Expr\ArrayDimFetch + || $node instanceof Expr\PropertyFetch + || $node instanceof Expr\NullsafePropertyFetch + || $node instanceof Expr\StaticPropertyFetch + || $node instanceof Expr\FuncCall + || $node instanceof Expr\MethodCall + || $node instanceof Expr\NullsafeMethodCall + || $node instanceof Expr\StaticCall + || $node instanceof Expr\Array_ + || $node instanceof Scalar\String_ + || $node instanceof Expr\ConstFetch + || $node instanceof Expr\ClassConstFetch); + } + + /** + * Print modifiers, including trailing whitespace. + * + * @param int $modifiers Modifier mask to print + * + * @return string Printed modifiers + */ + protected function pModifiers(int $modifiers) { + return ($modifiers & Stmt\Class_::MODIFIER_PUBLIC ? 'public ' : '') + . ($modifiers & Stmt\Class_::MODIFIER_PROTECTED ? 'protected ' : '') + . ($modifiers & Stmt\Class_::MODIFIER_PRIVATE ? 'private ' : '') + . ($modifiers & Stmt\Class_::MODIFIER_STATIC ? 'static ' : '') + . ($modifiers & Stmt\Class_::MODIFIER_ABSTRACT ? 'abstract ' : '') + . ($modifiers & Stmt\Class_::MODIFIER_FINAL ? 'final ' : '') + . ($modifiers & Stmt\Class_::MODIFIER_READONLY ? 'readonly ' : ''); + } + + /** + * Determine whether a list of nodes uses multiline formatting. + * + * @param (Node|null)[] $nodes Node list + * + * @return bool Whether multiline formatting is used + */ + protected function isMultiline(array $nodes) : bool { + if (\count($nodes) < 2) { + return false; + } + + $pos = -1; + foreach ($nodes as $node) { + if (null === $node) { + continue; + } + + $endPos = $node->getEndTokenPos() + 1; + if ($pos >= 0) { + $text = $this->origTokens->getTokenCode($pos, $endPos, 0); + if (false === strpos($text, "\n")) { + // We require that a newline is present between *every* item. If the formatting + // is inconsistent, with only some items having newlines, we don't consider it + // as multiline + return false; + } + } + $pos = $endPos; + } + + return true; + } + + /** + * Lazily initializes label char map. + * + * The label char map determines whether a certain character may occur in a label. + */ + protected function initializeLabelCharMap() { + if ($this->labelCharMap) return; + + $this->labelCharMap = []; + for ($i = 0; $i < 256; $i++) { + // Since PHP 7.1 The lower range is 0x80. However, we also want to support code for + // older versions. + $chr = chr($i); + $this->labelCharMap[$chr] = $i >= 0x7f || ctype_alnum($chr); + } + } + + /** + * Lazily initializes node list differ. + * + * The node list differ is used to determine differences between two array subnodes. + */ + protected function initializeNodeListDiffer() { + if ($this->nodeListDiffer) return; + + $this->nodeListDiffer = new Internal\Differ(function ($a, $b) { + if ($a instanceof Node && $b instanceof Node) { + return $a === $b->getAttribute('origNode'); + } + // Can happen for array destructuring + return $a === null && $b === null; + }); + } + + /** + * Lazily initializes fixup map. + * + * The fixup map is used to determine whether a certain subnode of a certain node may require + * some kind of "fixup" operation, e.g. the addition of parenthesis or braces. + */ + protected function initializeFixupMap() { + if ($this->fixupMap) return; + + $this->fixupMap = [ + Expr\PreInc::class => ['var' => self::FIXUP_PREC_RIGHT], + Expr\PreDec::class => ['var' => self::FIXUP_PREC_RIGHT], + Expr\PostInc::class => ['var' => self::FIXUP_PREC_LEFT], + Expr\PostDec::class => ['var' => self::FIXUP_PREC_LEFT], + Expr\Instanceof_::class => [ + 'expr' => self::FIXUP_PREC_LEFT, + 'class' => self::FIXUP_PREC_RIGHT, // TODO: FIXUP_NEW_VARIABLE + ], + Expr\Ternary::class => [ + 'cond' => self::FIXUP_PREC_LEFT, + 'else' => self::FIXUP_PREC_RIGHT, + ], + + Expr\FuncCall::class => ['name' => self::FIXUP_CALL_LHS], + Expr\StaticCall::class => ['class' => self::FIXUP_DEREF_LHS], + Expr\ArrayDimFetch::class => ['var' => self::FIXUP_DEREF_LHS], + Expr\ClassConstFetch::class => ['var' => self::FIXUP_DEREF_LHS], + Expr\New_::class => ['class' => self::FIXUP_DEREF_LHS], // TODO: FIXUP_NEW_VARIABLE + Expr\MethodCall::class => [ + 'var' => self::FIXUP_DEREF_LHS, + 'name' => self::FIXUP_BRACED_NAME, + ], + Expr\NullsafeMethodCall::class => [ + 'var' => self::FIXUP_DEREF_LHS, + 'name' => self::FIXUP_BRACED_NAME, + ], + Expr\StaticPropertyFetch::class => [ + 'class' => self::FIXUP_DEREF_LHS, + 'name' => self::FIXUP_VAR_BRACED_NAME, + ], + Expr\PropertyFetch::class => [ + 'var' => self::FIXUP_DEREF_LHS, + 'name' => self::FIXUP_BRACED_NAME, + ], + Expr\NullsafePropertyFetch::class => [ + 'var' => self::FIXUP_DEREF_LHS, + 'name' => self::FIXUP_BRACED_NAME, + ], + Scalar\Encapsed::class => [ + 'parts' => self::FIXUP_ENCAPSED, + ], + ]; + + $binaryOps = [ + BinaryOp\Pow::class, BinaryOp\Mul::class, BinaryOp\Div::class, BinaryOp\Mod::class, + BinaryOp\Plus::class, BinaryOp\Minus::class, BinaryOp\Concat::class, + BinaryOp\ShiftLeft::class, BinaryOp\ShiftRight::class, BinaryOp\Smaller::class, + BinaryOp\SmallerOrEqual::class, BinaryOp\Greater::class, BinaryOp\GreaterOrEqual::class, + BinaryOp\Equal::class, BinaryOp\NotEqual::class, BinaryOp\Identical::class, + BinaryOp\NotIdentical::class, BinaryOp\Spaceship::class, BinaryOp\BitwiseAnd::class, + BinaryOp\BitwiseXor::class, BinaryOp\BitwiseOr::class, BinaryOp\BooleanAnd::class, + BinaryOp\BooleanOr::class, BinaryOp\Coalesce::class, BinaryOp\LogicalAnd::class, + BinaryOp\LogicalXor::class, BinaryOp\LogicalOr::class, + ]; + foreach ($binaryOps as $binaryOp) { + $this->fixupMap[$binaryOp] = [ + 'left' => self::FIXUP_PREC_LEFT, + 'right' => self::FIXUP_PREC_RIGHT + ]; + } + + $assignOps = [ + Expr\Assign::class, Expr\AssignRef::class, AssignOp\Plus::class, AssignOp\Minus::class, + AssignOp\Mul::class, AssignOp\Div::class, AssignOp\Concat::class, AssignOp\Mod::class, + AssignOp\BitwiseAnd::class, AssignOp\BitwiseOr::class, AssignOp\BitwiseXor::class, + AssignOp\ShiftLeft::class, AssignOp\ShiftRight::class, AssignOp\Pow::class, AssignOp\Coalesce::class + ]; + foreach ($assignOps as $assignOp) { + $this->fixupMap[$assignOp] = [ + 'var' => self::FIXUP_PREC_LEFT, + 'expr' => self::FIXUP_PREC_RIGHT, + ]; + } + + $prefixOps = [ + Expr\BitwiseNot::class, Expr\BooleanNot::class, Expr\UnaryPlus::class, Expr\UnaryMinus::class, + Cast\Int_::class, Cast\Double::class, Cast\String_::class, Cast\Array_::class, + Cast\Object_::class, Cast\Bool_::class, Cast\Unset_::class, Expr\ErrorSuppress::class, + Expr\YieldFrom::class, Expr\Print_::class, Expr\Include_::class, + ]; + foreach ($prefixOps as $prefixOp) { + $this->fixupMap[$prefixOp] = ['expr' => self::FIXUP_PREC_RIGHT]; + } + } + + /** + * Lazily initializes the removal map. + * + * The removal map is used to determine which additional tokens should be removed when a + * certain node is replaced by null. + */ + protected function initializeRemovalMap() { + if ($this->removalMap) return; + + $stripBoth = ['left' => \T_WHITESPACE, 'right' => \T_WHITESPACE]; + $stripLeft = ['left' => \T_WHITESPACE]; + $stripRight = ['right' => \T_WHITESPACE]; + $stripDoubleArrow = ['right' => \T_DOUBLE_ARROW]; + $stripColon = ['left' => ':']; + $stripEquals = ['left' => '=']; + $this->removalMap = [ + 'Expr_ArrayDimFetch->dim' => $stripBoth, + 'Expr_ArrayItem->key' => $stripDoubleArrow, + 'Expr_ArrowFunction->returnType' => $stripColon, + 'Expr_Closure->returnType' => $stripColon, + 'Expr_Exit->expr' => $stripBoth, + 'Expr_Ternary->if' => $stripBoth, + 'Expr_Yield->key' => $stripDoubleArrow, + 'Expr_Yield->value' => $stripBoth, + 'Param->type' => $stripRight, + 'Param->default' => $stripEquals, + 'Stmt_Break->num' => $stripBoth, + 'Stmt_Catch->var' => $stripLeft, + 'Stmt_ClassMethod->returnType' => $stripColon, + 'Stmt_Class->extends' => ['left' => \T_EXTENDS], + 'Stmt_Enum->scalarType' => $stripColon, + 'Stmt_EnumCase->expr' => $stripEquals, + 'Expr_PrintableNewAnonClass->extends' => ['left' => \T_EXTENDS], + 'Stmt_Continue->num' => $stripBoth, + 'Stmt_Foreach->keyVar' => $stripDoubleArrow, + 'Stmt_Function->returnType' => $stripColon, + 'Stmt_If->else' => $stripLeft, + 'Stmt_Namespace->name' => $stripLeft, + 'Stmt_Property->type' => $stripRight, + 'Stmt_PropertyProperty->default' => $stripEquals, + 'Stmt_Return->expr' => $stripBoth, + 'Stmt_StaticVar->default' => $stripEquals, + 'Stmt_TraitUseAdaptation_Alias->newName' => $stripLeft, + 'Stmt_TryCatch->finally' => $stripLeft, + // 'Stmt_Case->cond': Replace with "default" + // 'Stmt_Class->name': Unclear what to do + // 'Stmt_Declare->stmts': Not a plain node + // 'Stmt_TraitUseAdaptation_Alias->newModifier': Not a plain node + ]; + } + + protected function initializeInsertionMap() { + if ($this->insertionMap) return; + + // TODO: "yield" where both key and value are inserted doesn't work + // [$find, $beforeToken, $extraLeft, $extraRight] + $this->insertionMap = [ + 'Expr_ArrayDimFetch->dim' => ['[', false, null, null], + 'Expr_ArrayItem->key' => [null, false, null, ' => '], + 'Expr_ArrowFunction->returnType' => [')', false, ' : ', null], + 'Expr_Closure->returnType' => [')', false, ' : ', null], + 'Expr_Ternary->if' => ['?', false, ' ', ' '], + 'Expr_Yield->key' => [\T_YIELD, false, null, ' => '], + 'Expr_Yield->value' => [\T_YIELD, false, ' ', null], + 'Param->type' => [null, false, null, ' '], + 'Param->default' => [null, false, ' = ', null], + 'Stmt_Break->num' => [\T_BREAK, false, ' ', null], + 'Stmt_Catch->var' => [null, false, ' ', null], + 'Stmt_ClassMethod->returnType' => [')', false, ' : ', null], + 'Stmt_Class->extends' => [null, false, ' extends ', null], + 'Stmt_Enum->scalarType' => [null, false, ' : ', null], + 'Stmt_EnumCase->expr' => [null, false, ' = ', null], + 'Expr_PrintableNewAnonClass->extends' => [null, ' extends ', null], + 'Stmt_Continue->num' => [\T_CONTINUE, false, ' ', null], + 'Stmt_Foreach->keyVar' => [\T_AS, false, null, ' => '], + 'Stmt_Function->returnType' => [')', false, ' : ', null], + 'Stmt_If->else' => [null, false, ' ', null], + 'Stmt_Namespace->name' => [\T_NAMESPACE, false, ' ', null], + 'Stmt_Property->type' => [\T_VARIABLE, true, null, ' '], + 'Stmt_PropertyProperty->default' => [null, false, ' = ', null], + 'Stmt_Return->expr' => [\T_RETURN, false, ' ', null], + 'Stmt_StaticVar->default' => [null, false, ' = ', null], + //'Stmt_TraitUseAdaptation_Alias->newName' => [T_AS, false, ' ', null], // TODO + 'Stmt_TryCatch->finally' => [null, false, ' ', null], + + // 'Expr_Exit->expr': Complicated due to optional () + // 'Stmt_Case->cond': Conversion from default to case + // 'Stmt_Class->name': Unclear + // 'Stmt_Declare->stmts': Not a proper node + // 'Stmt_TraitUseAdaptation_Alias->newModifier': Not a proper node + ]; + } + + protected function initializeListInsertionMap() { + if ($this->listInsertionMap) return; + + $this->listInsertionMap = [ + // special + //'Expr_ShellExec->parts' => '', // TODO These need to be treated more carefully + //'Scalar_Encapsed->parts' => '', + 'Stmt_Catch->types' => '|', + 'UnionType->types' => '|', + 'IntersectionType->types' => '&', + 'Stmt_If->elseifs' => ' ', + 'Stmt_TryCatch->catches' => ' ', + + // comma-separated lists + 'Expr_Array->items' => ', ', + 'Expr_ArrowFunction->params' => ', ', + 'Expr_Closure->params' => ', ', + 'Expr_Closure->uses' => ', ', + 'Expr_FuncCall->args' => ', ', + 'Expr_Isset->vars' => ', ', + 'Expr_List->items' => ', ', + 'Expr_MethodCall->args' => ', ', + 'Expr_NullsafeMethodCall->args' => ', ', + 'Expr_New->args' => ', ', + 'Expr_PrintableNewAnonClass->args' => ', ', + 'Expr_StaticCall->args' => ', ', + 'Stmt_ClassConst->consts' => ', ', + 'Stmt_ClassMethod->params' => ', ', + 'Stmt_Class->implements' => ', ', + 'Stmt_Enum->implements' => ', ', + 'Expr_PrintableNewAnonClass->implements' => ', ', + 'Stmt_Const->consts' => ', ', + 'Stmt_Declare->declares' => ', ', + 'Stmt_Echo->exprs' => ', ', + 'Stmt_For->init' => ', ', + 'Stmt_For->cond' => ', ', + 'Stmt_For->loop' => ', ', + 'Stmt_Function->params' => ', ', + 'Stmt_Global->vars' => ', ', + 'Stmt_GroupUse->uses' => ', ', + 'Stmt_Interface->extends' => ', ', + 'Stmt_Match->arms' => ', ', + 'Stmt_Property->props' => ', ', + 'Stmt_StaticVar->vars' => ', ', + 'Stmt_TraitUse->traits' => ', ', + 'Stmt_TraitUseAdaptation_Precedence->insteadof' => ', ', + 'Stmt_Unset->vars' => ', ', + 'Stmt_Use->uses' => ', ', + 'MatchArm->conds' => ', ', + 'AttributeGroup->attrs' => ', ', + + // statement lists + 'Expr_Closure->stmts' => "\n", + 'Stmt_Case->stmts' => "\n", + 'Stmt_Catch->stmts' => "\n", + 'Stmt_Class->stmts' => "\n", + 'Stmt_Enum->stmts' => "\n", + 'Expr_PrintableNewAnonClass->stmts' => "\n", + 'Stmt_Interface->stmts' => "\n", + 'Stmt_Trait->stmts' => "\n", + 'Stmt_ClassMethod->stmts' => "\n", + 'Stmt_Declare->stmts' => "\n", + 'Stmt_Do->stmts' => "\n", + 'Stmt_ElseIf->stmts' => "\n", + 'Stmt_Else->stmts' => "\n", + 'Stmt_Finally->stmts' => "\n", + 'Stmt_Foreach->stmts' => "\n", + 'Stmt_For->stmts' => "\n", + 'Stmt_Function->stmts' => "\n", + 'Stmt_If->stmts' => "\n", + 'Stmt_Namespace->stmts' => "\n", + 'Stmt_Class->attrGroups' => "\n", + 'Stmt_Enum->attrGroups' => "\n", + 'Stmt_EnumCase->attrGroups' => "\n", + 'Stmt_Interface->attrGroups' => "\n", + 'Stmt_Trait->attrGroups' => "\n", + 'Stmt_Function->attrGroups' => "\n", + 'Stmt_ClassMethod->attrGroups' => "\n", + 'Stmt_ClassConst->attrGroups' => "\n", + 'Stmt_Property->attrGroups' => "\n", + 'Expr_PrintableNewAnonClass->attrGroups' => ' ', + 'Expr_Closure->attrGroups' => ' ', + 'Expr_ArrowFunction->attrGroups' => ' ', + 'Param->attrGroups' => ' ', + 'Stmt_Switch->cases' => "\n", + 'Stmt_TraitUse->adaptations' => "\n", + 'Stmt_TryCatch->stmts' => "\n", + 'Stmt_While->stmts' => "\n", + + // dummy for top-level context + 'File->stmts' => "\n", + ]; + } + + protected function initializeEmptyListInsertionMap() { + if ($this->emptyListInsertionMap) return; + + // TODO Insertion into empty statement lists. + + // [$find, $extraLeft, $extraRight] + $this->emptyListInsertionMap = [ + 'Expr_ArrowFunction->params' => ['(', '', ''], + 'Expr_Closure->uses' => [')', ' use(', ')'], + 'Expr_Closure->params' => ['(', '', ''], + 'Expr_FuncCall->args' => ['(', '', ''], + 'Expr_MethodCall->args' => ['(', '', ''], + 'Expr_NullsafeMethodCall->args' => ['(', '', ''], + 'Expr_New->args' => ['(', '', ''], + 'Expr_PrintableNewAnonClass->args' => ['(', '', ''], + 'Expr_PrintableNewAnonClass->implements' => [null, ' implements ', ''], + 'Expr_StaticCall->args' => ['(', '', ''], + 'Stmt_Class->implements' => [null, ' implements ', ''], + 'Stmt_Enum->implements' => [null, ' implements ', ''], + 'Stmt_ClassMethod->params' => ['(', '', ''], + 'Stmt_Interface->extends' => [null, ' extends ', ''], + 'Stmt_Function->params' => ['(', '', ''], + 'Stmt_Interface->attrGroups' => [null, '', "\n"], + 'Stmt_Class->attrGroups' => [null, '', "\n"], + 'Stmt_ClassConst->attrGroups' => [null, '', "\n"], + 'Stmt_ClassMethod->attrGroups' => [null, '', "\n"], + 'Stmt_Function->attrGroups' => [null, '', "\n"], + 'Stmt_Property->attrGroups' => [null, '', "\n"], + 'Stmt_Trait->attrGroups' => [null, '', "\n"], + 'Expr_ArrowFunction->attrGroups' => [null, '', ' '], + 'Expr_Closure->attrGroups' => [null, '', ' '], + 'Expr_PrintableNewAnonClass->attrGroups' => [\T_NEW, ' ', ''], + + /* These cannot be empty to start with: + * Expr_Isset->vars + * Stmt_Catch->types + * Stmt_Const->consts + * Stmt_ClassConst->consts + * Stmt_Declare->declares + * Stmt_Echo->exprs + * Stmt_Global->vars + * Stmt_GroupUse->uses + * Stmt_Property->props + * Stmt_StaticVar->vars + * Stmt_TraitUse->traits + * Stmt_TraitUseAdaptation_Precedence->insteadof + * Stmt_Unset->vars + * Stmt_Use->uses + * UnionType->types + */ + + /* TODO + * Stmt_If->elseifs + * Stmt_TryCatch->catches + * Expr_Array->items + * Expr_List->items + * Stmt_For->init + * Stmt_For->cond + * Stmt_For->loop + */ + ]; + } + + protected function initializeModifierChangeMap() { + if ($this->modifierChangeMap) return; + + $this->modifierChangeMap = [ + 'Stmt_ClassConst->flags' => \T_CONST, + 'Stmt_ClassMethod->flags' => \T_FUNCTION, + 'Stmt_Class->flags' => \T_CLASS, + 'Stmt_Property->flags' => \T_VARIABLE, + 'Param->flags' => \T_VARIABLE, + //'Stmt_TraitUseAdaptation_Alias->newModifier' => 0, // TODO + ]; + + // List of integer subnodes that are not modifiers: + // Expr_Include->type + // Stmt_GroupUse->type + // Stmt_Use->type + // Stmt_UseUse->type + } +} diff --git a/vendor/phpstan/phpstan/phpstan.phar b/vendor/phpstan/phpstan/phpstan.phar index 210214f8..f96912fb 100755 Binary files a/vendor/phpstan/phpstan/phpstan.phar and b/vendor/phpstan/phpstan/phpstan.phar differ diff --git a/vendor/phpstan/phpstan/phpstan.phar.asc b/vendor/phpstan/phpstan/phpstan.phar.asc index 7c45832e..89f0c673 100644 --- a/vendor/phpstan/phpstan/phpstan.phar.asc +++ b/vendor/phpstan/phpstan/phpstan.phar.asc @@ -1,16 +1,16 @@ -----BEGIN PGP SIGNATURE----- -iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmP6H1oACgkQzxoQjQ56 -5yCVhxAAlXqhfvKCITSAJjkaIhncEBHpT5Ogby65BX1O5+SkKyc/OO7JnjlN8cLB -DKbJpdc8P2Dbfo/uBHVR5YiNX5CWYzgdMzCpLQI20Ffa7qkeRbA5ZS2AfdIfLqhD -PswlQIYxg0F3lj0L+joTxfBiHgmR5wnOUx1sLXnEbqGtFzzGstPGDg9gjKKh5EnO -g207jrm1we05+k3kKzr233/ENvQD6bBWLr2yngyMoirOuDpurAuPjkBL7vN6PDbx -DlyGDazsgU/R7aE2FtqmFC8KIU/BgnpbCSWTHBEJAqtncHbwTgneyEm+88lT6cUt -YM72Rh1+QTvS3WgJ/q7AQRik2aE83Kz2rc3XOl1ADd45J3Oan1rqQXdnKtH6qZeT -wMk6PE8SQPJ8NMHy3LT048PfMOakAtgBL5xonbVqX0IFAvKAMRijwBCNKat2yRsB -0VGnoeH7klf1fSSo0xOD20Pd0uIILAWZlBjb2e/1NRytFQkokAr1bsLD/VJHiNYh -lPQ4OztCT/uumJOAgTKm10T56CK1u0VxhIVtQ+/NkTvAwrmpX0KKqbYPP/1hZqVO -vFaWJR4iLFNt+il7dlv56jmTAneUrGrWkQdVFbz5FVpqz7abIo+/cevbSSndFZCI -K1mn42aFdYXSqVTFpkzeOQeJPPysEYDysFk7ClhE+F48HN7WAtw= -=A7BG +iQIzBAABCgAdFiEE0yaA1ZV9xxFr4pwUzxoQjQ565yAFAmQHatYACgkQzxoQjQ56 +5yAU7A/8CLVE46kub8QEP/s8/w9T4uOyG1vsFwv9dafa4PySyvhZCr/vliCuYyF9 +JUUSXqyGIFi+VKsuY8y7u5zaVqpq6O6qJBkzsUK/X9BHZfFEo1k2v/NNJD7t3p0b +or5u9bOTlSJnXV+1hPNjkW4wcnxR6kuJQIoz9XwNsQC07mPVxNrHknxnkgGFVDNR +ITjpW3rBW3vRtoOWajPJMXZt6f+pJCl8ccISK97gskAzK75t2Ymle9fV9FdQYGWt +8X/gfQtVfJOkEmHV6F+pUE9o++aNCPljNo1O+1eS62TTOSRlS6fNhppu/o7Z4IIi +9QS3DHhDTGQPLUCXbMToK/kwRCAzDe9lFgjpKIUQhmEGKOjTNup2NPqWGtQNQj7h +WTP6W2GNpGh5g+d7Tm667FKej/AgixwvpdJqR1VGk2PI2EYMryMz17nQ1cvGinOW +X3auWZe/HWuyqFtt5r85ffZGVS/4xKxeAK85HPrn3mzotiXr/KZf8S525BuGqUaZ +lQ7paCM6kZ9rn9vMmLEe57Ypl7bMzfUV6c2k5KYYR2EV9LXzNPS9G7Yhpg/Q3G2S +cTqxKuBk+hvXd3rp4OwzrjAUps8w4XzyHBpDl9k1n2oB+1Plygrkew8Z5CRglTL4 +lSQAD2FLSTEAvPcFi3kkiBxxeoXSSnjP2iruPsAkcfzsENBFTdM= +=4/CB -----END PGP SIGNATURE----- diff --git a/vendor/sebastian/diff/ChangeLog.md b/vendor/sebastian/diff/ChangeLog.md new file mode 100644 index 00000000..7db073c7 --- /dev/null +++ b/vendor/sebastian/diff/ChangeLog.md @@ -0,0 +1,99 @@ +# ChangeLog + +All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles. + +## [5.0.0] - 2022-02-03 + +### Changed + +* Passing a `DiffOutputBuilderInterface` instance to `Differ::__construct()` is no longer optional + +### Removed + +* Removed support for PHP 7.3, PHP 7.4, and PHP 8.0 + +## [4.0.4] - 2020-10-26 + +### Fixed + +* `SebastianBergmann\Diff\Exception` now correctly extends `\Throwable` + +## [4.0.3] - 2020-09-28 + +### Changed + +* Changed PHP version constraint in `composer.json` from `^7.3 || ^8.0` to `>=7.3` + +## [4.0.2] - 2020-06-30 + +### Added + +* This component is now supported on PHP 8 + +## [4.0.1] - 2020-05-08 + +### Fixed + +* [#99](https://github.com/sebastianbergmann/diff/pull/99): Regression in unified diff output of identical strings + +## [4.0.0] - 2020-02-07 + +### Removed + +* Removed support for PHP 7.1 and PHP 7.2 + +## [3.0.2] - 2019-02-04 + +### Changed + +* `Chunk::setLines()` now ensures that the `$lines` array only contains `Line` objects + +## [3.0.1] - 2018-06-10 + +### Fixed + +* Removed `"minimum-stability": "dev",` from `composer.json` + +## [3.0.0] - 2018-02-01 + +* The `StrictUnifiedDiffOutputBuilder` implementation of the `DiffOutputBuilderInterface` was added + +### Changed + +* The default `DiffOutputBuilderInterface` implementation now generates context lines (unchanged lines) + +### Removed + +* Removed support for PHP 7.0 + +### Fixed + +* [#70](https://github.com/sebastianbergmann/diff/issues/70): Diffing of arrays no longer works + +## [2.0.1] - 2017-08-03 + +### Fixed + +* [#66](https://github.com/sebastianbergmann/diff/pull/66): Restored backwards compatibility for PHPUnit 6.1.4, 6.2.0, 6.2.1, 6.2.2, and 6.2.3 + +## [2.0.0] - 2017-07-11 [YANKED] + +### Added + +* [#64](https://github.com/sebastianbergmann/diff/pull/64): Show line numbers for chunks of a diff + +### Removed + +* This component is no longer supported on PHP 5.6 + +[5.0.0]: https://github.com/sebastianbergmann/diff/compare/4.0.4...5.0.0 +[4.0.4]: https://github.com/sebastianbergmann/diff/compare/4.0.3...4.0.4 +[4.0.3]: https://github.com/sebastianbergmann/diff/compare/4.0.2...4.0.3 +[4.0.2]: https://github.com/sebastianbergmann/diff/compare/4.0.1...4.0.2 +[4.0.1]: https://github.com/sebastianbergmann/diff/compare/4.0.0...4.0.1 +[4.0.0]: https://github.com/sebastianbergmann/diff/compare/3.0.2...4.0.0 +[3.0.2]: https://github.com/sebastianbergmann/diff/compare/3.0.1...3.0.2 +[3.0.1]: https://github.com/sebastianbergmann/diff/compare/3.0.0...3.0.1 +[3.0.0]: https://github.com/sebastianbergmann/diff/compare/2.0...3.0.0 +[2.0.1]: https://github.com/sebastianbergmann/diff/compare/c341c98ce083db77f896a0aa64f5ee7652915970...2.0.1 +[2.0.0]: https://github.com/sebastianbergmann/diff/compare/1.4...c341c98ce083db77f896a0aa64f5ee7652915970 diff --git a/vendor/sebastian/diff/LICENSE b/vendor/sebastian/diff/LICENSE new file mode 100644 index 00000000..a453252d --- /dev/null +++ b/vendor/sebastian/diff/LICENSE @@ -0,0 +1,29 @@ +BSD 3-Clause License + +Copyright (c) 2002-2023, Sebastian Bergmann +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/sebastian/diff/README.md b/vendor/sebastian/diff/README.md new file mode 100644 index 00000000..3e84a35b --- /dev/null +++ b/vendor/sebastian/diff/README.md @@ -0,0 +1,204 @@ +[![Latest Stable Version](https://poser.pugx.org/sebastian/diff/v/stable.png)](https://packagist.org/packages/sebastian/diff) +[![CI Status](https://github.com/sebastianbergmann/diff/workflows/CI/badge.svg)](https://github.com/sebastianbergmann/diff/actions) +[![Type Coverage](https://shepherd.dev/github/sebastianbergmann/diff/coverage.svg)](https://shepherd.dev/github/sebastianbergmann/diff) +[![codecov](https://codecov.io/gh/sebastianbergmann/diff/branch/main/graph/badge.svg)](https://codecov.io/gh/sebastianbergmann/diff) + +# sebastian/diff + +Diff implementation for PHP, factored out of PHPUnit into a stand-alone component. + +## Installation + +You can add this library as a local, per-project dependency to your project using [Composer](https://getcomposer.org/): + +``` +composer require sebastian/diff +``` + +If you only need this library during development, for instance to run your project's test suite, then you should add it as a development-time dependency: + +``` +composer require --dev sebastian/diff +``` + +### Usage + +#### Generating diff + +The `Differ` class can be used to generate a textual representation of the difference between two strings: + +```php +diff('foo', 'bar'); +``` + +The code above yields the output below: +```diff +--- Original ++++ New +@@ @@ +-foo ++bar +``` + +There are three output builders available in this package: + +#### UnifiedDiffOutputBuilder + +This is default builder, which generates the output close to udiff and is used by PHPUnit. + +```php +diff('foo', 'bar'); +``` + +#### StrictUnifiedDiffOutputBuilder + +Generates (strict) Unified diff's (unidiffs) with hunks, +similar to `diff -u` and compatible with `patch` and `git apply`. + +```php + true, // ranges of length one are rendered with the trailing `,1` + 'commonLineThreshold' => 6, // number of same lines before ending a new hunk and creating a new one (if needed) + 'contextLines' => 3, // like `diff: -u, -U NUM, --unified[=NUM]`, for patch/git apply compatibility best to keep at least @ 3 + 'fromFile' => '', + 'fromFileDate' => null, + 'toFile' => '', + 'toFileDate' => null, +]); + +$differ = new Differ($builder); +print $differ->diff('foo', 'bar'); +``` + +#### DiffOnlyOutputBuilder + +Output only the lines that differ. + +```php +diff('foo', 'bar'); +``` + +#### DiffOutputBuilderInterface + +You can pass any output builder to the `Differ` class as longs as it implements the `DiffOutputBuilderInterface`. + +#### Parsing diff + +The `Parser` class can be used to parse a unified diff into an object graph: + +```php +use SebastianBergmann\Diff\Parser; +use SebastianBergmann\Git; + +$git = new Git('/usr/local/src/money'); + +$diff = $git->getDiff( + '948a1a07768d8edd10dcefa8315c1cbeffb31833', + 'c07a373d2399f3e686234c4f7f088d635eb9641b' +); + +$parser = new Parser; + +print_r($parser->parse($diff)); +``` + +The code above yields the output below: + + Array + ( + [0] => SebastianBergmann\Diff\Diff Object + ( + [from:SebastianBergmann\Diff\Diff:private] => a/tests/MoneyTest.php + [to:SebastianBergmann\Diff\Diff:private] => b/tests/MoneyTest.php + [chunks:SebastianBergmann\Diff\Diff:private] => Array + ( + [0] => SebastianBergmann\Diff\Chunk Object + ( + [start:SebastianBergmann\Diff\Chunk:private] => 87 + [startRange:SebastianBergmann\Diff\Chunk:private] => 7 + [end:SebastianBergmann\Diff\Chunk:private] => 87 + [endRange:SebastianBergmann\Diff\Chunk:private] => 7 + [lines:SebastianBergmann\Diff\Chunk:private] => Array + ( + [0] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 3 + [content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::add + ) + + [1] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 3 + [content:SebastianBergmann\Diff\Line:private] => * @covers SebastianBergmann\Money\Money::newMoney + ) + + [2] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 3 + [content:SebastianBergmann\Diff\Line:private] => */ + ) + + [3] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 2 + [content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyWithSameCurrencyObjectCanBeAdded() + ) + + [4] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 1 + [content:SebastianBergmann\Diff\Line:private] => public function testAnotherMoneyObjectWithSameCurrencyCanBeAdded() + ) + + [5] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 3 + [content:SebastianBergmann\Diff\Line:private] => { + ) + + [6] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 3 + [content:SebastianBergmann\Diff\Line:private] => $a = new Money(1, new Currency('EUR')); + ) + + [7] => SebastianBergmann\Diff\Line Object + ( + [type:SebastianBergmann\Diff\Line:private] => 3 + [content:SebastianBergmann\Diff\Line:private] => $b = new Money(2, new Currency('EUR')); + ) + ) + ) + ) + ) + ) diff --git a/vendor/sebastian/diff/SECURITY.md b/vendor/sebastian/diff/SECURITY.md new file mode 100644 index 00000000..d4ee967b --- /dev/null +++ b/vendor/sebastian/diff/SECURITY.md @@ -0,0 +1,9 @@ +# Security Policy + +This library is intended to be used in development environments only. For instance, it is used by the testing framework PHPUnit. There is no reason why this library should be installed on a webserver. + +**If you upload this library to a webserver then your deployment process is broken. On a more general note, if your `vendor` directory is publicly accessible on your webserver then your deployment process is also broken.** + +## Security Contact Information + +After the above, if you still would like to report a security vulnerability, please email `sebastian@phpunit.de`. diff --git a/vendor/sebastian/diff/composer.json b/vendor/sebastian/diff/composer.json new file mode 100644 index 00000000..b8e778b5 --- /dev/null +++ b/vendor/sebastian/diff/composer.json @@ -0,0 +1,47 @@ +{ + "name": "sebastian/diff", + "description": "Diff implementation", + "keywords": ["diff", "udiff", "unidiff", "unified diff"], + "homepage": "https://github.com/sebastianbergmann/diff", + "license": "BSD-3-Clause", + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "prefer-stable": true, + "config": { + "platform": { + "php": "8.1.0" + }, + "optimize-autoloader": true, + "sort-packages": true + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "phpunit/phpunit": "^10.0", + "symfony/process": "^4.2 || ^5" + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "autoload-dev": { + "classmap": [ + "tests/" + ] + }, + "extra": { + "branch-alias": { + "dev-main": "5.0-dev" + } + } +} diff --git a/vendor/sebastian/diff/src/Chunk.php b/vendor/sebastian/diff/src/Chunk.php new file mode 100644 index 00000000..cdfdf00b --- /dev/null +++ b/vendor/sebastian/diff/src/Chunk.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +final class Chunk +{ + private int $start; + private int $startRange; + private int $end; + private int $endRange; + private array $lines; + + public function __construct(int $start = 0, int $startRange = 1, int $end = 0, int $endRange = 1, array $lines = []) + { + $this->start = $start; + $this->startRange = $startRange; + $this->end = $end; + $this->endRange = $endRange; + $this->lines = $lines; + } + + public function getStart(): int + { + return $this->start; + } + + public function getStartRange(): int + { + return $this->startRange; + } + + public function getEnd(): int + { + return $this->end; + } + + public function getEndRange(): int + { + return $this->endRange; + } + + /** + * @psalm-return list + */ + public function getLines(): array + { + return $this->lines; + } + + /** + * @psalm-param list $lines + */ + public function setLines(array $lines): void + { + foreach ($lines as $line) { + if (!$line instanceof Line) { + throw new InvalidArgumentException; + } + } + + $this->lines = $lines; + } +} diff --git a/vendor/sebastian/diff/src/Diff.php b/vendor/sebastian/diff/src/Diff.php new file mode 100644 index 00000000..3376b723 --- /dev/null +++ b/vendor/sebastian/diff/src/Diff.php @@ -0,0 +1,57 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +final class Diff +{ + private string $from; + private string $to; + + /** + * @psalm-var list + */ + private array $chunks; + + /** + * @psalm-param list $chunks + */ + public function __construct(string $from, string $to, array $chunks = []) + { + $this->from = $from; + $this->to = $to; + $this->chunks = $chunks; + } + + public function getFrom(): string + { + return $this->from; + } + + public function getTo(): string + { + return $this->to; + } + + /** + * @psalm-return list + */ + public function getChunks(): array + { + return $this->chunks; + } + + /** + * @psalm-param list $chunks + */ + public function setChunks(array $chunks): void + { + $this->chunks = $chunks; + } +} diff --git a/vendor/sebastian/diff/src/Differ.php b/vendor/sebastian/diff/src/Differ.php new file mode 100644 index 00000000..edf2dcc4 --- /dev/null +++ b/vendor/sebastian/diff/src/Differ.php @@ -0,0 +1,243 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +use const PHP_INT_SIZE; +use const PREG_SPLIT_DELIM_CAPTURE; +use const PREG_SPLIT_NO_EMPTY; +use function array_shift; +use function array_unshift; +use function array_values; +use function count; +use function current; +use function end; +use function is_string; +use function key; +use function min; +use function preg_split; +use function prev; +use function reset; +use function str_ends_with; +use function substr; +use SebastianBergmann\Diff\Output\DiffOutputBuilderInterface; + +final class Differ +{ + public const OLD = 0; + + public const ADDED = 1; + + public const REMOVED = 2; + + public const DIFF_LINE_END_WARNING = 3; + + public const NO_LINE_END_EOF_WARNING = 4; + private DiffOutputBuilderInterface $outputBuilder; + + public function __construct(DiffOutputBuilderInterface $outputBuilder) + { + $this->outputBuilder = $outputBuilder; + } + + public function diff(array|string $from, array|string $to, LongestCommonSubsequenceCalculator $lcs = null): string + { + $diff = $this->diffToArray($from, $to, $lcs); + + return $this->outputBuilder->getDiff($diff); + } + + public function diffToArray(array|string $from, array|string $to, LongestCommonSubsequenceCalculator $lcs = null): array + { + if (is_string($from)) { + $from = $this->splitStringByLines($from); + } + + if (is_string($to)) { + $to = $this->splitStringByLines($to); + } + + [$from, $to, $start, $end] = self::getArrayDiffParted($from, $to); + + if ($lcs === null) { + $lcs = $this->selectLcsImplementation($from, $to); + } + + $common = $lcs->calculate(array_values($from), array_values($to)); + $diff = []; + + foreach ($start as $token) { + $diff[] = [$token, self::OLD]; + } + + reset($from); + reset($to); + + foreach ($common as $token) { + while (($fromToken = reset($from)) !== $token) { + $diff[] = [array_shift($from), self::REMOVED]; + } + + while (($toToken = reset($to)) !== $token) { + $diff[] = [array_shift($to), self::ADDED]; + } + + $diff[] = [$token, self::OLD]; + + array_shift($from); + array_shift($to); + } + + while (($token = array_shift($from)) !== null) { + $diff[] = [$token, self::REMOVED]; + } + + while (($token = array_shift($to)) !== null) { + $diff[] = [$token, self::ADDED]; + } + + foreach ($end as $token) { + $diff[] = [$token, self::OLD]; + } + + if ($this->detectUnmatchedLineEndings($diff)) { + array_unshift($diff, ["#Warning: Strings contain different line endings!\n", self::DIFF_LINE_END_WARNING]); + } + + return $diff; + } + + private function splitStringByLines(string $input): array + { + return preg_split('/(.*\R)/', $input, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); + } + + private function selectLcsImplementation(array $from, array $to): LongestCommonSubsequenceCalculator + { + // We do not want to use the time-efficient implementation if its memory + // footprint will probably exceed this value. Note that the footprint + // calculation is only an estimation for the matrix and the LCS method + // will typically allocate a bit more memory than this. + $memoryLimit = 100 * 1024 * 1024; + + if ($this->calculateEstimatedFootprint($from, $to) > $memoryLimit) { + return new MemoryEfficientLongestCommonSubsequenceCalculator; + } + + return new TimeEfficientLongestCommonSubsequenceCalculator; + } + + private function calculateEstimatedFootprint(array $from, array $to): float|int + { + $itemSize = PHP_INT_SIZE === 4 ? 76 : 144; + + return $itemSize * min(count($from), count($to)) ** 2; + } + + private function detectUnmatchedLineEndings(array $diff): bool + { + $newLineBreaks = ['' => true]; + $oldLineBreaks = ['' => true]; + + foreach ($diff as $entry) { + if (self::OLD === $entry[1]) { + $ln = $this->getLinebreak($entry[0]); + $oldLineBreaks[$ln] = true; + $newLineBreaks[$ln] = true; + } elseif (self::ADDED === $entry[1]) { + $newLineBreaks[$this->getLinebreak($entry[0])] = true; + } elseif (self::REMOVED === $entry[1]) { + $oldLineBreaks[$this->getLinebreak($entry[0])] = true; + } + } + + // if either input or output is a single line without breaks than no warning should be raised + if (['' => true] === $newLineBreaks || ['' => true] === $oldLineBreaks) { + return false; + } + + // two-way compare + foreach ($newLineBreaks as $break => $set) { + if (!isset($oldLineBreaks[$break])) { + return true; + } + } + + foreach ($oldLineBreaks as $break => $set) { + if (!isset($newLineBreaks[$break])) { + return true; + } + } + + return false; + } + + private function getLinebreak($line): string + { + if (!is_string($line)) { + return ''; + } + + $lc = substr($line, -1); + + if ("\r" === $lc) { + return "\r"; + } + + if ("\n" !== $lc) { + return ''; + } + + if (str_ends_with($line, "\r\n")) { + return "\r\n"; + } + + return "\n"; + } + + private static function getArrayDiffParted(array &$from, array &$to): array + { + $start = []; + $end = []; + + reset($to); + + foreach ($from as $k => $v) { + $toK = key($to); + + if ($toK === $k && $v === $to[$k]) { + $start[$k] = $v; + + unset($from[$k], $to[$k]); + } else { + break; + } + } + + end($from); + end($to); + + do { + $fromK = key($from); + $toK = key($to); + + if (null === $fromK || null === $toK || current($from) !== current($to)) { + break; + } + + prev($from); + prev($to); + + $end = [$fromK => $from[$fromK]] + $end; + unset($from[$fromK], $to[$toK]); + } while (true); + + return [$from, $to, $start, $end]; + } +} diff --git a/vendor/sebastian/diff/src/Exception/ConfigurationException.php b/vendor/sebastian/diff/src/Exception/ConfigurationException.php new file mode 100644 index 00000000..85f066c2 --- /dev/null +++ b/vendor/sebastian/diff/src/Exception/ConfigurationException.php @@ -0,0 +1,37 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +use function gettype; +use function is_object; +use function sprintf; +use Exception; + +final class ConfigurationException extends InvalidArgumentException +{ + public function __construct( + string $option, + string $expected, + $value, + int $code = 0, + Exception $previous = null + ) { + parent::__construct( + sprintf( + 'Option "%s" must be %s, got "%s".', + $option, + $expected, + is_object($value) ? $value::class : (null === $value ? '' : gettype($value) . '#' . $value) + ), + $code, + $previous + ); + } +} diff --git a/vendor/sebastian/diff/src/Exception/Exception.php b/vendor/sebastian/diff/src/Exception/Exception.php new file mode 100644 index 00000000..e20d3203 --- /dev/null +++ b/vendor/sebastian/diff/src/Exception/Exception.php @@ -0,0 +1,16 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +use Throwable; + +interface Exception extends Throwable +{ +} diff --git a/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php b/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php new file mode 100644 index 00000000..846ac3fb --- /dev/null +++ b/vendor/sebastian/diff/src/Exception/InvalidArgumentException.php @@ -0,0 +1,14 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +class InvalidArgumentException extends \InvalidArgumentException implements Exception +{ +} diff --git a/vendor/sebastian/diff/src/Line.php b/vendor/sebastian/diff/src/Line.php new file mode 100644 index 00000000..ecb2f794 --- /dev/null +++ b/vendor/sebastian/diff/src/Line.php @@ -0,0 +1,37 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +final class Line +{ + public const ADDED = 1; + + public const REMOVED = 2; + + public const UNCHANGED = 3; + private int $type; + private string $content; + + public function __construct(int $type = self::UNCHANGED, string $content = '') + { + $this->type = $type; + $this->content = $content; + } + + public function getContent(): string + { + return $this->content; + } + + public function getType(): int + { + return $this->type; + } +} diff --git a/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php b/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php new file mode 100644 index 00000000..dea8fe1c --- /dev/null +++ b/vendor/sebastian/diff/src/LongestCommonSubsequenceCalculator.php @@ -0,0 +1,18 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +interface LongestCommonSubsequenceCalculator +{ + /** + * Calculates the longest common subsequence of two arrays. + */ + public function calculate(array $from, array $to): array; +} diff --git a/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php b/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php new file mode 100644 index 00000000..dde08027 --- /dev/null +++ b/vendor/sebastian/diff/src/MemoryEfficientLongestCommonSubsequenceCalculator.php @@ -0,0 +1,88 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +use function array_fill; +use function array_merge; +use function array_reverse; +use function array_slice; +use function count; +use function in_array; +use function max; + +final class MemoryEfficientLongestCommonSubsequenceCalculator implements LongestCommonSubsequenceCalculator +{ + /** + * @inheritDoc + */ + public function calculate(array $from, array $to): array + { + $cFrom = count($from); + $cTo = count($to); + + if ($cFrom === 0) { + return []; + } + + if ($cFrom === 1) { + if (in_array($from[0], $to, true)) { + return [$from[0]]; + } + + return []; + } + + $i = (int) ($cFrom / 2); + $fromStart = array_slice($from, 0, $i); + $fromEnd = array_slice($from, $i); + $llB = $this->length($fromStart, $to); + $llE = $this->length(array_reverse($fromEnd), array_reverse($to)); + $jMax = 0; + $max = 0; + + for ($j = 0; $j <= $cTo; $j++) { + $m = $llB[$j] + $llE[$cTo - $j]; + + if ($m >= $max) { + $max = $m; + $jMax = $j; + } + } + + $toStart = array_slice($to, 0, $jMax); + $toEnd = array_slice($to, $jMax); + + return array_merge( + $this->calculate($fromStart, $toStart), + $this->calculate($fromEnd, $toEnd) + ); + } + + private function length(array $from, array $to): array + { + $current = array_fill(0, count($to) + 1, 0); + $cFrom = count($from); + $cTo = count($to); + + for ($i = 0; $i < $cFrom; $i++) { + $prev = $current; + + for ($j = 0; $j < $cTo; $j++) { + if ($from[$i] === $to[$j]) { + $current[$j + 1] = $prev[$j] + 1; + } else { + $current[$j + 1] = max($current[$j], $prev[$j + 1]); + } + } + } + + return $current; + } +} diff --git a/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php b/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php new file mode 100644 index 00000000..6c706839 --- /dev/null +++ b/vendor/sebastian/diff/src/Output/AbstractChunkOutputBuilder.php @@ -0,0 +1,52 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff\Output; + +use function count; + +abstract class AbstractChunkOutputBuilder implements DiffOutputBuilderInterface +{ + /** + * Takes input of the diff array and returns the common parts. + * Iterates through diff line by line. + */ + protected function getCommonChunks(array $diff, int $lineThreshold = 5): array + { + $diffSize = count($diff); + $capturing = false; + $chunkStart = 0; + $chunkSize = 0; + $commonChunks = []; + + for ($i = 0; $i < $diffSize; $i++) { + if ($diff[$i][1] === 0 /* OLD */) { + if ($capturing === false) { + $capturing = true; + $chunkStart = $i; + $chunkSize = 0; + } else { + $chunkSize++; + } + } elseif ($capturing !== false) { + if ($chunkSize >= $lineThreshold) { + $commonChunks[$chunkStart] = $chunkStart + $chunkSize; + } + + $capturing = false; + } + } + + if ($capturing !== false && $chunkSize >= $lineThreshold) { + $commonChunks[$chunkStart] = $chunkStart + $chunkSize; + } + + return $commonChunks; + } +} diff --git a/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php b/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php new file mode 100644 index 00000000..fd6ce768 --- /dev/null +++ b/vendor/sebastian/diff/src/Output/DiffOnlyOutputBuilder.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff\Output; + +use function fclose; +use function fopen; +use function fwrite; +use function str_ends_with; +use function stream_get_contents; +use function substr; +use SebastianBergmann\Diff\Differ; + +/** + * Builds a diff string representation in a loose unified diff format + * listing only changes lines. Does not include line numbers. + */ +final class DiffOnlyOutputBuilder implements DiffOutputBuilderInterface +{ + private string $header; + + public function __construct(string $header = "--- Original\n+++ New\n") + { + $this->header = $header; + } + + public function getDiff(array $diff): string + { + $buffer = fopen('php://memory', 'r+b'); + + if ('' !== $this->header) { + fwrite($buffer, $this->header); + + if (!str_ends_with($this->header, "\n")) { + fwrite($buffer, "\n"); + } + } + + foreach ($diff as $diffEntry) { + if ($diffEntry[1] === Differ::ADDED) { + fwrite($buffer, '+' . $diffEntry[0]); + } elseif ($diffEntry[1] === Differ::REMOVED) { + fwrite($buffer, '-' . $diffEntry[0]); + } elseif ($diffEntry[1] === Differ::DIFF_LINE_END_WARNING) { + fwrite($buffer, ' ' . $diffEntry[0]); + + continue; // Warnings should not be tested for line break, it will always be there + } else { /* Not changed (old) 0 */ + continue; // we didn't write the not-changed line, so do not add a line break either + } + + $lc = substr($diffEntry[0], -1); + + if ($lc !== "\n" && $lc !== "\r") { + fwrite($buffer, "\n"); // \No newline at end of file + } + } + + $diff = stream_get_contents($buffer, -1, 0); + fclose($buffer); + + return $diff; + } +} diff --git a/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php b/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php new file mode 100644 index 00000000..0e18f9f2 --- /dev/null +++ b/vendor/sebastian/diff/src/Output/DiffOutputBuilderInterface.php @@ -0,0 +1,19 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff\Output; + +/** + * Defines how an output builder should take a generated + * diff array and return a string representation of that diff. + */ +interface DiffOutputBuilderInterface +{ + public function getDiff(array $diff): string; +} diff --git a/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php b/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php new file mode 100644 index 00000000..3eb7428d --- /dev/null +++ b/vendor/sebastian/diff/src/Output/StrictUnifiedDiffOutputBuilder.php @@ -0,0 +1,326 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff\Output; + +use function array_merge; +use function array_splice; +use function count; +use function fclose; +use function fopen; +use function fwrite; +use function is_bool; +use function is_int; +use function is_string; +use function max; +use function min; +use function sprintf; +use function stream_get_contents; +use function substr; +use SebastianBergmann\Diff\ConfigurationException; +use SebastianBergmann\Diff\Differ; + +/** + * Strict Unified diff output builder. + * + * Generates (strict) Unified diff's (unidiffs) with hunks. + */ +final class StrictUnifiedDiffOutputBuilder implements DiffOutputBuilderInterface +{ + private static array $default = [ + 'collapseRanges' => true, // ranges of length one are rendered with the trailing `,1` + 'commonLineThreshold' => 6, // number of same lines before ending a new hunk and creating a new one (if needed) + 'contextLines' => 3, // like `diff: -u, -U NUM, --unified[=NUM]`, for patch/git apply compatibility best to keep at least @ 3 + 'fromFile' => null, + 'fromFileDate' => null, + 'toFile' => null, + 'toFileDate' => null, + ]; + private bool $changed; + private bool $collapseRanges; + + /** + * @psalm-var positive-int + */ + private int $commonLineThreshold; + private string $header; + + /** + * @psalm-var positive-int + */ + private int $contextLines; + + public function __construct(array $options = []) + { + $options = array_merge(self::$default, $options); + + if (!is_bool($options['collapseRanges'])) { + throw new ConfigurationException('collapseRanges', 'a bool', $options['collapseRanges']); + } + + if (!is_int($options['contextLines']) || $options['contextLines'] < 0) { + throw new ConfigurationException('contextLines', 'an int >= 0', $options['contextLines']); + } + + if (!is_int($options['commonLineThreshold']) || $options['commonLineThreshold'] <= 0) { + throw new ConfigurationException('commonLineThreshold', 'an int > 0', $options['commonLineThreshold']); + } + + $this->assertString($options, 'fromFile'); + $this->assertString($options, 'toFile'); + $this->assertStringOrNull($options, 'fromFileDate'); + $this->assertStringOrNull($options, 'toFileDate'); + + $this->header = sprintf( + "--- %s%s\n+++ %s%s\n", + $options['fromFile'], + null === $options['fromFileDate'] ? '' : "\t" . $options['fromFileDate'], + $options['toFile'], + null === $options['toFileDate'] ? '' : "\t" . $options['toFileDate'] + ); + + $this->collapseRanges = $options['collapseRanges']; + $this->commonLineThreshold = $options['commonLineThreshold']; + $this->contextLines = $options['contextLines']; + } + + public function getDiff(array $diff): string + { + if (0 === count($diff)) { + return ''; + } + + $this->changed = false; + + $buffer = fopen('php://memory', 'r+b'); + fwrite($buffer, $this->header); + + $this->writeDiffHunks($buffer, $diff); + + if (!$this->changed) { + fclose($buffer); + + return ''; + } + + $diff = stream_get_contents($buffer, -1, 0); + + fclose($buffer); + + // If the last char is not a linebreak: add it. + // This might happen when both the `from` and `to` do not have a trailing linebreak + $last = substr($diff, -1); + + return "\n" !== $last && "\r" !== $last + ? $diff . "\n" + : $diff; + } + + private function writeDiffHunks($output, array $diff): void + { + // detect "No newline at end of file" and insert into `$diff` if needed + + $upperLimit = count($diff); + + if (0 === $diff[$upperLimit - 1][1]) { + $lc = substr($diff[$upperLimit - 1][0], -1); + + if ("\n" !== $lc) { + array_splice($diff, $upperLimit, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); + } + } else { + // search back for the last `+` and `-` line, + // check if it has a trailing linebreak, else add a warning under it + $toFind = [1 => true, 2 => true]; + + for ($i = $upperLimit - 1; $i >= 0; $i--) { + if (isset($toFind[$diff[$i][1]])) { + unset($toFind[$diff[$i][1]]); + $lc = substr($diff[$i][0], -1); + + if ("\n" !== $lc) { + array_splice($diff, $i + 1, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); + } + + if (!count($toFind)) { + break; + } + } + } + } + + // write hunks to output buffer + + $cutOff = max($this->commonLineThreshold, $this->contextLines); + $hunkCapture = false; + $sameCount = $toRange = $fromRange = 0; + $toStart = $fromStart = 1; + $i = 0; + + /** @var int $i */ + foreach ($diff as $i => $entry) { + if (0 === $entry[1]) { // same + if (false === $hunkCapture) { + $fromStart++; + $toStart++; + + continue; + } + + $sameCount++; + $toRange++; + $fromRange++; + + if ($sameCount === $cutOff) { + $contextStartOffset = ($hunkCapture - $this->contextLines) < 0 + ? $hunkCapture + : $this->contextLines; + + // note: $contextEndOffset = $this->contextLines; + // + // because we never go beyond the end of the diff. + // with the cutoff/contextlines here the follow is never true; + // + // if ($i - $cutOff + $this->contextLines + 1 > \count($diff)) { + // $contextEndOffset = count($diff) - 1; + // } + // + // ; that would be true for a trailing incomplete hunk case which is dealt with after this loop + + $this->writeHunk( + $diff, + $hunkCapture - $contextStartOffset, + $i - $cutOff + $this->contextLines + 1, + $fromStart - $contextStartOffset, + $fromRange - $cutOff + $contextStartOffset + $this->contextLines, + $toStart - $contextStartOffset, + $toRange - $cutOff + $contextStartOffset + $this->contextLines, + $output + ); + + $fromStart += $fromRange; + $toStart += $toRange; + + $hunkCapture = false; + $sameCount = $toRange = $fromRange = 0; + } + + continue; + } + + $sameCount = 0; + + if ($entry[1] === Differ::NO_LINE_END_EOF_WARNING) { + continue; + } + + $this->changed = true; + + if (false === $hunkCapture) { + $hunkCapture = $i; + } + + if (Differ::ADDED === $entry[1]) { // added + $toRange++; + } + + if (Differ::REMOVED === $entry[1]) { // removed + $fromRange++; + } + } + + if (false === $hunkCapture) { + return; + } + + // we end here when cutoff (commonLineThreshold) was not reached, but we were capturing a hunk, + // do not render hunk till end automatically because the number of context lines might be less than the commonLineThreshold + + $contextStartOffset = $hunkCapture - $this->contextLines < 0 + ? $hunkCapture + : $this->contextLines; + + // prevent trying to write out more common lines than there are in the diff _and_ + // do not write more than configured through the context lines + $contextEndOffset = min($sameCount, $this->contextLines); + + $fromRange -= $sameCount; + $toRange -= $sameCount; + + $this->writeHunk( + $diff, + $hunkCapture - $contextStartOffset, + $i - $sameCount + $contextEndOffset + 1, + $fromStart - $contextStartOffset, + $fromRange + $contextStartOffset + $contextEndOffset, + $toStart - $contextStartOffset, + $toRange + $contextStartOffset + $contextEndOffset, + $output + ); + } + + private function writeHunk( + array $diff, + int $diffStartIndex, + int $diffEndIndex, + int $fromStart, + int $fromRange, + int $toStart, + int $toRange, + $output + ): void { + fwrite($output, '@@ -' . $fromStart); + + if (!$this->collapseRanges || 1 !== $fromRange) { + fwrite($output, ',' . $fromRange); + } + + fwrite($output, ' +' . $toStart); + + if (!$this->collapseRanges || 1 !== $toRange) { + fwrite($output, ',' . $toRange); + } + + fwrite($output, " @@\n"); + + for ($i = $diffStartIndex; $i < $diffEndIndex; $i++) { + if ($diff[$i][1] === Differ::ADDED) { + $this->changed = true; + fwrite($output, '+' . $diff[$i][0]); + } elseif ($diff[$i][1] === Differ::REMOVED) { + $this->changed = true; + fwrite($output, '-' . $diff[$i][0]); + } elseif ($diff[$i][1] === Differ::OLD) { + fwrite($output, ' ' . $diff[$i][0]); + } elseif ($diff[$i][1] === Differ::NO_LINE_END_EOF_WARNING) { + $this->changed = true; + fwrite($output, $diff[$i][0]); + } + //} elseif ($diff[$i][1] === Differ::DIFF_LINE_END_WARNING) { // custom comment inserted by PHPUnit/diff package + // skip + //} else { + // unknown/invalid + //} + } + } + + private function assertString(array $options, string $option): void + { + if (!is_string($options[$option])) { + throw new ConfigurationException($option, 'a string', $options[$option]); + } + } + + private function assertStringOrNull(array $options, string $option): void + { + if (null !== $options[$option] && !is_string($options[$option])) { + throw new ConfigurationException($option, 'a string or ', $options[$option]); + } + } +} diff --git a/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php b/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php new file mode 100644 index 00000000..1483b3af --- /dev/null +++ b/vendor/sebastian/diff/src/Output/UnifiedDiffOutputBuilder.php @@ -0,0 +1,258 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff\Output; + +use function array_splice; +use function count; +use function fclose; +use function fopen; +use function fwrite; +use function max; +use function min; +use function str_ends_with; +use function stream_get_contents; +use function strlen; +use function substr; +use SebastianBergmann\Diff\Differ; + +/** + * Builds a diff string representation in unified diff format in chunks. + */ +final class UnifiedDiffOutputBuilder extends AbstractChunkOutputBuilder +{ + private bool $collapseRanges = true; + private int $commonLineThreshold = 6; + + /** + * @psalm-var positive-int + */ + private int $contextLines = 3; + private string $header; + private bool $addLineNumbers; + + public function __construct(string $header = "--- Original\n+++ New\n", bool $addLineNumbers = false) + { + $this->header = $header; + $this->addLineNumbers = $addLineNumbers; + } + + public function getDiff(array $diff): string + { + $buffer = fopen('php://memory', 'r+b'); + + if ('' !== $this->header) { + fwrite($buffer, $this->header); + + if (!str_ends_with($this->header, "\n")) { + fwrite($buffer, "\n"); + } + } + + if (0 !== count($diff)) { + $this->writeDiffHunks($buffer, $diff); + } + + $diff = stream_get_contents($buffer, -1, 0); + + fclose($buffer); + + // If the diff is non-empty and last char is not a linebreak: add it. + // This might happen when both the `from` and `to` do not have a trailing linebreak + $last = substr($diff, -1); + + return 0 !== strlen($diff) && "\n" !== $last && "\r" !== $last + ? $diff . "\n" + : $diff; + } + + private function writeDiffHunks($output, array $diff): void + { + // detect "No newline at end of file" and insert into `$diff` if needed + + $upperLimit = count($diff); + + if (0 === $diff[$upperLimit - 1][1]) { + $lc = substr($diff[$upperLimit - 1][0], -1); + + if ("\n" !== $lc) { + array_splice($diff, $upperLimit, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); + } + } else { + // search back for the last `+` and `-` line, + // check if it has trailing linebreak, else add a warning under it + $toFind = [1 => true, 2 => true]; + + for ($i = $upperLimit - 1; $i >= 0; $i--) { + if (isset($toFind[$diff[$i][1]])) { + unset($toFind[$diff[$i][1]]); + $lc = substr($diff[$i][0], -1); + + if ("\n" !== $lc) { + array_splice($diff, $i + 1, 0, [["\n\\ No newline at end of file\n", Differ::NO_LINE_END_EOF_WARNING]]); + } + + if (!count($toFind)) { + break; + } + } + } + } + + // write hunks to output buffer + + $cutOff = max($this->commonLineThreshold, $this->contextLines); + $hunkCapture = false; + $sameCount = $toRange = $fromRange = 0; + $toStart = $fromStart = 1; + $i = 0; + + /** @var int $i */ + foreach ($diff as $i => $entry) { + if (0 === $entry[1]) { // same + if (false === $hunkCapture) { + $fromStart++; + $toStart++; + + continue; + } + + $sameCount++; + $toRange++; + $fromRange++; + + if ($sameCount === $cutOff) { + $contextStartOffset = ($hunkCapture - $this->contextLines) < 0 + ? $hunkCapture + : $this->contextLines; + + // note: $contextEndOffset = $this->contextLines; + // + // because we never go beyond the end of the diff. + // with the cutoff/contextlines here the follow is never true; + // + // if ($i - $cutOff + $this->contextLines + 1 > \count($diff)) { + // $contextEndOffset = count($diff) - 1; + // } + // + // ; that would be true for a trailing incomplete hunk case which is dealt with after this loop + + $this->writeHunk( + $diff, + $hunkCapture - $contextStartOffset, + $i - $cutOff + $this->contextLines + 1, + $fromStart - $contextStartOffset, + $fromRange - $cutOff + $contextStartOffset + $this->contextLines, + $toStart - $contextStartOffset, + $toRange - $cutOff + $contextStartOffset + $this->contextLines, + $output + ); + + $fromStart += $fromRange; + $toStart += $toRange; + + $hunkCapture = false; + $sameCount = $toRange = $fromRange = 0; + } + + continue; + } + + $sameCount = 0; + + if ($entry[1] === Differ::NO_LINE_END_EOF_WARNING) { + continue; + } + + if (false === $hunkCapture) { + $hunkCapture = $i; + } + + if (Differ::ADDED === $entry[1]) { + $toRange++; + } + + if (Differ::REMOVED === $entry[1]) { + $fromRange++; + } + } + + if (false === $hunkCapture) { + return; + } + + // we end here when cutoff (commonLineThreshold) was not reached, but we were capturing a hunk, + // do not render hunk till end automatically because the number of context lines might be less than the commonLineThreshold + + $contextStartOffset = $hunkCapture - $this->contextLines < 0 + ? $hunkCapture + : $this->contextLines; + + // prevent trying to write out more common lines than there are in the diff _and_ + // do not write more than configured through the context lines + $contextEndOffset = min($sameCount, $this->contextLines); + + $fromRange -= $sameCount; + $toRange -= $sameCount; + + $this->writeHunk( + $diff, + $hunkCapture - $contextStartOffset, + $i - $sameCount + $contextEndOffset + 1, + $fromStart - $contextStartOffset, + $fromRange + $contextStartOffset + $contextEndOffset, + $toStart - $contextStartOffset, + $toRange + $contextStartOffset + $contextEndOffset, + $output + ); + } + + private function writeHunk( + array $diff, + int $diffStartIndex, + int $diffEndIndex, + int $fromStart, + int $fromRange, + int $toStart, + int $toRange, + $output + ): void { + if ($this->addLineNumbers) { + fwrite($output, '@@ -' . $fromStart); + + if (!$this->collapseRanges || 1 !== $fromRange) { + fwrite($output, ',' . $fromRange); + } + + fwrite($output, ' +' . $toStart); + + if (!$this->collapseRanges || 1 !== $toRange) { + fwrite($output, ',' . $toRange); + } + + fwrite($output, " @@\n"); + } else { + fwrite($output, "@@ @@\n"); + } + + for ($i = $diffStartIndex; $i < $diffEndIndex; $i++) { + if ($diff[$i][1] === Differ::ADDED) { + fwrite($output, '+' . $diff[$i][0]); + } elseif ($diff[$i][1] === Differ::REMOVED) { + fwrite($output, '-' . $diff[$i][0]); + } elseif ($diff[$i][1] === Differ::OLD) { + fwrite($output, ' ' . $diff[$i][0]); + } elseif ($diff[$i][1] === Differ::NO_LINE_END_EOF_WARNING) { + fwrite($output, "\n"); // $diff[$i][0] + } else { /* Not changed (old) Differ::OLD or Warning Differ::DIFF_LINE_END_WARNING */ + fwrite($output, ' ' . $diff[$i][0]); + } + } + } +} diff --git a/vendor/sebastian/diff/src/Parser.php b/vendor/sebastian/diff/src/Parser.php new file mode 100644 index 00000000..b0ec6403 --- /dev/null +++ b/vendor/sebastian/diff/src/Parser.php @@ -0,0 +1,108 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +use function array_pop; +use function count; +use function max; +use function preg_match; +use function preg_split; + +/** + * Unified diff parser. + */ +final class Parser +{ + /** + * @return Diff[] + */ + public function parse(string $string): array + { + $lines = preg_split('(\r\n|\r|\n)', $string); + + if (!empty($lines) && $lines[count($lines) - 1] === '') { + array_pop($lines); + } + + $lineCount = count($lines); + $diffs = []; + $diff = null; + $collected = []; + + for ($i = 0; $i < $lineCount; $i++) { + if (preg_match('#^---\h+"?(?P[^\\v\\t"]+)#', $lines[$i], $fromMatch) && + preg_match('#^\\+\\+\\+\\h+"?(?P[^\\v\\t"]+)#', $lines[$i + 1], $toMatch)) { + if ($diff !== null) { + $this->parseFileDiff($diff, $collected); + + $diffs[] = $diff; + $collected = []; + } + + $diff = new Diff($fromMatch['file'], $toMatch['file']); + + $i++; + } else { + if (preg_match('/^(?:diff --git |index [\da-f.]+|[+-]{3} [ab])/', $lines[$i])) { + continue; + } + + $collected[] = $lines[$i]; + } + } + + if ($diff !== null && count($collected)) { + $this->parseFileDiff($diff, $collected); + + $diffs[] = $diff; + } + + return $diffs; + } + + private function parseFileDiff(Diff $diff, array $lines): void + { + $chunks = []; + $chunk = null; + $diffLines = []; + + foreach ($lines as $line) { + if (preg_match('/^@@\s+-(?P\d+)(?:,\s*(?P\d+))?\s+\+(?P\d+)(?:,\s*(?P\d+))?\s+@@/', $line, $match)) { + $chunk = new Chunk( + (int) $match['start'], + isset($match['startrange']) ? max(1, (int) $match['startrange']) : 1, + (int) $match['end'], + isset($match['endrange']) ? max(1, (int) $match['endrange']) : 1 + ); + + $chunks[] = $chunk; + $diffLines = []; + + continue; + } + + if (preg_match('/^(?P[+ -])?(?P.*)/', $line, $match)) { + $type = Line::UNCHANGED; + + if ($match['type'] === '+') { + $type = Line::ADDED; + } elseif ($match['type'] === '-') { + $type = Line::REMOVED; + } + + $diffLines[] = new Line($type, $match['line']); + + $chunk?->setLines($diffLines); + } + } + + $diff->setChunks($chunks); + } +} diff --git a/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php b/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php new file mode 100644 index 00000000..51bac1f1 --- /dev/null +++ b/vendor/sebastian/diff/src/TimeEfficientLongestCommonSubsequenceCalculator.php @@ -0,0 +1,70 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ +namespace SebastianBergmann\Diff; + +use function array_reverse; +use function count; +use function max; +use SplFixedArray; + +final class TimeEfficientLongestCommonSubsequenceCalculator implements LongestCommonSubsequenceCalculator +{ + /** + * @inheritDoc + */ + public function calculate(array $from, array $to): array + { + $common = []; + $fromLength = count($from); + $toLength = count($to); + $width = $fromLength + 1; + $matrix = new SplFixedArray($width * ($toLength + 1)); + + for ($i = 0; $i <= $fromLength; $i++) { + $matrix[$i] = 0; + } + + for ($j = 0; $j <= $toLength; $j++) { + $matrix[$j * $width] = 0; + } + + for ($i = 1; $i <= $fromLength; $i++) { + for ($j = 1; $j <= $toLength; $j++) { + $o = ($j * $width) + $i; + $matrix[$o] = max( + $matrix[$o - 1], + $matrix[$o - $width], + $from[$i - 1] === $to[$j - 1] ? $matrix[$o - $width - 1] + 1 : 0 + ); + } + } + + $i = $fromLength; + $j = $toLength; + + while ($i > 0 && $j > 0) { + if ($from[$i - 1] === $to[$j - 1]) { + $common[] = $from[$i - 1]; + $i--; + $j--; + } else { + $o = ($j * $width) + $i; + + if ($matrix[$o - $width] > $matrix[$o - 1]) { + $j--; + } else { + $i--; + } + } + } + + return array_reverse($common); + } +} diff --git a/vendor/spatie/array-to-xml/.php-cs-fixer.dist.php b/vendor/spatie/array-to-xml/.php-cs-fixer.dist.php new file mode 100644 index 00000000..3600d2de --- /dev/null +++ b/vendor/spatie/array-to-xml/.php-cs-fixer.dist.php @@ -0,0 +1,44 @@ +in([ + __DIR__ . '/src', + __DIR__ . '/tests', + ]) + ->name('*.php') + ->notName('*.blade.php') + ->ignoreDotFiles(true) + ->ignoreVCS(true); +$config = new Config(); + +return $config->setFinder($finder) + ->setRules([ + '@PSR2' => true, + 'array_syntax' => ['syntax' => 'short'], + 'ordered_imports' => ['sort_algorithm' => 'alpha'], + 'no_unused_imports' => true, + 'not_operator_with_successor_space' => true, + 'trailing_comma_in_multiline' => ['elements' => ['arrays']], + 'phpdoc_scalar' => true, + 'unary_operator_spaces' => true, + 'binary_operator_spaces' => true, + 'blank_line_before_statement' => [ + 'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'], + ], + 'phpdoc_single_line_var_spacing' => true, + 'phpdoc_var_without_name' => true, + 'class_attributes_separation' => [ + 'elements' => [ + 'method' => 'one', + ], + ], + 'method_argument_space' => [ + 'on_multiline' => 'ensure_fully_multiline', + 'keep_multiple_spaces_after_comma' => true, + ], + 'single_trait_insert_per_statement' => true, + ]) + ->setRiskyAllowed(true); diff --git a/vendor/spatie/array-to-xml/CHANGELOG.md b/vendor/spatie/array-to-xml/CHANGELOG.md new file mode 100755 index 00000000..d43177a4 --- /dev/null +++ b/vendor/spatie/array-to-xml/CHANGELOG.md @@ -0,0 +1,198 @@ +# Changelog + +All notable changes to `array-to-xml` will be documented in this file + +## 3.1.4 - 2022-11-24 + +### What's Changed + +- PHP 8.2 support by @SuperDJ in https://github.com/spatie/array-to-xml/pull/194 +- Added more types by @SuperDJ in https://github.com/spatie/array-to-xml/pull/195 + +### New Contributors + +- @SuperDJ made their first contribution in https://github.com/spatie/array-to-xml/pull/194 + +**Full Changelog**: https://github.com/spatie/array-to-xml/compare/3.1.3...3.1.4 + +## 3.1.3 - 2022-05-08 + +## What's Changed + +- Rewrite phpunit tests to pest by @otsch in https://github.com/spatie/array-to-xml/pull/183 +- PHP 8.1 fix deprecated null parameters by @gigerIT in https://github.com/spatie/array-to-xml/pull/187 + +## New Contributors + +- @otsch made their first contribution in https://github.com/spatie/array-to-xml/pull/183 +- @gigerIT made their first contribution in https://github.com/spatie/array-to-xml/pull/187 + +**Full Changelog**: https://github.com/spatie/array-to-xml/compare/3.1.2...3.1.3 + +## 3.1.2 - 2022-03-03 + +## What's Changed + +- Fix basic collection with namespace by @vaclavvanik in https://github.com/spatie/array-to-xml/pull/182 + +## New Contributors + +- @vaclavvanik made their first contribution in https://github.com/spatie/array-to-xml/pull/182 + +**Full Changelog**: https://github.com/spatie/array-to-xml/compare/3.1.1...3.1.2 + +## 3.1.1 - 2022-02-11 + +## What's Changed + +- Fix a typo in the result by @olsza in https://github.com/spatie/array-to-xml/pull/172 + +## New Contributors + +- @olsza made their first contribution in https://github.com/spatie/array-to-xml/pull/172 + +**Full Changelog**: https://github.com/spatie/array-to-xml/compare/3.1.0...3.1.1 + +## 3.1.0 - 2021-09-12 + +- add support for processing instructions + +## 3.0.1 - 2021-09-05 + +- allow null inside array to be converted to xml (#170) + +## 3.0.0 - 2021-04-23 + +- require PHP 8+ +- drop support for PHP 7.x +- convert syntax to PHP 8 + +## 2.16.0 - 2020-11-18 + +- add escapable colons in custom keys (#151) + +## 2.15.1 - 2020-11-12 + +- add support for PHP 8 + +## 2.15.0 - 2020-10-29 + +- add $xmlStandalone as a new parameter (#148) + +## 2.14.0 - 2020-09-14 + +- add support for dropping XML declaration (#145) + +## 2.13.0 - 2020-08-24 + +- add support for custom keys (#140) + +## 2.12.1 - 2020-06-17 + +- add XML prettification (#136) + +## 2.11.2 - 2019-08-21 + +- fix XML structure when using numeric keys + +## 2.11.1 - 2019-07-25 + +- do not interpret "0" as a non-empty value + +## 2.11.0 - 2019-09-26 + +- drop support for PHP 7.1 + +## 2.10.0 - 2019-09-26 + +- add `setDomProperties` + +## 2.9.0 - 2019-05-06 + +- add support for numeric keys + +## 2.8.1 - 2019-03-15 + +- fix tests +- drop support for PHP 7.0 + +## 2.8.0 - 2018-11-29 + +- added support for mixed content + +## 2.7.3 - 2018-10-30 + +- fix for `DomExeception`s being thrown + +## 2.7.2 - 2018-09-17 + +- remove control characters + +## 2.7.1 - 2018-02-02 + +- fix setting attributes + +## 2.7.0 - 2017-09-07 + +- allow wrapping data in a CDATA section + +## 2.6.1- 2017-08-29 + +- add fix for multiple empty/self-closing child elements + +## 2.6.0 - 2017-08-25 + +- add support for naming a root element and adding properties to it + +## 2.5.2 - 2017-08-03 + +- avoid pulling in the snapshot package on install + +## 2.5.1 - 2017-05-30 + +- PHP 7 is now required + +## 2.5.0 - 2017-05-22 + +- allow encoding and version to be set + +## 2.4.0 - 2017-02-18 + +- attributes and value can be set in SimpleXMLElement style + +## 2.3.0 - 2017-02-18 + +- attributes and value can be set in SimpleXMLElement style + +## 2.2.1 - 2016-12-08 + +- fixed an error when there is a special character to the value set in _value + +## 2.2.0 - 2016-06-04 + +- added `toDom` method + +## 2.1.1 - 2016-02-23 + +- Fixed typo in the name of the `addSequentialNode`-function + +## 2.1.0 - 2015-10-08 + +- Add ability to use attributes + +## 2.0.0 - 2015-10-08 + +- Add support to collection arrays and dynamically XML convertion when keys are numeric + +## 1.0.3 - 2015-10-03 + +- handle values with special characters + +## 1.0.1 - 2015-03-18 + +- use DOMDocument for better validation +- added an option to opt out of the automatic space replacement + +## 1.0.0 - 2015-03-17 + +- initial release diff --git a/vendor/spatie/array-to-xml/LICENSE.md b/vendor/spatie/array-to-xml/LICENSE.md new file mode 100755 index 00000000..59e5ec59 --- /dev/null +++ b/vendor/spatie/array-to-xml/LICENSE.md @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) Spatie bvba + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/spatie/array-to-xml/README.md b/vendor/spatie/array-to-xml/README.md new file mode 100755 index 00000000..5d4769a3 --- /dev/null +++ b/vendor/spatie/array-to-xml/README.md @@ -0,0 +1,536 @@ + +[](https://supportukrainenow.org) + +# Convert an array to xml + +[![Latest Version](https://img.shields.io/github/release/spatie/array-to-xml.svg?style=flat-square)](https://github.com/spatie/array-to-xml/releases) +[![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat-square)](LICENSE.md) +![Tests](https://github.com/spatie/array-to-xml/workflows/Tests/badge.svg) +[![Total Downloads](https://img.shields.io/packagist/dt/spatie/array-to-xml.svg?style=flat-square)](https://packagist.org/packages/spatie/array-to-xml) + +This package provides a very simple class to convert an array to an xml string. + +## Support us + +[](https://spatie.be/github-ad-click/array-to-xml) + +We invest a lot of resources into creating [best in class open source packages](https://spatie.be/open-source). You can support us by [buying one of our paid products](https://spatie.be/open-source/support-us). + +We highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. You'll find our address on [our contact page](https://spatie.be/about-us). We publish all received postcards on [our virtual postcard wall](https://spatie.be/open-source/postcards). + +## Install + +You can install this package via composer. + +``` bash +composer require spatie/array-to-xml +``` + +## Usage + +```php +use Spatie\ArrayToXml\ArrayToXml; +... +$array = [ + 'Good guy' => [ + 'name' => 'Luke Skywalker', + 'weapon' => 'Lightsaber' + ], + 'Bad guy' => [ + 'name' => 'Sauron', + 'weapon' => 'Evil Eye' + ] +]; + +$result = ArrayToXml::convert($array); +``` +After running this piece of code `$result` will contain: + +```xml + + + + Luke Skywalker + Lightsaber + + + Sauron + Evil Eye + + +``` + + +### Setting the name of the root element + +Optionally you can set the name of the rootElement by passing it as the second argument. If you don't specify +this argument (or set it to an empty string) "root" will be used. +``` +$result = ArrayToXml::convert($array, 'customrootname'); +``` + +### Handling key names + +By default all spaces in the key names of your array will be converted to underscores. If you want to opt out of +this behaviour you can set the third argument to false. We'll leave all keynames alone. +``` +$result = ArrayToXml::convert($array, 'customrootname', false); +``` + +### Adding attributes + +You can use a key named `_attributes` to add attributes to a node, and `_value` to specify the value. + +```php +$array = [ + 'Good guy' => [ + '_attributes' => ['attr1' => 'value'], + 'name' => 'Luke Skywalker', + 'weapon' => 'Lightsaber' + ], + 'Bad guy' => [ + 'name' => 'Sauron', + 'weapon' => 'Evil Eye' + ], + 'The survivor' => [ + '_attributes' => ['house'=>'Hogwarts'], + '_value' => 'Harry Potter' + ] +]; + +$result = ArrayToXml::convert($array); +``` + +This code will result in: + +```xml + + + + Luke Skywalker + Lightsaber + + + Sauron + Evil Eye + + + Harry Potter + + +``` + +*Note, that the value of the `_value` field must be a string. [(More)](https://github.com/spatie/array-to-xml/issues/75#issuecomment-413726065)* + +### Using reserved characters + +It is also possible to wrap the value of a node into a CDATA section. This allows you to use reserved characters. + +```php +$array = [ + 'Good guy' => [ + 'name' => [ + '_cdata' => '

Luke Skywalker

' + ], + 'weapon' => 'Lightsaber' + ], + 'Bad guy' => [ + 'name' => '

Sauron

', + 'weapon' => 'Evil Eye' + ] +]; + +$result = ArrayToXml::convert($array); +``` + +This code will result in: + +```xml + + + + Luke Skywalker]]> + Lightsaber + + + <h1>Sauron</h1> + Evil Eye + + +``` + +If your input contains something that cannot be parsed a `DOMException` will be thrown. + + +### Customize the XML declaration + +You could specify specific values in for: + - encoding as the fourth argument (string) + - version as the fifth argument (string) + - standalone as sixth argument (boolean) + +```php +$result = ArrayToXml::convert($array, [], true, 'UTF-8', '1.1', [], true); +``` + +This will result in: + +```xml + +``` + + +### Adding attributes to the root element + +To add attributes to the root element provide an array with an `_attributes` key as the second argument. +The root element name can then be set using the `rootElementName` key. + +```php +$result = ArrayToXml::convert($array, [ +    'rootElementName' => 'helloyouluckypeople', + '_attributes' => [ + 'xmlns' => 'https://github.com/spatie/array-to-xml', + ], +], true, 'UTF-8'); +``` + +### Using a multi-dimensional array + +Use a multi-dimensional array to create a collection of elements. +```php +$array = [ + 'Good guys' => [ + 'Guy' => [ + ['name' => 'Luke Skywalker', 'weapon' => 'Lightsaber'], + ['name' => 'Captain America', 'weapon' => 'Shield'], + ], + ], + 'Bad guys' => [ + 'Guy' => [ + ['name' => 'Sauron', 'weapon' => 'Evil Eye'], + ['name' => 'Darth Vader', 'weapon' => 'Lightsaber'], + ], + ], +]; +``` + +This will result in: + +```xml + + + + + Luke Skywalker + Lightsaber + + + Captain America + Shield + + + + + Sauron + Evil Eye + + + Darth Vader + Lightsaber + + + +``` + +### Handling numeric keys + +The package can also can handle numeric keys: + +```php +$array = [ + 100 => [ + 'name' => 'Vladimir', + 'nickname' => 'greeflas', + ], + 200 => [ + 'name' => 'Marina', + 'nickname' => 'estacet', + ], +]; + +$result = ArrayToXml::convert(['__numeric' => $array]); +``` + +This will result in: + +```xml + + + + Vladimir + greeflas + + + Marina + estacet + + +``` + +You can change key prefix with setter method called `setNumericTagNamePrefix()`. + +### Using custom keys + +The package can also can handle custom keys: + +```php +$array = [ + '__custom:custom-key:1' => [ + 'name' => 'Vladimir', + 'nickname' => 'greeflas', + ], + '__custom:custom-key:2' => [ + 'name' => 'Marina', + 'nickname' => 'estacet', + 'tags' => [ + '__custom:tag:1' => 'first-tag', + '__custom:tag:2' => 'second-tag', + ] + ], +]; + +$result = ArrayToXml::convert($array); +``` + +This will result in: + +```xml + + + + Vladimir + greeflas + + + Marina + estacet + + first-tag + second-tag + + + +``` + +A custom key contains three, colon-separated parts: "__custom:[custom-tag]:[unique-string]". + +- "__custom" + - The key always starts with "__custom". +- [custom-tag] + - The string to be rendered as the XML tag. +- [unique-string] + - A unique string that avoids overwriting of duplicate keys in PHP arrays. + +a colon character can be included within the custom-tag portion by escaping it with a backslash: + +```php +$array = [ + '__custom:ns\\:custom-key:1' => [ + 'name' => 'Vladimir', + 'nickname' => 'greeflas', + ], + '__custom:ns\\:custom-key:2' => [ + 'name' => 'Marina', + 'nickname' => 'estacet', + 'tags' => [ + '__custom:ns\\:tag:1' => 'first-tag', + '__custom:ns\\:tag:2' => 'second-tag', + ] + ], +]; +``` +This will result in: + +```xml + + + + Vladimir + greeflas + + + Marina + estacet + + first-tag + second-tag + + + +``` + +### Setting DOMDocument properties + +To set properties of the internal DOMDocument object just pass an array consisting of keys and values. For a full list of valid properties consult https://www.php.net/manual/en/class.domdocument.php. + +You can use the constructor to set DOMDocument properties. + +```php +$result = ArrayToXml::convert( + $array, + $rootElement, + $replaceSpacesByUnderScoresInKeyNames, + $xmlEncoding, + $xmlVersion, + ['formatOutput' => true] +); + +``` + +Alternatively you can use `setDomProperties` + +```php +$arrayToXml = new ArrayToXml($array); +$arrayToXml->setDomProperties(['formatOutput' => true]); +$result = $arrayToXml->toXml(); +``` + +### XML Prettification + +Call `$arrayToXml->prettify()` method on ArrayToXml to set XML in pretty form. + +Example: + +```php +$array = [ + 'Good guy' => [ + 'name' => 'Luke Skywalker', + 'weapon' => 'Lightsaber' + ], + 'Bad guy' => [ + 'name' => 'Sauron', + 'weapon' => 'Evil Eye' + ] +]; +$arrayToXml = new ArrayToXml($array); +``` + +With prettification: + +```php +$arrayToXml->prettify()->toXml(); +``` + +will result in: + +```xml + + + + Luke Skywalker + Lightsaber + + + Sauron + Evil Eye + + +``` + +Without prettification: + +```php +$arrayToXml->toXml(); +``` + +will result in: + +```xml + +Luke SkywalkerLightsaberSauronEvil Eye +``` + +### Dropping XML declaration + +Call `$arrayToXml->dropXmlDeclaration()` method on ArrayToXml object to omit default XML declaration on top of the generated XML. + +Example: + +```php +$root = [ + 'rootElementName' => 'soap:Envelope', + '_attributes' => [ + 'xmlns:soap' => 'http://www.w3.org/2003/05/soap-envelope/', + ], +]; +$array = [ + 'soap:Header' => [], + 'soap:Body' => [ + 'soap:key' => 'soap:value', + ], +]; +$arrayToXml = new ArrayToXml($array, $root); + +$result = $arrayToXml->dropXmlDeclaration()->toXml(); +``` + +This will result in: + +```xml +soap:value +``` + +### Adding processing instructions + +Call `$arrayToXml->addProcessingInstruction($target, $data)` method on ArrayToXml object to prepend a processing instruction before the root element. + +Example: + +```php +$arrayToXml = new ArrayToXml($array); +$arrayToXml->addProcessingInstruction('xml-stylesheet', 'type="text/xsl" href="base.xsl"'); +$result = $arrayToXml->toXml(); +``` + +This will result in: + +```xml + + +Luke SkywalkerLightsaberSauronEvil Eye +``` + +## Testing + +```bash +vendor/bin/phpunit +``` + +## Changelog + +Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently. + +## Contributing + +Please see [CONTRIBUTING](https://github.com/spatie/.github/blob/main/CONTRIBUTING.md) for details. + +## Security Vulnerabilities + +Please review [our security policy](../../security/policy) on how to report security vulnerabilities. + +## Postcardware + +You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using. + +Our address is: Spatie, Kruikstraat 22, 2018 Antwerp, Belgium. + +We publish all received postcards [on our company website](https://spatie.be/en/opensource/postcards). + +## Credits + +- [Freek Van der Herten](https://github.com/freekmurze) +- [All Contributors](../../contributors) + +## License + +The MIT License (MIT). Please see [License File](LICENSE.md) for more information. diff --git a/vendor/spatie/array-to-xml/composer.json b/vendor/spatie/array-to-xml/composer.json new file mode 100755 index 00000000..df8cd3a2 --- /dev/null +++ b/vendor/spatie/array-to-xml/composer.json @@ -0,0 +1,46 @@ +{ + "name": "spatie/array-to-xml", + "description": "Convert an array to xml", + "keywords": [ + "convert", + "array", + "xml" + ], + "homepage": "https://github.com/spatie/array-to-xml", + "license": "MIT", + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "require": { + "php" : "^8.0", + "ext-dom": "*" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "autoload-dev": { + "psr-4": { + "Spatie\\ArrayToXml\\Test\\": "tests" + } + }, + "scripts": { + "test": "vendor/bin/pest" + }, + "config": { + "allow-plugins": { + "pestphp/pest-plugin": true + } + } +} diff --git a/vendor/spatie/array-to-xml/src/ArrayToXml.php b/vendor/spatie/array-to-xml/src/ArrayToXml.php new file mode 100644 index 00000000..e08a150d --- /dev/null +++ b/vendor/spatie/array-to-xml/src/ArrayToXml.php @@ -0,0 +1,275 @@ +document = new DOMDocument($xmlVersion, $xmlEncoding ?? ''); + + if (! is_null($xmlStandalone)) { + $this->document->xmlStandalone = $xmlStandalone; + } + + if (! empty($domProperties)) { + $this->setDomProperties($domProperties); + } + + $this->replaceSpacesByUnderScoresInKeyNames = $replaceSpacesByUnderScoresInKeyNames; + + if (! empty($array) && $this->isArrayAllKeySequential($array)) { + throw new DOMException('Invalid Character Error'); + } + + $root = $this->createRootElement($rootElement); + + $this->document->appendChild($root); + + $this->convertElement($root, $array); + } + + public function setNumericTagNamePrefix(string $prefix): void + { + $this->numericTagNamePrefix = $prefix; + } + + public static function convert( + array $array, + $rootElement = '', + bool $replaceSpacesByUnderScoresInKeyNames = true, + string $xmlEncoding = null, + string $xmlVersion = '1.0', + array $domProperties = [], + bool $xmlStandalone = null + ): string { + $converter = new static( + $array, + $rootElement, + $replaceSpacesByUnderScoresInKeyNames, + $xmlEncoding, + $xmlVersion, + $domProperties, + $xmlStandalone + ); + + return $converter->toXml(); + } + + public function toXml(): string + { + return $this->addXmlDeclaration + ? $this->document->saveXML() + : $this->document->saveXml($this->document->documentElement); + } + + public function toDom(): DOMDocument + { + return $this->document; + } + + protected function ensureValidDomProperties(array $domProperties): void + { + foreach ($domProperties as $key => $value) { + if (! property_exists($this->document, $key)) { + throw new Exception("{$key} is not a valid property of DOMDocument"); + } + } + } + + public function setDomProperties(array $domProperties): self + { + $this->ensureValidDomProperties($domProperties); + + foreach ($domProperties as $key => $value) { + $this->document->{$key} = $value; + } + + return $this; + } + + public function prettify(): self + { + $this->document->preserveWhiteSpace = false; + $this->document->formatOutput = true; + + return $this; + } + + public function dropXmlDeclaration(): self + { + $this->addXmlDeclaration = false; + + return $this; + } + + public function addProcessingInstruction(string $target, string $data): self + { + $elements = $this->document->getElementsByTagName('*'); + + $rootElement = $elements->count() > 0 ? $elements->item(0) : null; + + $processingInstruction = $this->document->createProcessingInstruction($target, $data); + + $this->document->insertBefore($processingInstruction, $rootElement); + + return $this; + } + + protected function convertElement(DOMElement $element, mixed $value): void + { + $sequential = $this->isArrayAllKeySequential($value); + + if (! is_array($value)) { + $value = htmlspecialchars($value ?? ''); + + $value = $this->removeControlCharacters($value); + + $element->nodeValue = $value; + + return; + } + + foreach ($value as $key => $data) { + if (! $sequential) { + if (($key === '_attributes') || ($key === '@attributes')) { + $this->addAttributes($element, $data); + } elseif ((($key === '_value') || ($key === '@value')) && is_string($data)) { + $element->nodeValue = htmlspecialchars($data); + } elseif ((($key === '_cdata') || ($key === '@cdata')) && is_string($data)) { + $element->appendChild($this->document->createCDATASection($data)); + } elseif ((($key === '_mixed') || ($key === '@mixed')) && is_string($data)) { + $fragment = $this->document->createDocumentFragment(); + $fragment->appendXML($data); + $element->appendChild($fragment); + } elseif ($key === '__numeric') { + $this->addNumericNode($element, $data); + } elseif (str_starts_with($key, '__custom:')) { + $this->addNode($element, str_replace('\:', ':', preg_split('/(?addNode($element, $key, $data); + } + } elseif (is_array($data)) { + $this->addCollectionNode($element, $data); + } else { + $this->addSequentialNode($element, $data); + } + } + } + + protected function addNumericNode(DOMElement $element, mixed $value): void + { + foreach ($value as $key => $item) { + $this->convertElement($element, [$this->numericTagNamePrefix.$key => $item]); + } + } + + protected function addNode(DOMElement $element, string $key, mixed $value): void + { + if ($this->replaceSpacesByUnderScoresInKeyNames) { + $key = str_replace(' ', '_', $key); + } + + $child = $this->document->createElement($key); + $element->appendChild($child); + $this->convertElement($child, $value); + } + + protected function addCollectionNode(DOMElement $element, mixed $value): void + { + if ($element->childNodes->length === 0 && $element->attributes->length === 0) { + $this->convertElement($element, $value); + + return; + } + + $child = $this->document->createElement($element->tagName); + $element->parentNode->appendChild($child); + $this->convertElement($child, $value); + } + + protected function addSequentialNode(DOMElement $element, mixed $value): void + { + if (empty($element->nodeValue) && ! is_numeric($element->nodeValue)) { + $element->nodeValue = htmlspecialchars($value); + + return; + } + + $child = $this->document->createElement($element->tagName); + $child->nodeValue = htmlspecialchars($value); + $element->parentNode->appendChild($child); + } + + protected function isArrayAllKeySequential(array | string | null $value): bool + { + if (! is_array($value)) { + return false; + } + + if (count($value) <= 0) { + return true; + } + + if (\key($value) === '__numeric') { + return false; + } + + return array_unique(array_map('is_int', array_keys($value))) === [true]; + } + + protected function addAttributes(DOMElement $element, array $data): void + { + foreach ($data as $attrKey => $attrVal) { + $element->setAttribute($attrKey, $attrVal ?? ''); + } + } + + protected function createRootElement(string|array $rootElement): DOMElement + { + if (is_string($rootElement)) { + $rootElementName = $rootElement ?: 'root'; + + return $this->document->createElement($rootElementName); + } + + $rootElementName = $rootElement['rootElementName'] ?? 'root'; + + $element = $this->document->createElement($rootElementName); + + foreach ($rootElement as $key => $value) { + if ($key !== '_attributes' && $key !== '@attributes') { + continue; + } + + $this->addAttributes($element, $rootElement[$key]); + } + + return $element; + } + + protected function removeControlCharacters(string $value): string + { + return preg_replace('/[\x00-\x09\x0B\x0C\x0E-\x1F\x7F]/', '', $value); + } +} diff --git a/vendor/symfony/filesystem/CHANGELOG.md b/vendor/symfony/filesystem/CHANGELOG.md new file mode 100644 index 00000000..fcb7170c --- /dev/null +++ b/vendor/symfony/filesystem/CHANGELOG.md @@ -0,0 +1,82 @@ +CHANGELOG +========= + +5.4 +--- + + * Add `Path` class + * Add `$lock` argument to `Filesystem::appendToFile()` + +5.0.0 +----- + + * `Filesystem::dumpFile()` and `appendToFile()` don't accept arrays anymore + +4.4.0 +----- + + * support for passing a `null` value to `Filesystem::isAbsolutePath()` is deprecated and will be removed in 5.0 + * `tempnam()` now accepts a third argument `$suffix`. + +4.3.0 +----- + + * support for passing arrays to `Filesystem::dumpFile()` is deprecated and will be removed in 5.0 + * support for passing arrays to `Filesystem::appendToFile()` is deprecated and will be removed in 5.0 + +4.0.0 +----- + + * removed `LockHandler` + * Support for passing relative paths to `Filesystem::makePathRelative()` has been removed. + +3.4.0 +----- + + * support for passing relative paths to `Filesystem::makePathRelative()` is deprecated and will be removed in 4.0 + +3.3.0 +----- + + * added `appendToFile()` to append contents to existing files + +3.2.0 +----- + + * added `readlink()` as a platform independent method to read links + +3.0.0 +----- + + * removed `$mode` argument from `Filesystem::dumpFile()` + +2.8.0 +----- + + * added tempnam() a stream aware version of PHP's native tempnam() + +2.6.0 +----- + + * added LockHandler + +2.3.12 +------ + + * deprecated dumpFile() file mode argument. + +2.3.0 +----- + + * added the dumpFile() method to atomically write files + +2.2.0 +----- + + * added a delete option for the mirror() method + +2.1.0 +----- + + * 24eb396 : BC Break : mkdir() function now throws exception in case of failure instead of returning Boolean value + * created the component diff --git a/vendor/symfony/filesystem/Exception/ExceptionInterface.php b/vendor/symfony/filesystem/Exception/ExceptionInterface.php new file mode 100644 index 00000000..fc438d9f --- /dev/null +++ b/vendor/symfony/filesystem/Exception/ExceptionInterface.php @@ -0,0 +1,21 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem\Exception; + +/** + * Exception interface for all exceptions thrown by the component. + * + * @author Romain Neutron + */ +interface ExceptionInterface extends \Throwable +{ +} diff --git a/vendor/symfony/filesystem/Exception/FileNotFoundException.php b/vendor/symfony/filesystem/Exception/FileNotFoundException.php new file mode 100644 index 00000000..48b64080 --- /dev/null +++ b/vendor/symfony/filesystem/Exception/FileNotFoundException.php @@ -0,0 +1,34 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem\Exception; + +/** + * Exception class thrown when a file couldn't be found. + * + * @author Fabien Potencier + * @author Christian Gärtner + */ +class FileNotFoundException extends IOException +{ + public function __construct(string $message = null, int $code = 0, \Throwable $previous = null, string $path = null) + { + if (null === $message) { + if (null === $path) { + $message = 'File could not be found.'; + } else { + $message = sprintf('File "%s" could not be found.', $path); + } + } + + parent::__construct($message, $code, $previous, $path); + } +} diff --git a/vendor/symfony/filesystem/Exception/IOException.php b/vendor/symfony/filesystem/Exception/IOException.php new file mode 100644 index 00000000..a3c54455 --- /dev/null +++ b/vendor/symfony/filesystem/Exception/IOException.php @@ -0,0 +1,36 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem\Exception; + +/** + * Exception class thrown when a filesystem operation failure happens. + * + * @author Romain Neutron + * @author Christian Gärtner + * @author Fabien Potencier + */ +class IOException extends \RuntimeException implements IOExceptionInterface +{ + private ?string $path; + + public function __construct(string $message, int $code = 0, \Throwable $previous = null, string $path = null) + { + $this->path = $path; + + parent::__construct($message, $code, $previous); + } + + public function getPath(): ?string + { + return $this->path; + } +} diff --git a/vendor/symfony/filesystem/Exception/IOExceptionInterface.php b/vendor/symfony/filesystem/Exception/IOExceptionInterface.php new file mode 100644 index 00000000..90c71db8 --- /dev/null +++ b/vendor/symfony/filesystem/Exception/IOExceptionInterface.php @@ -0,0 +1,25 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem\Exception; + +/** + * IOException interface for file and input/output stream related exceptions thrown by the component. + * + * @author Christian Gärtner + */ +interface IOExceptionInterface extends ExceptionInterface +{ + /** + * Returns the associated path for the exception. + */ + public function getPath(): ?string; +} diff --git a/vendor/symfony/filesystem/Exception/InvalidArgumentException.php b/vendor/symfony/filesystem/Exception/InvalidArgumentException.php new file mode 100644 index 00000000..abadc200 --- /dev/null +++ b/vendor/symfony/filesystem/Exception/InvalidArgumentException.php @@ -0,0 +1,19 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem\Exception; + +/** + * @author Christian Flothmann + */ +class InvalidArgumentException extends \InvalidArgumentException implements ExceptionInterface +{ +} diff --git a/vendor/symfony/filesystem/Exception/RuntimeException.php b/vendor/symfony/filesystem/Exception/RuntimeException.php new file mode 100644 index 00000000..a7512dca --- /dev/null +++ b/vendor/symfony/filesystem/Exception/RuntimeException.php @@ -0,0 +1,19 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem\Exception; + +/** + * @author Théo Fidry + */ +class RuntimeException extends \RuntimeException implements ExceptionInterface +{ +} diff --git a/vendor/symfony/filesystem/Filesystem.php b/vendor/symfony/filesystem/Filesystem.php new file mode 100644 index 00000000..c7f3dd29 --- /dev/null +++ b/vendor/symfony/filesystem/Filesystem.php @@ -0,0 +1,737 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem; + +use Symfony\Component\Filesystem\Exception\FileNotFoundException; +use Symfony\Component\Filesystem\Exception\InvalidArgumentException; +use Symfony\Component\Filesystem\Exception\IOException; + +/** + * Provides basic utility to manipulate the file system. + * + * @author Fabien Potencier + */ +class Filesystem +{ + private static $lastError; + + /** + * Copies a file. + * + * If the target file is older than the origin file, it's always overwritten. + * If the target file is newer, it is overwritten only when the + * $overwriteNewerFiles option is set to true. + * + * @throws FileNotFoundException When originFile doesn't exist + * @throws IOException When copy fails + */ + public function copy(string $originFile, string $targetFile, bool $overwriteNewerFiles = false) + { + $originIsLocal = stream_is_local($originFile) || 0 === stripos($originFile, 'file://'); + if ($originIsLocal && !is_file($originFile)) { + throw new FileNotFoundException(sprintf('Failed to copy "%s" because file does not exist.', $originFile), 0, null, $originFile); + } + + $this->mkdir(\dirname($targetFile)); + + $doCopy = true; + if (!$overwriteNewerFiles && null === parse_url($originFile, \PHP_URL_HOST) && is_file($targetFile)) { + $doCopy = filemtime($originFile) > filemtime($targetFile); + } + + if ($doCopy) { + // https://bugs.php.net/64634 + if (!$source = self::box('fopen', $originFile, 'r')) { + throw new IOException(sprintf('Failed to copy "%s" to "%s" because source file could not be opened for reading: ', $originFile, $targetFile).self::$lastError, 0, null, $originFile); + } + + // Stream context created to allow files overwrite when using FTP stream wrapper - disabled by default + if (!$target = self::box('fopen', $targetFile, 'w', false, stream_context_create(['ftp' => ['overwrite' => true]]))) { + throw new IOException(sprintf('Failed to copy "%s" to "%s" because target file could not be opened for writing: ', $originFile, $targetFile).self::$lastError, 0, null, $originFile); + } + + $bytesCopied = stream_copy_to_stream($source, $target); + fclose($source); + fclose($target); + unset($source, $target); + + if (!is_file($targetFile)) { + throw new IOException(sprintf('Failed to copy "%s" to "%s".', $originFile, $targetFile), 0, null, $originFile); + } + + if ($originIsLocal) { + // Like `cp`, preserve executable permission bits + self::box('chmod', $targetFile, fileperms($targetFile) | (fileperms($originFile) & 0111)); + + if ($bytesCopied !== $bytesOrigin = filesize($originFile)) { + throw new IOException(sprintf('Failed to copy the whole content of "%s" to "%s" (%g of %g bytes copied).', $originFile, $targetFile, $bytesCopied, $bytesOrigin), 0, null, $originFile); + } + } + } + } + + /** + * Creates a directory recursively. + * + * @throws IOException On any directory creation failure + */ + public function mkdir(string|iterable $dirs, int $mode = 0777) + { + foreach ($this->toIterable($dirs) as $dir) { + if (is_dir($dir)) { + continue; + } + + if (!self::box('mkdir', $dir, $mode, true) && !is_dir($dir)) { + throw new IOException(sprintf('Failed to create "%s": ', $dir).self::$lastError, 0, null, $dir); + } + } + } + + /** + * Checks the existence of files or directories. + */ + public function exists(string|iterable $files): bool + { + $maxPathLength = \PHP_MAXPATHLEN - 2; + + foreach ($this->toIterable($files) as $file) { + if (\strlen($file) > $maxPathLength) { + throw new IOException(sprintf('Could not check if file exist because path length exceeds %d characters.', $maxPathLength), 0, null, $file); + } + + if (!file_exists($file)) { + return false; + } + } + + return true; + } + + /** + * Sets access and modification time of file. + * + * @param int|null $time The touch time as a Unix timestamp, if not supplied the current system time is used + * @param int|null $atime The access time as a Unix timestamp, if not supplied the current system time is used + * + * @throws IOException When touch fails + */ + public function touch(string|iterable $files, int $time = null, int $atime = null) + { + foreach ($this->toIterable($files) as $file) { + if (!($time ? self::box('touch', $file, $time, $atime) : self::box('touch', $file))) { + throw new IOException(sprintf('Failed to touch "%s": ', $file).self::$lastError, 0, null, $file); + } + } + } + + /** + * Removes files or directories. + * + * @throws IOException When removal fails + */ + public function remove(string|iterable $files) + { + if ($files instanceof \Traversable) { + $files = iterator_to_array($files, false); + } elseif (!\is_array($files)) { + $files = [$files]; + } + + self::doRemove($files, false); + } + + private static function doRemove(array $files, bool $isRecursive): void + { + $files = array_reverse($files); + foreach ($files as $file) { + if (is_link($file)) { + // See https://bugs.php.net/52176 + if (!(self::box('unlink', $file) || '\\' !== \DIRECTORY_SEPARATOR || self::box('rmdir', $file)) && file_exists($file)) { + throw new IOException(sprintf('Failed to remove symlink "%s": ', $file).self::$lastError); + } + } elseif (is_dir($file)) { + if (!$isRecursive) { + $tmpName = \dirname(realpath($file)).'/.'.strrev(strtr(base64_encode(random_bytes(2)), '/=', '-.')); + + if (file_exists($tmpName)) { + try { + self::doRemove([$tmpName], true); + } catch (IOException) { + } + } + + if (!file_exists($tmpName) && self::box('rename', $file, $tmpName)) { + $origFile = $file; + $file = $tmpName; + } else { + $origFile = null; + } + } + + $filesystemIterator = new \FilesystemIterator($file, \FilesystemIterator::CURRENT_AS_PATHNAME | \FilesystemIterator::SKIP_DOTS); + self::doRemove(iterator_to_array($filesystemIterator, true), true); + + if (!self::box('rmdir', $file) && file_exists($file) && !$isRecursive) { + $lastError = self::$lastError; + + if (null !== $origFile && self::box('rename', $file, $origFile)) { + $file = $origFile; + } + + throw new IOException(sprintf('Failed to remove directory "%s": ', $file).$lastError); + } + } elseif (!self::box('unlink', $file) && (str_contains(self::$lastError, 'Permission denied') || file_exists($file))) { + throw new IOException(sprintf('Failed to remove file "%s": ', $file).self::$lastError); + } + } + } + + /** + * Change mode for an array of files or directories. + * + * @param int $mode The new mode (octal) + * @param int $umask The mode mask (octal) + * @param bool $recursive Whether change the mod recursively or not + * + * @throws IOException When the change fails + */ + public function chmod(string|iterable $files, int $mode, int $umask = 0000, bool $recursive = false) + { + foreach ($this->toIterable($files) as $file) { + if (\is_int($mode) && !self::box('chmod', $file, $mode & ~$umask)) { + throw new IOException(sprintf('Failed to chmod file "%s": ', $file).self::$lastError, 0, null, $file); + } + if ($recursive && is_dir($file) && !is_link($file)) { + $this->chmod(new \FilesystemIterator($file), $mode, $umask, true); + } + } + } + + /** + * Change the owner of an array of files or directories. + * + * @param string|int $user A user name or number + * @param bool $recursive Whether change the owner recursively or not + * + * @throws IOException When the change fails + */ + public function chown(string|iterable $files, string|int $user, bool $recursive = false) + { + foreach ($this->toIterable($files) as $file) { + if ($recursive && is_dir($file) && !is_link($file)) { + $this->chown(new \FilesystemIterator($file), $user, true); + } + if (is_link($file) && \function_exists('lchown')) { + if (!self::box('lchown', $file, $user)) { + throw new IOException(sprintf('Failed to chown file "%s": ', $file).self::$lastError, 0, null, $file); + } + } else { + if (!self::box('chown', $file, $user)) { + throw new IOException(sprintf('Failed to chown file "%s": ', $file).self::$lastError, 0, null, $file); + } + } + } + } + + /** + * Change the group of an array of files or directories. + * + * @param string|int $group A group name or number + * @param bool $recursive Whether change the group recursively or not + * + * @throws IOException When the change fails + */ + public function chgrp(string|iterable $files, string|int $group, bool $recursive = false) + { + foreach ($this->toIterable($files) as $file) { + if ($recursive && is_dir($file) && !is_link($file)) { + $this->chgrp(new \FilesystemIterator($file), $group, true); + } + if (is_link($file) && \function_exists('lchgrp')) { + if (!self::box('lchgrp', $file, $group)) { + throw new IOException(sprintf('Failed to chgrp file "%s": ', $file).self::$lastError, 0, null, $file); + } + } else { + if (!self::box('chgrp', $file, $group)) { + throw new IOException(sprintf('Failed to chgrp file "%s": ', $file).self::$lastError, 0, null, $file); + } + } + } + } + + /** + * Renames a file or a directory. + * + * @throws IOException When target file or directory already exists + * @throws IOException When origin cannot be renamed + */ + public function rename(string $origin, string $target, bool $overwrite = false) + { + // we check that target does not exist + if (!$overwrite && $this->isReadable($target)) { + throw new IOException(sprintf('Cannot rename because the target "%s" already exists.', $target), 0, null, $target); + } + + if (!self::box('rename', $origin, $target)) { + if (is_dir($origin)) { + // See https://bugs.php.net/54097 & https://php.net/rename#113943 + $this->mirror($origin, $target, null, ['override' => $overwrite, 'delete' => $overwrite]); + $this->remove($origin); + + return; + } + throw new IOException(sprintf('Cannot rename "%s" to "%s": ', $origin, $target).self::$lastError, 0, null, $target); + } + } + + /** + * Tells whether a file exists and is readable. + * + * @throws IOException When windows path is longer than 258 characters + */ + private function isReadable(string $filename): bool + { + $maxPathLength = \PHP_MAXPATHLEN - 2; + + if (\strlen($filename) > $maxPathLength) { + throw new IOException(sprintf('Could not check if file is readable because path length exceeds %d characters.', $maxPathLength), 0, null, $filename); + } + + return is_readable($filename); + } + + /** + * Creates a symbolic link or copy a directory. + * + * @throws IOException When symlink fails + */ + public function symlink(string $originDir, string $targetDir, bool $copyOnWindows = false) + { + self::assertFunctionExists('symlink'); + + if ('\\' === \DIRECTORY_SEPARATOR) { + $originDir = strtr($originDir, '/', '\\'); + $targetDir = strtr($targetDir, '/', '\\'); + + if ($copyOnWindows) { + $this->mirror($originDir, $targetDir); + + return; + } + } + + $this->mkdir(\dirname($targetDir)); + + if (is_link($targetDir)) { + if (readlink($targetDir) === $originDir) { + return; + } + $this->remove($targetDir); + } + + if (!self::box('symlink', $originDir, $targetDir)) { + $this->linkException($originDir, $targetDir, 'symbolic'); + } + } + + /** + * Creates a hard link, or several hard links to a file. + * + * @param string|string[] $targetFiles The target file(s) + * + * @throws FileNotFoundException When original file is missing or not a file + * @throws IOException When link fails, including if link already exists + */ + public function hardlink(string $originFile, string|iterable $targetFiles) + { + self::assertFunctionExists('link'); + + if (!$this->exists($originFile)) { + throw new FileNotFoundException(null, 0, null, $originFile); + } + + if (!is_file($originFile)) { + throw new FileNotFoundException(sprintf('Origin file "%s" is not a file.', $originFile)); + } + + foreach ($this->toIterable($targetFiles) as $targetFile) { + if (is_file($targetFile)) { + if (fileinode($originFile) === fileinode($targetFile)) { + continue; + } + $this->remove($targetFile); + } + + if (!self::box('link', $originFile, $targetFile)) { + $this->linkException($originFile, $targetFile, 'hard'); + } + } + } + + /** + * @param string $linkType Name of the link type, typically 'symbolic' or 'hard' + */ + private function linkException(string $origin, string $target, string $linkType) + { + if (self::$lastError) { + if ('\\' === \DIRECTORY_SEPARATOR && str_contains(self::$lastError, 'error code(1314)')) { + throw new IOException(sprintf('Unable to create "%s" link due to error code 1314: \'A required privilege is not held by the client\'. Do you have the required Administrator-rights?', $linkType), 0, null, $target); + } + } + throw new IOException(sprintf('Failed to create "%s" link from "%s" to "%s": ', $linkType, $origin, $target).self::$lastError, 0, null, $target); + } + + /** + * Resolves links in paths. + * + * With $canonicalize = false (default) + * - if $path does not exist or is not a link, returns null + * - if $path is a link, returns the next direct target of the link without considering the existence of the target + * + * With $canonicalize = true + * - if $path does not exist, returns null + * - if $path exists, returns its absolute fully resolved final version + */ + public function readlink(string $path, bool $canonicalize = false): ?string + { + if (!$canonicalize && !is_link($path)) { + return null; + } + + if ($canonicalize) { + if (!$this->exists($path)) { + return null; + } + + return realpath($path); + } + + return readlink($path); + } + + /** + * Given an existing path, convert it to a path relative to a given starting path. + */ + public function makePathRelative(string $endPath, string $startPath): string + { + if (!$this->isAbsolutePath($startPath)) { + throw new InvalidArgumentException(sprintf('The start path "%s" is not absolute.', $startPath)); + } + + if (!$this->isAbsolutePath($endPath)) { + throw new InvalidArgumentException(sprintf('The end path "%s" is not absolute.', $endPath)); + } + + // Normalize separators on Windows + if ('\\' === \DIRECTORY_SEPARATOR) { + $endPath = str_replace('\\', '/', $endPath); + $startPath = str_replace('\\', '/', $startPath); + } + + $splitDriveLetter = function ($path) { + return (\strlen($path) > 2 && ':' === $path[1] && '/' === $path[2] && ctype_alpha($path[0])) + ? [substr($path, 2), strtoupper($path[0])] + : [$path, null]; + }; + + $splitPath = function ($path) { + $result = []; + + foreach (explode('/', trim($path, '/')) as $segment) { + if ('..' === $segment) { + array_pop($result); + } elseif ('.' !== $segment && '' !== $segment) { + $result[] = $segment; + } + } + + return $result; + }; + + [$endPath, $endDriveLetter] = $splitDriveLetter($endPath); + [$startPath, $startDriveLetter] = $splitDriveLetter($startPath); + + $startPathArr = $splitPath($startPath); + $endPathArr = $splitPath($endPath); + + if ($endDriveLetter && $startDriveLetter && $endDriveLetter != $startDriveLetter) { + // End path is on another drive, so no relative path exists + return $endDriveLetter.':/'.($endPathArr ? implode('/', $endPathArr).'/' : ''); + } + + // Find for which directory the common path stops + $index = 0; + while (isset($startPathArr[$index]) && isset($endPathArr[$index]) && $startPathArr[$index] === $endPathArr[$index]) { + ++$index; + } + + // Determine how deep the start path is relative to the common path (ie, "web/bundles" = 2 levels) + if (1 === \count($startPathArr) && '' === $startPathArr[0]) { + $depth = 0; + } else { + $depth = \count($startPathArr) - $index; + } + + // Repeated "../" for each level need to reach the common path + $traverser = str_repeat('../', $depth); + + $endPathRemainder = implode('/', \array_slice($endPathArr, $index)); + + // Construct $endPath from traversing to the common path, then to the remaining $endPath + $relativePath = $traverser.('' !== $endPathRemainder ? $endPathRemainder.'/' : ''); + + return '' === $relativePath ? './' : $relativePath; + } + + /** + * Mirrors a directory to another. + * + * Copies files and directories from the origin directory into the target directory. By default: + * + * - existing files in the target directory will be overwritten, except if they are newer (see the `override` option) + * - files in the target directory that do not exist in the source directory will not be deleted (see the `delete` option) + * + * @param \Traversable|null $iterator Iterator that filters which files and directories to copy, if null a recursive iterator is created + * @param array $options An array of boolean options + * Valid options are: + * - $options['override'] If true, target files newer than origin files are overwritten (see copy(), defaults to false) + * - $options['copy_on_windows'] Whether to copy files instead of links on Windows (see symlink(), defaults to false) + * - $options['delete'] Whether to delete files that are not in the source directory (defaults to false) + * + * @throws IOException When file type is unknown + */ + public function mirror(string $originDir, string $targetDir, \Traversable $iterator = null, array $options = []) + { + $targetDir = rtrim($targetDir, '/\\'); + $originDir = rtrim($originDir, '/\\'); + $originDirLen = \strlen($originDir); + + if (!$this->exists($originDir)) { + throw new IOException(sprintf('The origin directory specified "%s" was not found.', $originDir), 0, null, $originDir); + } + + // Iterate in destination folder to remove obsolete entries + if ($this->exists($targetDir) && isset($options['delete']) && $options['delete']) { + $deleteIterator = $iterator; + if (null === $deleteIterator) { + $flags = \FilesystemIterator::SKIP_DOTS; + $deleteIterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($targetDir, $flags), \RecursiveIteratorIterator::CHILD_FIRST); + } + $targetDirLen = \strlen($targetDir); + foreach ($deleteIterator as $file) { + $origin = $originDir.substr($file->getPathname(), $targetDirLen); + if (!$this->exists($origin)) { + $this->remove($file); + } + } + } + + $copyOnWindows = $options['copy_on_windows'] ?? false; + + if (null === $iterator) { + $flags = $copyOnWindows ? \FilesystemIterator::SKIP_DOTS | \FilesystemIterator::FOLLOW_SYMLINKS : \FilesystemIterator::SKIP_DOTS; + $iterator = new \RecursiveIteratorIterator(new \RecursiveDirectoryIterator($originDir, $flags), \RecursiveIteratorIterator::SELF_FIRST); + } + + $this->mkdir($targetDir); + $filesCreatedWhileMirroring = []; + + foreach ($iterator as $file) { + if ($file->getPathname() === $targetDir || $file->getRealPath() === $targetDir || isset($filesCreatedWhileMirroring[$file->getRealPath()])) { + continue; + } + + $target = $targetDir.substr($file->getPathname(), $originDirLen); + $filesCreatedWhileMirroring[$target] = true; + + if (!$copyOnWindows && is_link($file)) { + $this->symlink($file->getLinkTarget(), $target); + } elseif (is_dir($file)) { + $this->mkdir($target); + } elseif (is_file($file)) { + $this->copy($file, $target, $options['override'] ?? false); + } else { + throw new IOException(sprintf('Unable to guess "%s" file type.', $file), 0, null, $file); + } + } + } + + /** + * Returns whether the file path is an absolute path. + */ + public function isAbsolutePath(string $file): bool + { + return '' !== $file && (strspn($file, '/\\', 0, 1) + || (\strlen($file) > 3 && ctype_alpha($file[0]) + && ':' === $file[1] + && strspn($file, '/\\', 2, 1) + ) + || null !== parse_url($file, \PHP_URL_SCHEME) + ); + } + + /** + * Creates a temporary file with support for custom stream wrappers. + * + * @param string $prefix The prefix of the generated temporary filename + * Note: Windows uses only the first three characters of prefix + * @param string $suffix The suffix of the generated temporary filename + * + * @return string The new temporary filename (with path), or throw an exception on failure + */ + public function tempnam(string $dir, string $prefix, string $suffix = ''): string + { + [$scheme, $hierarchy] = $this->getSchemeAndHierarchy($dir); + + // If no scheme or scheme is "file" or "gs" (Google Cloud) create temp file in local filesystem + if ((null === $scheme || 'file' === $scheme || 'gs' === $scheme) && '' === $suffix) { + // If tempnam failed or no scheme return the filename otherwise prepend the scheme + if ($tmpFile = self::box('tempnam', $hierarchy, $prefix)) { + if (null !== $scheme && 'gs' !== $scheme) { + return $scheme.'://'.$tmpFile; + } + + return $tmpFile; + } + + throw new IOException('A temporary file could not be created: '.self::$lastError); + } + + // Loop until we create a valid temp file or have reached 10 attempts + for ($i = 0; $i < 10; ++$i) { + // Create a unique filename + $tmpFile = $dir.'/'.$prefix.uniqid(mt_rand(), true).$suffix; + + // Use fopen instead of file_exists as some streams do not support stat + // Use mode 'x+' to atomically check existence and create to avoid a TOCTOU vulnerability + if (!$handle = self::box('fopen', $tmpFile, 'x+')) { + continue; + } + + // Close the file if it was successfully opened + self::box('fclose', $handle); + + return $tmpFile; + } + + throw new IOException('A temporary file could not be created: '.self::$lastError); + } + + /** + * Atomically dumps content into a file. + * + * @param string|resource $content The data to write into the file + * + * @throws IOException if the file cannot be written to + */ + public function dumpFile(string $filename, $content) + { + if (\is_array($content)) { + throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__)); + } + + $dir = \dirname($filename); + + if (!is_dir($dir)) { + $this->mkdir($dir); + } + + // Will create a temp file with 0600 access rights + // when the filesystem supports chmod. + $tmpFile = $this->tempnam($dir, basename($filename)); + + try { + if (false === self::box('file_put_contents', $tmpFile, $content)) { + throw new IOException(sprintf('Failed to write file "%s": ', $filename).self::$lastError, 0, null, $filename); + } + + self::box('chmod', $tmpFile, file_exists($filename) ? fileperms($filename) : 0666 & ~umask()); + + $this->rename($tmpFile, $filename, true); + } finally { + if (file_exists($tmpFile)) { + self::box('unlink', $tmpFile); + } + } + } + + /** + * Appends content to an existing file. + * + * @param string|resource $content The content to append + * @param bool $lock Whether the file should be locked when writing to it + * + * @throws IOException If the file is not writable + */ + public function appendToFile(string $filename, $content/* , bool $lock = false */) + { + if (\is_array($content)) { + throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__)); + } + + $dir = \dirname($filename); + + if (!is_dir($dir)) { + $this->mkdir($dir); + } + + $lock = \func_num_args() > 2 && func_get_arg(2); + + if (false === self::box('file_put_contents', $filename, $content, \FILE_APPEND | ($lock ? \LOCK_EX : 0))) { + throw new IOException(sprintf('Failed to write file "%s": ', $filename).self::$lastError, 0, null, $filename); + } + } + + private function toIterable(string|iterable $files): iterable + { + return is_iterable($files) ? $files : [$files]; + } + + /** + * Gets a 2-tuple of scheme (may be null) and hierarchical part of a filename (e.g. file:///tmp -> [file, tmp]). + */ + private function getSchemeAndHierarchy(string $filename): array + { + $components = explode('://', $filename, 2); + + return 2 === \count($components) ? [$components[0], $components[1]] : [null, $components[0]]; + } + + private static function assertFunctionExists(string $func): void + { + if (!\function_exists($func)) { + throw new IOException(sprintf('Unable to perform filesystem operation because the "%s()" function has been disabled.', $func)); + } + } + + private static function box(string $func, mixed ...$args): mixed + { + self::assertFunctionExists($func); + + self::$lastError = null; + set_error_handler(__CLASS__.'::handleError'); + try { + return $func(...$args); + } finally { + restore_error_handler(); + } + } + + /** + * @internal + */ + public static function handleError(int $type, string $msg) + { + self::$lastError = $msg; + } +} diff --git a/vendor/symfony/filesystem/LICENSE b/vendor/symfony/filesystem/LICENSE new file mode 100644 index 00000000..0138f8f0 --- /dev/null +++ b/vendor/symfony/filesystem/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2004-present Fabien Potencier + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is furnished +to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. diff --git a/vendor/symfony/filesystem/Path.php b/vendor/symfony/filesystem/Path.php new file mode 100644 index 00000000..8ddbac8f --- /dev/null +++ b/vendor/symfony/filesystem/Path.php @@ -0,0 +1,819 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Symfony\Component\Filesystem; + +use Symfony\Component\Filesystem\Exception\InvalidArgumentException; +use Symfony\Component\Filesystem\Exception\RuntimeException; + +/** + * Contains utility methods for handling path strings. + * + * The methods in this class are able to deal with both UNIX and Windows paths + * with both forward and backward slashes. All methods return normalized parts + * containing only forward slashes and no excess "." and ".." segments. + * + * @author Bernhard Schussek + * @author Thomas Schulz + * @author Théo Fidry + */ +final class Path +{ + /** + * The number of buffer entries that triggers a cleanup operation. + */ + private const CLEANUP_THRESHOLD = 1250; + + /** + * The buffer size after the cleanup operation. + */ + private const CLEANUP_SIZE = 1000; + + /** + * Buffers input/output of {@link canonicalize()}. + * + * @var array + */ + private static $buffer = []; + + /** + * @var int + */ + private static $bufferSize = 0; + + /** + * Canonicalizes the given path. + * + * During normalization, all slashes are replaced by forward slashes ("/"). + * Furthermore, all "." and ".." segments are removed as far as possible. + * ".." segments at the beginning of relative paths are not removed. + * + * ```php + * echo Path::canonicalize("\symfony\puli\..\css\style.css"); + * // => /symfony/css/style.css + * + * echo Path::canonicalize("../css/./style.css"); + * // => ../css/style.css + * ``` + * + * This method is able to deal with both UNIX and Windows paths. + */ + public static function canonicalize(string $path): string + { + if ('' === $path) { + return ''; + } + + // This method is called by many other methods in this class. Buffer + // the canonicalized paths to make up for the severe performance + // decrease. + if (isset(self::$buffer[$path])) { + return self::$buffer[$path]; + } + + // Replace "~" with user's home directory. + if ('~' === $path[0]) { + $path = self::getHomeDirectory().substr($path, 1); + } + + $path = self::normalize($path); + + [$root, $pathWithoutRoot] = self::split($path); + + $canonicalParts = self::findCanonicalParts($root, $pathWithoutRoot); + + // Add the root directory again + self::$buffer[$path] = $canonicalPath = $root.implode('/', $canonicalParts); + ++self::$bufferSize; + + // Clean up regularly to prevent memory leaks + if (self::$bufferSize > self::CLEANUP_THRESHOLD) { + self::$buffer = \array_slice(self::$buffer, -self::CLEANUP_SIZE, null, true); + self::$bufferSize = self::CLEANUP_SIZE; + } + + return $canonicalPath; + } + + /** + * Normalizes the given path. + * + * During normalization, all slashes are replaced by forward slashes ("/"). + * Contrary to {@link canonicalize()}, this method does not remove invalid + * or dot path segments. Consequently, it is much more efficient and should + * be used whenever the given path is known to be a valid, absolute system + * path. + * + * This method is able to deal with both UNIX and Windows paths. + */ + public static function normalize(string $path): string + { + return str_replace('\\', '/', $path); + } + + /** + * Returns the directory part of the path. + * + * This method is similar to PHP's dirname(), but handles various cases + * where dirname() returns a weird result: + * + * - dirname() does not accept backslashes on UNIX + * - dirname("C:/symfony") returns "C:", not "C:/" + * - dirname("C:/") returns ".", not "C:/" + * - dirname("C:") returns ".", not "C:/" + * - dirname("symfony") returns ".", not "" + * - dirname() does not canonicalize the result + * + * This method fixes these shortcomings and behaves like dirname() + * otherwise. + * + * The result is a canonical path. + * + * @return string The canonical directory part. Returns the root directory + * if the root directory is passed. Returns an empty string + * if a relative path is passed that contains no slashes. + * Returns an empty string if an empty string is passed. + */ + public static function getDirectory(string $path): string + { + if ('' === $path) { + return ''; + } + + $path = self::canonicalize($path); + + // Maintain scheme + if (false !== $schemeSeparatorPosition = strpos($path, '://')) { + $scheme = substr($path, 0, $schemeSeparatorPosition + 3); + $path = substr($path, $schemeSeparatorPosition + 3); + } else { + $scheme = ''; + } + + if (false === $dirSeparatorPosition = strrpos($path, '/')) { + return ''; + } + + // Directory equals root directory "/" + if (0 === $dirSeparatorPosition) { + return $scheme.'/'; + } + + // Directory equals Windows root "C:/" + if (2 === $dirSeparatorPosition && ctype_alpha($path[0]) && ':' === $path[1]) { + return $scheme.substr($path, 0, 3); + } + + return $scheme.substr($path, 0, $dirSeparatorPosition); + } + + /** + * Returns canonical path of the user's home directory. + * + * Supported operating systems: + * + * - UNIX + * - Windows8 and upper + * + * If your operating system or environment isn't supported, an exception is thrown. + * + * The result is a canonical path. + * + * @throws RuntimeException If your operating system or environment isn't supported + */ + public static function getHomeDirectory(): string + { + // For UNIX support + if (getenv('HOME')) { + return self::canonicalize(getenv('HOME')); + } + + // For >= Windows8 support + if (getenv('HOMEDRIVE') && getenv('HOMEPATH')) { + return self::canonicalize(getenv('HOMEDRIVE').getenv('HOMEPATH')); + } + + throw new RuntimeException("Cannot find the home directory path: Your environment or operating system isn't supported."); + } + + /** + * Returns the root directory of a path. + * + * The result is a canonical path. + * + * @return string The canonical root directory. Returns an empty string if + * the given path is relative or empty. + */ + public static function getRoot(string $path): string + { + if ('' === $path) { + return ''; + } + + // Maintain scheme + if (false !== $schemeSeparatorPosition = strpos($path, '://')) { + $scheme = substr($path, 0, $schemeSeparatorPosition + 3); + $path = substr($path, $schemeSeparatorPosition + 3); + } else { + $scheme = ''; + } + + $firstCharacter = $path[0]; + + // UNIX root "/" or "\" (Windows style) + if ('/' === $firstCharacter || '\\' === $firstCharacter) { + return $scheme.'/'; + } + + $length = \strlen($path); + + // Windows root + if ($length > 1 && ':' === $path[1] && ctype_alpha($firstCharacter)) { + // Special case: "C:" + if (2 === $length) { + return $scheme.$path.'/'; + } + + // Normal case: "C:/ or "C:\" + if ('/' === $path[2] || '\\' === $path[2]) { + return $scheme.$firstCharacter.$path[1].'/'; + } + } + + return ''; + } + + /** + * Returns the file name without the extension from a file path. + * + * @param string|null $extension if specified, only that extension is cut + * off (may contain leading dot) + */ + public static function getFilenameWithoutExtension(string $path, string $extension = null): string + { + if ('' === $path) { + return ''; + } + + if (null !== $extension) { + // remove extension and trailing dot + return rtrim(basename($path, $extension), '.'); + } + + return pathinfo($path, \PATHINFO_FILENAME); + } + + /** + * Returns the extension from a file path (without leading dot). + * + * @param bool $forceLowerCase forces the extension to be lower-case + */ + public static function getExtension(string $path, bool $forceLowerCase = false): string + { + if ('' === $path) { + return ''; + } + + $extension = pathinfo($path, \PATHINFO_EXTENSION); + + if ($forceLowerCase) { + $extension = self::toLower($extension); + } + + return $extension; + } + + /** + * Returns whether the path has an (or the specified) extension. + * + * @param string $path the path string + * @param string|string[]|null $extensions if null or not provided, checks if + * an extension exists, otherwise + * checks for the specified extension + * or array of extensions (with or + * without leading dot) + * @param bool $ignoreCase whether to ignore case-sensitivity + */ + public static function hasExtension(string $path, $extensions = null, bool $ignoreCase = false): bool + { + if ('' === $path) { + return false; + } + + $actualExtension = self::getExtension($path, $ignoreCase); + + // Only check if path has any extension + if ([] === $extensions || null === $extensions) { + return '' !== $actualExtension; + } + + if (\is_string($extensions)) { + $extensions = [$extensions]; + } + + foreach ($extensions as $key => $extension) { + if ($ignoreCase) { + $extension = self::toLower($extension); + } + + // remove leading '.' in extensions array + $extensions[$key] = ltrim($extension, '.'); + } + + return \in_array($actualExtension, $extensions, true); + } + + /** + * Changes the extension of a path string. + * + * @param string $path The path string with filename.ext to change. + * @param string $extension new extension (with or without leading dot) + * + * @return string the path string with new file extension + */ + public static function changeExtension(string $path, string $extension): string + { + if ('' === $path) { + return ''; + } + + $actualExtension = self::getExtension($path); + $extension = ltrim($extension, '.'); + + // No extension for paths + if ('/' === substr($path, -1)) { + return $path; + } + + // No actual extension in path + if (empty($actualExtension)) { + return $path.('.' === substr($path, -1) ? '' : '.').$extension; + } + + return substr($path, 0, -\strlen($actualExtension)).$extension; + } + + public static function isAbsolute(string $path): bool + { + if ('' === $path) { + return false; + } + + // Strip scheme + if (false !== $schemeSeparatorPosition = strpos($path, '://')) { + $path = substr($path, $schemeSeparatorPosition + 3); + } + + $firstCharacter = $path[0]; + + // UNIX root "/" or "\" (Windows style) + if ('/' === $firstCharacter || '\\' === $firstCharacter) { + return true; + } + + // Windows root + if (\strlen($path) > 1 && ctype_alpha($firstCharacter) && ':' === $path[1]) { + // Special case: "C:" + if (2 === \strlen($path)) { + return true; + } + + // Normal case: "C:/ or "C:\" + if ('/' === $path[2] || '\\' === $path[2]) { + return true; + } + } + + return false; + } + + public static function isRelative(string $path): bool + { + return !self::isAbsolute($path); + } + + /** + * Turns a relative path into an absolute path in canonical form. + * + * Usually, the relative path is appended to the given base path. Dot + * segments ("." and "..") are removed/collapsed and all slashes turned + * into forward slashes. + * + * ```php + * echo Path::makeAbsolute("../style.css", "/symfony/puli/css"); + * // => /symfony/puli/style.css + * ``` + * + * If an absolute path is passed, that path is returned unless its root + * directory is different than the one of the base path. In that case, an + * exception is thrown. + * + * ```php + * Path::makeAbsolute("/style.css", "/symfony/puli/css"); + * // => /style.css + * + * Path::makeAbsolute("C:/style.css", "C:/symfony/puli/css"); + * // => C:/style.css + * + * Path::makeAbsolute("C:/style.css", "/symfony/puli/css"); + * // InvalidArgumentException + * ``` + * + * If the base path is not an absolute path, an exception is thrown. + * + * The result is a canonical path. + * + * @param string $basePath an absolute base path + * + * @throws InvalidArgumentException if the base path is not absolute or if + * the given path is an absolute path with + * a different root than the base path + */ + public static function makeAbsolute(string $path, string $basePath): string + { + if ('' === $basePath) { + throw new InvalidArgumentException(sprintf('The base path must be a non-empty string. Got: "%s".', $basePath)); + } + + if (!self::isAbsolute($basePath)) { + throw new InvalidArgumentException(sprintf('The base path "%s" is not an absolute path.', $basePath)); + } + + if (self::isAbsolute($path)) { + return self::canonicalize($path); + } + + if (false !== $schemeSeparatorPosition = strpos($basePath, '://')) { + $scheme = substr($basePath, 0, $schemeSeparatorPosition + 3); + $basePath = substr($basePath, $schemeSeparatorPosition + 3); + } else { + $scheme = ''; + } + + return $scheme.self::canonicalize(rtrim($basePath, '/\\').'/'.$path); + } + + /** + * Turns a path into a relative path. + * + * The relative path is created relative to the given base path: + * + * ```php + * echo Path::makeRelative("/symfony/style.css", "/symfony/puli"); + * // => ../style.css + * ``` + * + * If a relative path is passed and the base path is absolute, the relative + * path is returned unchanged: + * + * ```php + * Path::makeRelative("style.css", "/symfony/puli/css"); + * // => style.css + * ``` + * + * If both paths are relative, the relative path is created with the + * assumption that both paths are relative to the same directory: + * + * ```php + * Path::makeRelative("style.css", "symfony/puli/css"); + * // => ../../../style.css + * ``` + * + * If both paths are absolute, their root directory must be the same, + * otherwise an exception is thrown: + * + * ```php + * Path::makeRelative("C:/symfony/style.css", "/symfony/puli"); + * // InvalidArgumentException + * ``` + * + * If the passed path is absolute, but the base path is not, an exception + * is thrown as well: + * + * ```php + * Path::makeRelative("/symfony/style.css", "symfony/puli"); + * // InvalidArgumentException + * ``` + * + * If the base path is not an absolute path, an exception is thrown. + * + * The result is a canonical path. + * + * @throws InvalidArgumentException if the base path is not absolute or if + * the given path has a different root + * than the base path + */ + public static function makeRelative(string $path, string $basePath): string + { + $path = self::canonicalize($path); + $basePath = self::canonicalize($basePath); + + [$root, $relativePath] = self::split($path); + [$baseRoot, $relativeBasePath] = self::split($basePath); + + // If the base path is given as absolute path and the path is already + // relative, consider it to be relative to the given absolute path + // already + if ('' === $root && '' !== $baseRoot) { + // If base path is already in its root + if ('' === $relativeBasePath) { + $relativePath = ltrim($relativePath, './\\'); + } + + return $relativePath; + } + + // If the passed path is absolute, but the base path is not, we + // cannot generate a relative path + if ('' !== $root && '' === $baseRoot) { + throw new InvalidArgumentException(sprintf('The absolute path "%s" cannot be made relative to the relative path "%s". You should provide an absolute base path instead.', $path, $basePath)); + } + + // Fail if the roots of the two paths are different + if ($baseRoot && $root !== $baseRoot) { + throw new InvalidArgumentException(sprintf('The path "%s" cannot be made relative to "%s", because they have different roots ("%s" and "%s").', $path, $basePath, $root, $baseRoot)); + } + + if ('' === $relativeBasePath) { + return $relativePath; + } + + // Build a "../../" prefix with as many "../" parts as necessary + $parts = explode('/', $relativePath); + $baseParts = explode('/', $relativeBasePath); + $dotDotPrefix = ''; + + // Once we found a non-matching part in the prefix, we need to add + // "../" parts for all remaining parts + $match = true; + + foreach ($baseParts as $index => $basePart) { + if ($match && isset($parts[$index]) && $basePart === $parts[$index]) { + unset($parts[$index]); + + continue; + } + + $match = false; + $dotDotPrefix .= '../'; + } + + return rtrim($dotDotPrefix.implode('/', $parts), '/'); + } + + /** + * Returns whether the given path is on the local filesystem. + */ + public static function isLocal(string $path): bool + { + return '' !== $path && !str_contains($path, '://'); + } + + /** + * Returns the longest common base path in canonical form of a set of paths or + * `null` if the paths are on different Windows partitions. + * + * Dot segments ("." and "..") are removed/collapsed and all slashes turned + * into forward slashes. + * + * ```php + * $basePath = Path::getLongestCommonBasePath( + * '/symfony/css/style.css', + * '/symfony/css/..' + * ); + * // => /symfony + * ``` + * + * The root is returned if no common base path can be found: + * + * ```php + * $basePath = Path::getLongestCommonBasePath( + * '/symfony/css/style.css', + * '/puli/css/..' + * ); + * // => / + * ``` + * + * If the paths are located on different Windows partitions, `null` is + * returned. + * + * ```php + * $basePath = Path::getLongestCommonBasePath( + * 'C:/symfony/css/style.css', + * 'D:/symfony/css/..' + * ); + * // => null + * ``` + */ + public static function getLongestCommonBasePath(string ...$paths): ?string + { + [$bpRoot, $basePath] = self::split(self::canonicalize(reset($paths))); + + for (next($paths); null !== key($paths) && '' !== $basePath; next($paths)) { + [$root, $path] = self::split(self::canonicalize(current($paths))); + + // If we deal with different roots (e.g. C:/ vs. D:/), it's time + // to quit + if ($root !== $bpRoot) { + return null; + } + + // Make the base path shorter until it fits into path + while (true) { + if ('.' === $basePath) { + // No more base paths + $basePath = ''; + + // next path + continue 2; + } + + // Prevent false positives for common prefixes + // see isBasePath() + if (str_starts_with($path.'/', $basePath.'/')) { + // next path + continue 2; + } + + $basePath = \dirname($basePath); + } + } + + return $bpRoot.$basePath; + } + + /** + * Joins two or more path strings into a canonical path. + */ + public static function join(string ...$paths): string + { + $finalPath = null; + $wasScheme = false; + + foreach ($paths as $path) { + if ('' === $path) { + continue; + } + + if (null === $finalPath) { + // For first part we keep slashes, like '/top', 'C:\' or 'phar://' + $finalPath = $path; + $wasScheme = str_contains($path, '://'); + continue; + } + + // Only add slash if previous part didn't end with '/' or '\' + if (!\in_array(substr($finalPath, -1), ['/', '\\'])) { + $finalPath .= '/'; + } + + // If first part included a scheme like 'phar://' we allow \current part to start with '/', otherwise trim + $finalPath .= $wasScheme ? $path : ltrim($path, '/'); + $wasScheme = false; + } + + if (null === $finalPath) { + return ''; + } + + return self::canonicalize($finalPath); + } + + /** + * Returns whether a path is a base path of another path. + * + * Dot segments ("." and "..") are removed/collapsed and all slashes turned + * into forward slashes. + * + * ```php + * Path::isBasePath('/symfony', '/symfony/css'); + * // => true + * + * Path::isBasePath('/symfony', '/symfony'); + * // => true + * + * Path::isBasePath('/symfony', '/symfony/..'); + * // => false + * + * Path::isBasePath('/symfony', '/puli'); + * // => false + * ``` + */ + public static function isBasePath(string $basePath, string $ofPath): bool + { + $basePath = self::canonicalize($basePath); + $ofPath = self::canonicalize($ofPath); + + // Append slashes to prevent false positives when two paths have + // a common prefix, for example /base/foo and /base/foobar. + // Don't append a slash for the root "/", because then that root + // won't be discovered as common prefix ("//" is not a prefix of + // "/foobar/"). + return str_starts_with($ofPath.'/', rtrim($basePath, '/').'/'); + } + + /** + * @return string[] + */ + private static function findCanonicalParts(string $root, string $pathWithoutRoot): array + { + $parts = explode('/', $pathWithoutRoot); + + $canonicalParts = []; + + // Collapse "." and "..", if possible + foreach ($parts as $part) { + if ('.' === $part || '' === $part) { + continue; + } + + // Collapse ".." with the previous part, if one exists + // Don't collapse ".." if the previous part is also ".." + if ('..' === $part && \count($canonicalParts) > 0 && '..' !== $canonicalParts[\count($canonicalParts) - 1]) { + array_pop($canonicalParts); + + continue; + } + + // Only add ".." prefixes for relative paths + if ('..' !== $part || '' === $root) { + $canonicalParts[] = $part; + } + } + + return $canonicalParts; + } + + /** + * Splits a canonical path into its root directory and the remainder. + * + * If the path has no root directory, an empty root directory will be + * returned. + * + * If the root directory is a Windows style partition, the resulting root + * will always contain a trailing slash. + * + * list ($root, $path) = Path::split("C:/symfony") + * // => ["C:/", "symfony"] + * + * list ($root, $path) = Path::split("C:") + * // => ["C:/", ""] + * + * @return array{string, string} an array with the root directory and the remaining relative path + */ + private static function split(string $path): array + { + if ('' === $path) { + return ['', '']; + } + + // Remember scheme as part of the root, if any + if (false !== $schemeSeparatorPosition = strpos($path, '://')) { + $root = substr($path, 0, $schemeSeparatorPosition + 3); + $path = substr($path, $schemeSeparatorPosition + 3); + } else { + $root = ''; + } + + $length = \strlen($path); + + // Remove and remember root directory + if (str_starts_with($path, '/')) { + $root .= '/'; + $path = $length > 1 ? substr($path, 1) : ''; + } elseif ($length > 1 && ctype_alpha($path[0]) && ':' === $path[1]) { + if (2 === $length) { + // Windows special case: "C:" + $root .= $path.'/'; + $path = ''; + } elseif ('/' === $path[2]) { + // Windows normal case: "C:/".. + $root .= substr($path, 0, 3); + $path = $length > 3 ? substr($path, 3) : ''; + } + } + + return [$root, $path]; + } + + private static function toLower(string $string): string + { + if (false !== $encoding = mb_detect_encoding($string, null, true)) { + return mb_strtolower($string, $encoding); + } + + return strtolower($string); + } + + private function __construct() + { + } +} diff --git a/vendor/symfony/filesystem/README.md b/vendor/symfony/filesystem/README.md new file mode 100644 index 00000000..f2f6d45f --- /dev/null +++ b/vendor/symfony/filesystem/README.md @@ -0,0 +1,13 @@ +Filesystem Component +==================== + +The Filesystem component provides basic utilities for the filesystem. + +Resources +--------- + + * [Documentation](https://symfony.com/doc/current/components/filesystem.html) + * [Contributing](https://symfony.com/doc/current/contributing/index.html) + * [Report issues](https://github.com/symfony/symfony/issues) and + [send Pull Requests](https://github.com/symfony/symfony/pulls) + in the [main Symfony repository](https://github.com/symfony/symfony) diff --git a/vendor/symfony/filesystem/composer.json b/vendor/symfony/filesystem/composer.json new file mode 100644 index 00000000..10a7a531 --- /dev/null +++ b/vendor/symfony/filesystem/composer.json @@ -0,0 +1,30 @@ +{ + "name": "symfony/filesystem", + "type": "library", + "description": "Provides basic utilities for the filesystem", + "keywords": [], + "homepage": "https://symfony.com", + "license": "MIT", + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "autoload": { + "psr-4": { "Symfony\\Component\\Filesystem\\": "" }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "minimum-stability": "dev" +} diff --git a/vendor/vimeo/psalm/LICENSE b/vendor/vimeo/psalm/LICENSE new file mode 100644 index 00000000..bfb2d1c5 --- /dev/null +++ b/vendor/vimeo/psalm/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2016 Vimeo + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/vimeo/psalm/composer.json b/vendor/vimeo/psalm/composer.json new file mode 100644 index 00000000..d62c80c2 --- /dev/null +++ b/vendor/vimeo/psalm/composer.json @@ -0,0 +1,139 @@ +{ + "name": "vimeo/psalm", + "type": "library", + "description": "A static analysis tool for finding errors in PHP applications", + "keywords": [ + "php", + "code", + "inspection", + "static analysis" + ], + "license": "MIT", + "authors": [ + { + "name": "Matthew Brown" + } + ], + "require": { + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "ext-SimpleXML": "*", + "ext-ctype": "*", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-tokenizer": "*", + "amphp/amp": "^2.4.2", + "amphp/byte-stream": "^1.5", + "composer/package-versions-deprecated": "^1.10.0", + "composer/semver": "^1.4 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", + "dnoegel/php-xdg-base-dir": "^0.1.1", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "nikic/php-parser": "^4.13", + "sebastian/diff": "^4.0 || ^5.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0" + }, + "provide": { + "psalm/psalm": "self.version" + }, + "require-dev": { + "ext-curl": "*", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0" + }, + "suggest": { + "ext-igbinary": "^2.0.5 is required, used to serialize caching data", + "ext-curl": "In order to send data to shepherd" + }, + "config": { + "allow-plugins": { + "bamarni/composer-bin-plugin": true, + "composer/package-versions-deprecated": true, + "dealerdirect/phpcodesniffer-composer-installer": true + }, + "optimize-autoloader": true, + "sort-packages": true, + "platform-check": true + }, + "extra": { + "branch-alias": { + "dev-master": "5.x-dev", + "dev-4.x": "4.x-dev", + "dev-3.x": "3.x-dev", + "dev-2.x": "2.x-dev", + "dev-1.x": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psalm\\": "src/Psalm/" + } + }, + "autoload-dev": { + "psr-4": { + "Psalm\\Tests\\": "tests/" + } + }, + "repositories": [ + { + "type": "path", + "url": "examples/plugins/composer-based/echo-checker" + } + ], + "minimum-stability": "dev", + "prefer-stable": true, + "bin": [ + "psalm", + "psalm-language-server", + "psalm-plugin", + "psalm-refactor", + "psalter" + ], + "scripts": { + "cs": "phpcs -ps", + "cs-fix": "phpcbf -ps", + "lint": "parallel-lint ./src ./tests", + "phpunit": [ + "Composer\\Config::disableProcessTimeout", + "paratest --runner=WrapperRunner" + ], + "phpunit-std": [ + "Composer\\Config::disableProcessTimeout", + "phpunit" + ], + "verify-callmap": "phpunit tests/Internal/Codebase/InternalCallMapHandlerTest.php", + "psalm": "@php ./psalm", + "psalm-set-baseline": "@php ./psalm --set-baseline=psalm-baseline.xml", + "tests": [ + "@lint", + "@cs", + "@psalm", + "@phpunit" + ] + }, + "scripts-descriptions": { + "cs": "Checks that the code conforms to the coding standard.", + "cs-fix": "Automatically correct coding standard violations.", + "lint": "Runs unit tests.", + "phpunit": "Runs unit tests in parallel.", + "phpunit-std": "Runs unit tests.", + "psalm": "Runs static analysis.", + "tests": "Runs all available tests." + } +} diff --git a/vendor/vimeo/psalm/config.xsd b/vendor/vimeo/psalm/config.xsd new file mode 100644 index 00000000..9d08a678 --- /dev/null +++ b/vendor/vimeo/psalm/config.xsd @@ -0,0 +1,742 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/vendor/vimeo/psalm/dictionaries/CallMap.php b/vendor/vimeo/psalm/dictionaries/CallMap.php new file mode 100644 index 00000000..4cc19235 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap.php @@ -0,0 +1,15907 @@ +' => [', ''=>''] + * alternative signature for the same function + * '' => [', ''=>''] + * + * A '&' in front of the means the arg is always passed by reference. + * (i.e. ReflectionParameter->isPassedByReference()) + * This was previously only used in cases where the function actually created the + * variable in the local scope. + * Some reference arguments will have prefixes in to indicate the way the argument is used. + * Currently, the only prefixes with meaning are 'rw_' (read-write) and 'w_' (write). + * Those prefixes don't mean anything for non-references. + * Code using these signatures should remove those prefixes from messages rendered to the user. + * 1. '&rw_' indicates that a parameter with a value is expected to be passed in, and may be modified. + * Phan will warn if the variable has an incompatible type, or is undefined. + * 2. '&w_' indicates that a parameter is expected to be passed in, and the value will be ignored, and may be overwritten. + * 3. The absence of a prefix is treated by Phan the same way as having the prefix 'w_' (Some may be changed to 'rw_name'). These will have prefixes added later. + * + * So, for functions like sort() where technically the arg is by-ref, + * indicate the reference param's signature by-ref and read-write, + * as `'&rw_array'=>'array'` + * so that Phan won't create it in the local scope + * + * However, for a function like preg_match() where the 3rd arg is an array of sub-pattern matches (and optional), + * this arg needs to be marked as by-ref and write-only, as `'&w_matches='=>'array'`. + * + * A '=' following the indicates this arg is optional. + * + * The can begin with '...' to indicate the arg is variadic. + * '...args=' indicates it is both variadic and optional. + * + * Some reference arguments will have prefixes in to indicate the way the argument is used. + * Currently, the only prefixes with meaning are 'rw_' and 'w_'. + * Code using these signatures should remove those prefixes from messages rendered to the user. + * 1. '&rw_name' indicates that a parameter with a value is expected to be passed in, and may be modified. + * 2. '&w_name' indicates that a parameter is expected to be passed in, and the value will be ignored, and may be overwritten. + * + * This file contains the signatures for the most recent minor release of PHP supported by phan (php 7.2) + * + * Changes: + * + * In Phan 0.12.3, + * + * - This started using array shapes for union types (array{...}). + * + * \Phan\Language\UnionType->withFlattenedArrayShapeOrLiteralTypeInstances() may be of help to programmatically convert these to array|array + * + * - This started using array shapes with optional fields for union types (array{key?:int}). + * A `?` after the array shape field's key indicates that the field is optional. + * + * - This started adding param signatures and return signatures to `callable` types. + * E.g. 'usort' => ['bool', '&rw_array_arg'=>'array', 'cmp_function'=>'callable(mixed,mixed):int']. + * See NEWS.md for 0.12.3 for possible syntax. A suffix of `=` within `callable(...)` means that a parameter is optional. + * + * (Phan assumes that callbacks with optional arguments can be cast to callbacks with/without those args (Similar to inheritance checks) + * (e.g. callable(T1,T2=) can be cast to callable(T1) or callable(T1,T2), in the same way that a subclass would check). + * For some signatures, e.g. set_error_handler, this results in repetition, because callable(T1=) can't cast to callable(T1). + * + * Sources of stub info: + * + * 1. Reflection + * 2. docs.php.net's SVN repo or website, and examples (See internal/internalsignatures.php) + * + * See https://secure.php.net/manual/en/copyright.php + * + * The PHP manual text and comments are covered by the [Creative Commons Attribution 3.0 License](http://creativecommons.org/licenses/by/3.0/legalcode), + * copyright (c) the PHP Documentation Group + * 3. Various websites documenting individual extensions + * 4. PHPStorm stubs (For anything missing from the above sources) + * See internal/internalsignatures.php + * + * Available from https://github.com/JetBrains/phpstorm-stubs under the [Apache 2 license](https://www.apache.org/licenses/LICENSE-2.0) + * + * @phan-file-suppress PhanPluginMixedKeyNoKey (read by Phan when analyzing this file) + * + * Note: Some of Phan's inferences about return types are written as plugins for functions/methods where the return type depends on the parameter types. + * E.g. src/Phan/Plugin/Internal/DependentReturnTypeOverridePlugin.php is one plugin + */ +return [ +'_' => ['string', 'message'=>'string'], +'__halt_compiler' => ['void'], +'abs' => ['0|positive-int', 'num'=>'int'], +'abs\'1' => ['float', 'num'=>'float'], +'abs\'2' => ['numeric', 'num'=>'numeric'], +'accelerator_get_configuration' => ['array'], +'accelerator_get_scripts' => ['array'], +'accelerator_get_status' => ['array', 'fetch_scripts'=>'bool'], +'accelerator_reset' => [''], +'accelerator_set_status' => ['void', 'status'=>'bool'], +'acos' => ['float', 'num'=>'float'], +'acosh' => ['float', 'num'=>'float'], +'addcslashes' => ['string', 'string'=>'string', 'characters'=>'string'], +'addslashes' => ['string', 'string'=>'string'], +'AMQPBasicProperties::__construct' => ['void', 'content_type='=>'string', 'content_encoding='=>'string', 'headers='=>'array', 'delivery_mode='=>'int', 'priority='=>'int', 'correlation_id='=>'string', 'reply_to='=>'string', 'expiration='=>'string', 'message_id='=>'string', 'timestamp='=>'int', 'type='=>'string', 'user_id='=>'string', 'app_id='=>'string', 'cluster_id='=>'string'], +'AMQPBasicProperties::getAppId' => ['string'], +'AMQPBasicProperties::getClusterId' => ['string'], +'AMQPBasicProperties::getContentEncoding' => ['string'], +'AMQPBasicProperties::getContentType' => ['string'], +'AMQPBasicProperties::getCorrelationId' => ['string'], +'AMQPBasicProperties::getDeliveryMode' => ['int'], +'AMQPBasicProperties::getExpiration' => ['string'], +'AMQPBasicProperties::getHeaders' => ['array'], +'AMQPBasicProperties::getMessageId' => ['string'], +'AMQPBasicProperties::getPriority' => ['int'], +'AMQPBasicProperties::getReplyTo' => ['string'], +'AMQPBasicProperties::getTimestamp' => ['string'], +'AMQPBasicProperties::getType' => ['string'], +'AMQPBasicProperties::getUserId' => ['string'], +'AMQPChannel::__construct' => ['void', 'amqp_connection'=>'AMQPConnection'], +'AMQPChannel::basicRecover' => ['', 'requeue='=>'bool'], +'AMQPChannel::close' => [''], +'AMQPChannel::commitTransaction' => ['bool'], +'AMQPChannel::confirmSelect' => [''], +'AMQPChannel::getChannelId' => ['int'], +'AMQPChannel::getConnection' => ['AMQPConnection'], +'AMQPChannel::getConsumers' => ['AMQPQueue[]'], +'AMQPChannel::getPrefetchCount' => ['int'], +'AMQPChannel::getPrefetchSize' => ['int'], +'AMQPChannel::isConnected' => ['bool'], +'AMQPChannel::qos' => ['bool', 'size'=>'int', 'count'=>'int'], +'AMQPChannel::rollbackTransaction' => ['bool'], +'AMQPChannel::setConfirmCallback' => ['', 'ack_callback='=>'?callable', 'nack_callback='=>'?callable'], +'AMQPChannel::setPrefetchCount' => ['bool', 'count'=>'int'], +'AMQPChannel::setPrefetchSize' => ['bool', 'size'=>'int'], +'AMQPChannel::setReturnCallback' => ['', 'return_callback='=>'?callable'], +'AMQPChannel::startTransaction' => ['bool'], +'AMQPChannel::waitForBasicReturn' => ['', 'timeout='=>'float'], +'AMQPChannel::waitForConfirm' => ['', 'timeout='=>'float'], +'AMQPConnection::__construct' => ['void', 'credentials='=>'array'], +'AMQPConnection::connect' => ['bool'], +'AMQPConnection::disconnect' => ['bool'], +'AMQPConnection::getCACert' => ['string'], +'AMQPConnection::getCert' => ['string'], +'AMQPConnection::getHeartbeatInterval' => ['int'], +'AMQPConnection::getHost' => ['string'], +'AMQPConnection::getKey' => ['string'], +'AMQPConnection::getLogin' => ['string'], +'AMQPConnection::getMaxChannels' => ['?int'], +'AMQPConnection::getMaxFrameSize' => ['int'], +'AMQPConnection::getPassword' => ['string'], +'AMQPConnection::getPort' => ['int'], +'AMQPConnection::getReadTimeout' => ['float'], +'AMQPConnection::getTimeout' => ['float'], +'AMQPConnection::getUsedChannels' => ['int'], +'AMQPConnection::getVerify' => ['bool'], +'AMQPConnection::getVhost' => ['string'], +'AMQPConnection::getWriteTimeout' => ['float'], +'AMQPConnection::isConnected' => ['bool'], +'AMQPConnection::isPersistent' => ['?bool'], +'AMQPConnection::pconnect' => ['bool'], +'AMQPConnection::pdisconnect' => ['bool'], +'AMQPConnection::preconnect' => ['bool'], +'AMQPConnection::reconnect' => ['bool'], +'AMQPConnection::setCACert' => ['', 'cacert'=>'string'], +'AMQPConnection::setCert' => ['', 'cert'=>'string'], +'AMQPConnection::setHost' => ['bool', 'host'=>'string'], +'AMQPConnection::setKey' => ['', 'key'=>'string'], +'AMQPConnection::setLogin' => ['bool', 'login'=>'string'], +'AMQPConnection::setPassword' => ['bool', 'password'=>'string'], +'AMQPConnection::setPort' => ['bool', 'port'=>'int'], +'AMQPConnection::setReadTimeout' => ['bool', 'timeout'=>'int'], +'AMQPConnection::setTimeout' => ['bool', 'timeout'=>'int'], +'AMQPConnection::setVerify' => ['', 'verify'=>'bool'], +'AMQPConnection::setVhost' => ['bool', 'vhost'=>'string'], +'AMQPConnection::setWriteTimeout' => ['bool', 'timeout'=>'int'], +'AMQPDecimal::__construct' => ['void', 'exponent'=>'', 'significand'=>''], +'AMQPDecimal::getExponent' => ['int'], +'AMQPDecimal::getSignificand' => ['int'], +'AMQPEnvelope::__construct' => ['void'], +'AMQPEnvelope::getAppId' => ['string'], +'AMQPEnvelope::getBody' => ['string'], +'AMQPEnvelope::getClusterId' => ['string'], +'AMQPEnvelope::getConsumerTag' => ['string'], +'AMQPEnvelope::getContentEncoding' => ['string'], +'AMQPEnvelope::getContentType' => ['string'], +'AMQPEnvelope::getCorrelationId' => ['string'], +'AMQPEnvelope::getDeliveryMode' => ['int'], +'AMQPEnvelope::getDeliveryTag' => ['string'], +'AMQPEnvelope::getExchangeName' => ['string'], +'AMQPEnvelope::getExpiration' => ['string'], +'AMQPEnvelope::getHeader' => ['string|false', 'header_key'=>'string'], +'AMQPEnvelope::getHeaders' => ['array'], +'AMQPEnvelope::getMessageId' => ['string'], +'AMQPEnvelope::getPriority' => ['int'], +'AMQPEnvelope::getReplyTo' => ['string'], +'AMQPEnvelope::getRoutingKey' => ['string'], +'AMQPEnvelope::getTimeStamp' => ['string'], +'AMQPEnvelope::getType' => ['string'], +'AMQPEnvelope::getUserId' => ['string'], +'AMQPEnvelope::hasHeader' => ['bool', 'header_key'=>'string'], +'AMQPEnvelope::isRedelivery' => ['bool'], +'AMQPExchange::__construct' => ['void', 'amqp_channel'=>'AMQPChannel'], +'AMQPExchange::bind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], +'AMQPExchange::declareExchange' => ['bool'], +'AMQPExchange::delete' => ['bool', 'exchangeName='=>'string', 'flags='=>'int'], +'AMQPExchange::getArgument' => ['int|string|false', 'key'=>'string'], +'AMQPExchange::getArguments' => ['array'], +'AMQPExchange::getChannel' => ['AMQPChannel'], +'AMQPExchange::getConnection' => ['AMQPConnection'], +'AMQPExchange::getFlags' => ['int'], +'AMQPExchange::getName' => ['string'], +'AMQPExchange::getType' => ['string'], +'AMQPExchange::hasArgument' => ['bool', 'key'=>'string'], +'AMQPExchange::publish' => ['bool', 'message'=>'string', 'routing_key='=>'string', 'flags='=>'int', 'attributes='=>'array'], +'AMQPExchange::setArgument' => ['bool', 'key'=>'string', 'value'=>'int|string'], +'AMQPExchange::setArguments' => ['bool', 'arguments'=>'array'], +'AMQPExchange::setFlags' => ['bool', 'flags'=>'int'], +'AMQPExchange::setName' => ['bool', 'exchange_name'=>'string'], +'AMQPExchange::setType' => ['bool', 'exchange_type'=>'string'], +'AMQPExchange::unbind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], +'AMQPQueue::__construct' => ['void', 'amqp_channel'=>'AMQPChannel'], +'AMQPQueue::ack' => ['bool', 'delivery_tag'=>'string', 'flags='=>'int'], +'AMQPQueue::bind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], +'AMQPQueue::cancel' => ['bool', 'consumer_tag='=>'string'], +'AMQPQueue::consume' => ['void', 'callback='=>'?callable', 'flags='=>'int', 'consumerTag='=>'string'], +'AMQPQueue::declareQueue' => ['int'], +'AMQPQueue::delete' => ['int', 'flags='=>'int'], +'AMQPQueue::get' => ['AMQPEnvelope|false', 'flags='=>'int'], +'AMQPQueue::getArgument' => ['int|string|false', 'key'=>'string'], +'AMQPQueue::getArguments' => ['array'], +'AMQPQueue::getChannel' => ['AMQPChannel'], +'AMQPQueue::getConnection' => ['AMQPConnection'], +'AMQPQueue::getConsumerTag' => ['?string'], +'AMQPQueue::getFlags' => ['int'], +'AMQPQueue::getName' => ['string'], +'AMQPQueue::hasArgument' => ['bool', 'key'=>'string'], +'AMQPQueue::nack' => ['bool', 'delivery_tag'=>'string', 'flags='=>'int'], +'AMQPQueue::purge' => ['bool'], +'AMQPQueue::reject' => ['bool', 'delivery_tag'=>'string', 'flags='=>'int'], +'AMQPQueue::setArgument' => ['bool', 'key'=>'string', 'value'=>'mixed'], +'AMQPQueue::setArguments' => ['bool', 'arguments'=>'array'], +'AMQPQueue::setFlags' => ['bool', 'flags'=>'int'], +'AMQPQueue::setName' => ['bool', 'queue_name'=>'string'], +'AMQPQueue::unbind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], +'AMQPTimestamp::__construct' => ['void', 'timestamp'=>'string'], +'AMQPTimestamp::__toString' => ['string'], +'AMQPTimestamp::getTimestamp' => ['string'], +'apache_child_terminate' => ['bool'], +'apache_get_modules' => ['array'], +'apache_get_version' => ['string|false'], +'apache_getenv' => ['string|false', 'variable'=>'string', 'walk_to_top='=>'bool'], +'apache_lookup_uri' => ['object', 'filename'=>'string'], +'apache_note' => ['string|false', 'note_name'=>'string', 'note_value='=>'string'], +'apache_request_headers' => ['array|false'], +'apache_reset_timeout' => ['bool'], +'apache_response_headers' => ['array|false'], +'apache_setenv' => ['bool', 'variable'=>'string', 'value'=>'string', 'walk_to_top='=>'bool'], +'apc_add' => ['bool', 'key'=>'string', 'var'=>'mixed', 'ttl='=>'int'], +'apc_add\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'apc_bin_dump' => ['string|false|null', 'files='=>'array', 'user_vars='=>'array'], +'apc_bin_dumpfile' => ['int|false', 'files'=>'array', 'user_vars'=>'array', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], +'apc_bin_load' => ['bool', 'data'=>'string', 'flags='=>'int'], +'apc_bin_loadfile' => ['bool', 'filename'=>'string', 'context='=>'resource', 'flags='=>'int'], +'apc_cache_info' => ['array|false', 'cache_type='=>'string', 'limited='=>'bool'], +'apc_cas' => ['bool', 'key'=>'string', 'old'=>'int', 'new'=>'int'], +'apc_clear_cache' => ['bool', 'cache_type='=>'string'], +'apc_compile_file' => ['bool', 'filename'=>'string', 'atomic='=>'bool'], +'apc_dec' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool'], +'apc_define_constants' => ['bool', 'key'=>'string', 'constants'=>'array', 'case_sensitive='=>'bool'], +'apc_delete' => ['bool', 'key'=>'string|string[]|APCIterator'], +'apc_delete_file' => ['bool|string[]', 'keys'=>'mixed'], +'apc_exists' => ['bool', 'keys'=>'string'], +'apc_exists\'1' => ['array', 'keys'=>'string[]'], +'apc_fetch' => ['mixed|false', 'key'=>'string', '&w_success='=>'bool'], +'apc_fetch\'1' => ['array|false', 'key'=>'string[]', '&w_success='=>'bool'], +'apc_inc' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool'], +'apc_load_constants' => ['bool', 'key'=>'string', 'case_sensitive='=>'bool'], +'apc_sma_info' => ['array|false', 'limited='=>'bool'], +'apc_store' => ['bool', 'key'=>'string', 'var'=>'', 'ttl='=>'int'], +'apc_store\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'APCIterator::__construct' => ['void', 'cache'=>'string', 'search='=>'null|string|string[]', 'format='=>'int', 'chunk_size='=>'int', 'list='=>'int'], +'APCIterator::current' => ['mixed|false'], +'APCIterator::getTotalCount' => ['int|false'], +'APCIterator::getTotalHits' => ['int|false'], +'APCIterator::getTotalSize' => ['int|false'], +'APCIterator::key' => ['string'], +'APCIterator::next' => ['void'], +'APCIterator::rewind' => ['void'], +'APCIterator::valid' => ['bool'], +'apcu_add' => ['bool', 'key'=>'string', 'var'=>'', 'ttl='=>'int'], +'apcu_add\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'apcu_cache_info' => ['array|false', 'limited='=>'bool'], +'apcu_cas' => ['bool', 'key'=>'string', 'old'=>'int', 'new'=>'int'], +'apcu_clear_cache' => ['bool'], +'apcu_dec' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool', 'ttl='=>'int'], +'apcu_delete' => ['bool', 'key'=>'string|APCuIterator'], +'apcu_delete\'1' => ['list', 'key'=>'string[]'], +'apcu_enabled' => ['bool'], +'apcu_entry' => ['mixed', 'key'=>'string', 'generator'=>'callable(string):mixed', 'ttl='=>'int'], +'apcu_exists' => ['bool', 'keys'=>'string'], +'apcu_exists\'1' => ['array', 'keys'=>'string[]'], +'apcu_fetch' => ['mixed|false', 'key'=>'string', '&w_success='=>'bool'], +'apcu_fetch\'1' => ['array|false', 'key'=>'string[]', '&w_success='=>'bool'], +'apcu_inc' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool', 'ttl='=>'int'], +'apcu_key_info' => ['?array', 'key'=>'string'], +'apcu_sma_info' => ['array|false', 'limited='=>'bool'], +'apcu_store' => ['bool', 'key'=>'string', 'var='=>'', 'ttl='=>'int'], +'apcu_store\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'APCuIterator::__construct' => ['void', 'search='=>'string|string[]|null', 'format='=>'int', 'chunk_size='=>'int', 'list='=>'int'], +'APCuIterator::current' => ['mixed'], +'APCuIterator::getTotalCount' => ['int'], +'APCuIterator::getTotalHits' => ['int'], +'APCuIterator::getTotalSize' => ['int'], +'APCuIterator::key' => ['string'], +'APCuIterator::next' => ['void'], +'APCuIterator::rewind' => ['void'], +'APCuIterator::valid' => ['bool'], +'apd_breakpoint' => ['bool', 'debug_level'=>'int'], +'apd_callstack' => ['array'], +'apd_clunk' => ['void', 'warning'=>'string', 'delimiter='=>'string'], +'apd_continue' => ['bool', 'debug_level'=>'int'], +'apd_croak' => ['void', 'warning'=>'string', 'delimiter='=>'string'], +'apd_dump_function_table' => ['void'], +'apd_dump_persistent_resources' => ['array'], +'apd_dump_regular_resources' => ['array'], +'apd_echo' => ['bool', 'output'=>'string'], +'apd_get_active_symbols' => ['array'], +'apd_set_pprof_trace' => ['string', 'dump_directory='=>'string', 'fragment='=>'string'], +'apd_set_session' => ['void', 'debug_level'=>'int'], +'apd_set_session_trace' => ['void', 'debug_level'=>'int', 'dump_directory='=>'string'], +'apd_set_session_trace_socket' => ['bool', 'tcp_server'=>'string', 'socket_type'=>'int', 'port'=>'int', 'debug_level'=>'int'], +'AppendIterator::__construct' => ['void'], +'AppendIterator::append' => ['void', 'iterator'=>'Iterator'], +'AppendIterator::current' => ['mixed'], +'AppendIterator::getArrayIterator' => ['ArrayIterator'], +'AppendIterator::getInnerIterator' => ['Iterator'], +'AppendIterator::getIteratorIndex' => ['int'], +'AppendIterator::key' => ['int|string|float|bool'], +'AppendIterator::next' => ['void'], +'AppendIterator::rewind' => ['void'], +'AppendIterator::valid' => ['bool'], +'ArgumentCountError::__clone' => ['void'], +'ArgumentCountError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'ArgumentCountError::__toString' => ['string'], +'ArgumentCountError::__wakeup' => ['void'], +'ArgumentCountError::getCode' => ['int'], +'ArgumentCountError::getFile' => ['string'], +'ArgumentCountError::getLine' => ['int'], +'ArgumentCountError::getMessage' => ['string'], +'ArgumentCountError::getPrevious' => ['?Throwable'], +'ArgumentCountError::getTrace' => ['list\',args?:array}>'], +'ArgumentCountError::getTraceAsString' => ['string'], +'ArithmeticError::__clone' => ['void'], +'ArithmeticError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'ArithmeticError::__toString' => ['string'], +'ArithmeticError::__wakeup' => ['void'], +'ArithmeticError::getCode' => ['int'], +'ArithmeticError::getFile' => ['string'], +'ArithmeticError::getLine' => ['int'], +'ArithmeticError::getMessage' => ['string'], +'ArithmeticError::getPrevious' => ['?Throwable'], +'ArithmeticError::getTrace' => ['list\',args?:array}>'], +'ArithmeticError::getTraceAsString' => ['string'], +'array_change_key_case' => ['associative-array', 'array'=>'array', 'case='=>'int'], +'array_chunk' => ['list', 'array'=>'array', 'length'=>'int', 'preserve_keys='=>'bool'], +'array_column' => ['array', 'array'=>'array', 'column_key'=>'int|string|null', 'index_key='=>'int|string|null'], +'array_combine' => ['associative-array', 'keys'=>'string[]|int[]', 'values'=>'array'], +'array_count_values' => ['associative-array', 'array'=>'array'], +'array_diff' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], +'array_diff_assoc' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], +'array_diff_key' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], +'array_diff_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_comp_func'=>'callable(mixed,mixed):int'], +'array_diff_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_diff_ukey' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_comp_func'=>'callable(mixed,mixed):int'], +'array_diff_ukey\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_fill' => ['array', 'start_index'=>'int', 'count'=>'int', 'value'=>'mixed'], +'array_fill_keys' => ['array', 'keys'=>'array', 'value'=>'mixed'], +'array_filter' => ['associative-array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar|null', 'mode='=>'int'], +'array_flip' => ['associative-array|associative-array', 'array'=>'array'], +'array_intersect' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], +'array_intersect_assoc' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], +'array_intersect_key' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], +'array_intersect_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_compare_func'=>'callable(mixed,mixed):int'], +'array_intersect_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest'=>'array|callable(mixed,mixed):int'], +'array_intersect_ukey' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_compare_func'=>'callable(mixed,mixed):int'], +'array_intersect_ukey\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest'=>'array|callable(mixed,mixed):int'], +'array_is_list' => ['bool', 'array'=>'array'], +'array_key_exists' => ['bool', 'key'=>'string|int', 'array'=>'array'], +'array_key_first' => ['int|string|null', 'array'=>'array'], +'array_key_last' => ['int|string|null', 'array'=>'array'], +'array_keys' => ['list', 'array'=>'array', 'filter_value='=>'mixed', 'strict='=>'bool'], +'array_map' => ['array', 'callback'=>'?callable', 'array'=>'array', '...arrays='=>'array'], +'array_merge' => ['array', '...arrays='=>'array'], +'array_merge_recursive' => ['array', '...arrays='=>'array'], +'array_multisort' => ['bool', '&rw_array'=>'array', 'rest='=>'array|int', 'array1_sort_flags='=>'array|int', '...args='=>'array|int'], +'array_pad' => ['array', 'array'=>'array', 'length'=>'int', 'value'=>'mixed'], +'array_pop' => ['mixed', '&rw_array'=>'array'], +'array_product' => ['int|float', 'array'=>'array'], +'array_push' => ['int', '&rw_array'=>'array', '...values='=>'mixed'], +'array_rand' => ['int|string|array|array', 'array'=>'non-empty-array', 'num'=>'int'], +'array_rand\'1' => ['int|string', 'array'=>'array'], +'array_reduce' => ['mixed', 'array'=>'array', 'callback'=>'callable(mixed,mixed):mixed', 'initial='=>'mixed'], +'array_replace' => ['array', 'array'=>'array', '...replacements='=>'array'], +'array_replace_recursive' => ['array', 'array'=>'array', '...replacements='=>'array'], +'array_reverse' => ['array', 'array'=>'array', 'preserve_keys='=>'bool'], +'array_search' => ['int|string|false', 'needle'=>'mixed', 'haystack'=>'array', 'strict='=>'bool'], +'array_shift' => ['mixed|null', '&rw_array'=>'array'], +'array_slice' => ['array', 'array'=>'array', 'offset'=>'int', 'length='=>'?int', 'preserve_keys='=>'bool'], +'array_splice' => ['array', '&rw_array'=>'array', 'offset'=>'int', 'length='=>'?int', 'replacement='=>'array|string'], +'array_sum' => ['int|float', 'array'=>'array'], +'array_udiff' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_comp_func'=>'callable(mixed,mixed):int'], +'array_udiff\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_udiff_assoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_comp_func'=>'callable(mixed,mixed):int'], +'array_udiff_assoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_udiff_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_comp_func'=>'callable(mixed,mixed):int', 'key_comp_func'=>'callable(mixed,mixed):int'], +'array_udiff_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', 'arg5'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_uintersect' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_compare_func'=>'callable(mixed,mixed):int'], +'array_uintersect\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_uintersect_assoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_compare_func'=>'callable(mixed,mixed):int'], +'array_uintersect_assoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable', '...rest='=>'array|callable(mixed,mixed):int'], +'array_uintersect_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_compare_func'=>'callable(mixed,mixed):int', 'key_compare_func'=>'callable(mixed,mixed):int'], +'array_uintersect_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', 'arg5'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], +'array_unique' => ['array', 'array'=>'array', 'flags='=>'0'], +'array_unique\'1' => ['array', 'array'=>'array', 'flags='=>'1'], +'array_unique\'2' => ['array', 'array'=>'array', 'flags='=>'2|5'], +'array_unshift' => ['int', '&rw_array'=>'array', '...values='=>'mixed'], +'array_values' => ['list', 'array'=>'array'], +'array_walk' => ['bool', '&rw_array'=>'array', 'callback'=>'callable', 'arg='=>'mixed'], +'array_walk\'1' => ['bool', '&rw_array'=>'object', 'callback'=>'callable', 'arg='=>'mixed'], +'array_walk_recursive' => ['bool', '&rw_array'=>'array', 'callback'=>'callable', 'arg='=>'mixed'], +'array_walk_recursive\'1' => ['bool', '&rw_array'=>'object', 'callback'=>'callable', 'arg='=>'mixed'], +'ArrayAccess::offsetExists' => ['bool', 'offset'=>'mixed'], +'ArrayAccess::offsetGet' => ['mixed', 'offset'=>'mixed'], +'ArrayAccess::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], +'ArrayAccess::offsetUnset' => ['void', 'offset'=>'mixed'], +'ArrayIterator::__construct' => ['void', 'array='=>'array|object', 'flags='=>'int'], +'ArrayIterator::append' => ['void', 'value'=>'mixed'], +'ArrayIterator::asort' => ['void'], +'ArrayIterator::count' => ['int'], +'ArrayIterator::current' => ['mixed'], +'ArrayIterator::getArrayCopy' => ['array'], +'ArrayIterator::getFlags' => ['int'], +'ArrayIterator::key' => ['int|string|null'], +'ArrayIterator::ksort' => ['void'], +'ArrayIterator::natcasesort' => ['true'], +'ArrayIterator::natsort' => ['true'], +'ArrayIterator::next' => ['void'], +'ArrayIterator::offsetExists' => ['bool', 'index'=>'string|int'], +'ArrayIterator::offsetGet' => ['mixed', 'index'=>'string|int'], +'ArrayIterator::offsetSet' => ['void', 'index'=>'string|int', 'newval'=>'mixed'], +'ArrayIterator::offsetUnset' => ['void', 'index'=>'string|int'], +'ArrayIterator::rewind' => ['void'], +'ArrayIterator::seek' => ['void', 'position'=>'int'], +'ArrayIterator::serialize' => ['string'], +'ArrayIterator::setFlags' => ['void', 'flags'=>'string'], +'ArrayIterator::uasort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], +'ArrayIterator::uksort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], +'ArrayIterator::unserialize' => ['void', 'serialized'=>'string'], +'ArrayIterator::valid' => ['bool'], +'ArrayObject::__construct' => ['void', 'input='=>'array|object', 'flags='=>'int', 'iterator_class='=>'string'], +'ArrayObject::append' => ['void', 'value'=>'mixed'], +'ArrayObject::asort' => ['void'], +'ArrayObject::count' => ['int'], +'ArrayObject::exchangeArray' => ['array', 'ar'=>'mixed'], +'ArrayObject::getArrayCopy' => ['array'], +'ArrayObject::getFlags' => ['int'], +'ArrayObject::getIterator' => ['ArrayIterator'], +'ArrayObject::getIteratorClass' => ['string'], +'ArrayObject::ksort' => ['void'], +'ArrayObject::natcasesort' => ['true'], +'ArrayObject::natsort' => ['true'], +'ArrayObject::offsetExists' => ['bool', 'index'=>'int|string'], +'ArrayObject::offsetGet' => ['mixed|null', 'index'=>'int|string'], +'ArrayObject::offsetSet' => ['void', 'index'=>'int|string', 'newval'=>'mixed'], +'ArrayObject::offsetUnset' => ['void', 'index'=>'int|string'], +'ArrayObject::serialize' => ['string'], +'ArrayObject::setFlags' => ['void', 'flags'=>'int'], +'ArrayObject::setIteratorClass' => ['void', 'iterator_class'=>'string'], +'ArrayObject::uasort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], +'ArrayObject::uksort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], +'ArrayObject::unserialize' => ['void', 'serialized'=>'string'], +'arsort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], +'asin' => ['float', 'num'=>'float'], +'asinh' => ['float', 'num'=>'float'], +'asort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], +'assert' => ['bool', 'assertion'=>'string|bool|int', 'description='=>'string|Throwable|null'], +'assert_options' => ['mixed|false', 'option'=>'int', 'value='=>'mixed'], +'ast\get_kind_name' => ['string', 'kind'=>'int'], +'ast\get_metadata' => ['array'], +'ast\get_supported_versions' => ['array', 'exclude_deprecated='=>'bool'], +'ast\kind_uses_flags' => ['bool', 'kind'=>'int'], +'ast\Node::__construct' => ['void', 'kind='=>'int', 'flags='=>'int', 'children='=>'ast\Node\Decl[]|ast\Node[]|int[]|string[]|float[]|bool[]|null[]', 'start_line='=>'int'], +'ast\parse_code' => ['ast\Node', 'code'=>'string', 'version'=>'int', 'filename='=>'string'], +'ast\parse_file' => ['ast\Node', 'filename'=>'string', 'version'=>'int'], +'atan' => ['float', 'num'=>'float'], +'atan2' => ['float', 'y'=>'float', 'x'=>'float'], +'atanh' => ['float', 'num'=>'float'], +'BadFunctionCallException::__clone' => ['void'], +'BadFunctionCallException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'BadFunctionCallException::__toString' => ['string'], +'BadFunctionCallException::getCode' => ['int'], +'BadFunctionCallException::getFile' => ['string'], +'BadFunctionCallException::getLine' => ['int'], +'BadFunctionCallException::getMessage' => ['string'], +'BadFunctionCallException::getPrevious' => ['?Throwable'], +'BadFunctionCallException::getTrace' => ['list\',args?:array}>'], +'BadFunctionCallException::getTraceAsString' => ['string'], +'BadMethodCallException::__clone' => ['void'], +'BadMethodCallException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'BadMethodCallException::__toString' => ['string'], +'BadMethodCallException::getCode' => ['int'], +'BadMethodCallException::getFile' => ['string'], +'BadMethodCallException::getLine' => ['int'], +'BadMethodCallException::getMessage' => ['string'], +'BadMethodCallException::getPrevious' => ['?Throwable'], +'BadMethodCallException::getTrace' => ['list\',args?:array}>'], +'BadMethodCallException::getTraceAsString' => ['string'], +'base64_decode' => ['string|false', 'string'=>'string', 'strict='=>'bool'], +'base64_encode' => ['string', 'string'=>'string'], +'base_convert' => ['string', 'num'=>'string', 'from_base'=>'int', 'to_base'=>'int'], +'basename' => ['string', 'path'=>'string', 'suffix='=>'string'], +'bbcode_add_element' => ['bool', 'bbcode_container'=>'resource', 'tag_name'=>'string', 'tag_rules'=>'array'], +'bbcode_add_smiley' => ['bool', 'bbcode_container'=>'resource', 'smiley'=>'string', 'replace_by'=>'string'], +'bbcode_create' => ['resource', 'bbcode_initial_tags='=>'array'], +'bbcode_destroy' => ['bool', 'bbcode_container'=>'resource'], +'bbcode_parse' => ['string', 'bbcode_container'=>'resource', 'to_parse'=>'string'], +'bbcode_set_arg_parser' => ['bool', 'bbcode_container'=>'resource', 'bbcode_arg_parser'=>'resource'], +'bbcode_set_flags' => ['bool', 'bbcode_container'=>'resource', 'flags'=>'int', 'mode='=>'int'], +'bcadd' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], +'bccomp' => ['int', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], +'bcdiv' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], +'bcmod' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], +'bcmul' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], +'bcompiler_load' => ['bool', 'filename'=>'string'], +'bcompiler_load_exe' => ['bool', 'filename'=>'string'], +'bcompiler_parse_class' => ['bool', 'class'=>'string', 'callback'=>'string'], +'bcompiler_read' => ['bool', 'filehandle'=>'resource'], +'bcompiler_write_class' => ['bool', 'filehandle'=>'resource', 'classname'=>'string', 'extends='=>'string'], +'bcompiler_write_constant' => ['bool', 'filehandle'=>'resource', 'constantname'=>'string'], +'bcompiler_write_exe_footer' => ['bool', 'filehandle'=>'resource', 'startpos'=>'int'], +'bcompiler_write_file' => ['bool', 'filehandle'=>'resource', 'filename'=>'string'], +'bcompiler_write_footer' => ['bool', 'filehandle'=>'resource'], +'bcompiler_write_function' => ['bool', 'filehandle'=>'resource', 'functionname'=>'string'], +'bcompiler_write_functions_from_file' => ['bool', 'filehandle'=>'resource', 'filename'=>'string'], +'bcompiler_write_header' => ['bool', 'filehandle'=>'resource', 'write_ver='=>'string'], +'bcompiler_write_included_filename' => ['bool', 'filehandle'=>'resource', 'filename'=>'string'], +'bcpow' => ['numeric-string', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'scale='=>'int|null'], +'bcpowmod' => ['numeric-string', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'modulus'=>'numeric-string', 'scale='=>'int|null'], +'bcscale' => ['int', 'scale='=>'int|null'], +'bcsqrt' => ['numeric-string', 'num'=>'numeric-string', 'scale='=>'int|null'], +'bcsub' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], +'bin2hex' => ['string', 'string'=>'string'], +'bind_textdomain_codeset' => ['string', 'domain'=>'string', 'codeset'=>'?string'], +'bindec' => ['float|int', 'binary_string'=>'string'], +'bindtextdomain' => ['string', 'domain'=>'string', 'directory'=>'?string'], +'birdstep_autocommit' => ['bool', 'index'=>'int'], +'birdstep_close' => ['bool', 'id'=>'int'], +'birdstep_commit' => ['bool', 'index'=>'int'], +'birdstep_connect' => ['int', 'server'=>'string', 'user'=>'string', 'pass'=>'string'], +'birdstep_exec' => ['int', 'index'=>'int', 'exec_str'=>'string'], +'birdstep_fetch' => ['bool', 'index'=>'int'], +'birdstep_fieldname' => ['string', 'index'=>'int', 'col'=>'int'], +'birdstep_fieldnum' => ['int', 'index'=>'int'], +'birdstep_freeresult' => ['bool', 'index'=>'int'], +'birdstep_off_autocommit' => ['bool', 'index'=>'int'], +'birdstep_result' => ['', 'index'=>'int', 'col'=>''], +'birdstep_rollback' => ['bool', 'index'=>'int'], +'blenc_encrypt' => ['string', 'plaintext'=>'string', 'encodedfile'=>'string', 'encryption_key='=>'string'], +'boolval' => ['bool', 'value'=>'mixed'], +'bson_decode' => ['array', 'bson'=>'string'], +'bson_encode' => ['string', 'anything'=>'mixed'], +'bzclose' => ['bool', 'bz'=>'resource'], +'bzcompress' => ['string|int', 'data'=>'string', 'block_size='=>'int', 'work_factor='=>'int'], +'bzdecompress' => ['string|int|false', 'data'=>'string', 'use_less_memory='=>'bool'], +'bzerrno' => ['int', 'bz'=>'resource'], +'bzerror' => ['array', 'bz'=>'resource'], +'bzerrstr' => ['string', 'bz'=>'resource'], +'bzflush' => ['bool', 'bz'=>'resource'], +'bzopen' => ['resource|false', 'file'=>'string|resource', 'mode'=>'string'], +'bzread' => ['string|false', 'bz'=>'resource', 'length='=>'int'], +'bzwrite' => ['int|false', 'bz'=>'resource', 'data'=>'string', 'length='=>'?int'], +'CachingIterator::__construct' => ['void', 'iterator'=>'Iterator', 'flags='=>''], +'CachingIterator::__toString' => ['string'], +'CachingIterator::count' => ['int'], +'CachingIterator::current' => ['mixed'], +'CachingIterator::getCache' => ['array'], +'CachingIterator::getFlags' => ['int'], +'CachingIterator::getInnerIterator' => ['Iterator'], +'CachingIterator::hasNext' => ['bool'], +'CachingIterator::key' => ['int|string|float|bool'], +'CachingIterator::next' => ['void'], +'CachingIterator::offsetExists' => ['bool', 'index'=>'string'], +'CachingIterator::offsetGet' => ['mixed', 'index'=>'string'], +'CachingIterator::offsetSet' => ['void', 'index'=>'string', 'newval'=>'mixed'], +'CachingIterator::offsetUnset' => ['void', 'index'=>'string'], +'CachingIterator::rewind' => ['void'], +'CachingIterator::setFlags' => ['void', 'flags'=>'int'], +'CachingIterator::valid' => ['bool'], +'cal_days_in_month' => ['int', 'calendar'=>'int', 'month'=>'int', 'year'=>'int'], +'cal_from_jd' => ['array{date:string,month:int,day:int,year:int,dow:int,abbrevdayname:string,dayname:string,abbrevmonth:string,monthname:string}', 'julian_day'=>'int', 'calendar'=>'int'], +'cal_info' => ['array', 'calendar='=>'int'], +'cal_to_jd' => ['int', 'calendar'=>'int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], +'calcul_hmac' => ['string', 'clent'=>'string', 'siretcode'=>'string', 'price'=>'string', 'reference'=>'string', 'validity'=>'string', 'taxation'=>'string', 'devise'=>'string', 'language'=>'string'], +'calculhmac' => ['string', 'clent'=>'string', 'data'=>'string'], +'call_user_func' => ['mixed|false', 'callback'=>'callable', '...args='=>'mixed'], +'call_user_func_array' => ['mixed|false', 'callback'=>'callable', 'args'=>'list'], +'call_user_method' => ['mixed', 'method_name'=>'string', 'object'=>'object', 'parameter='=>'mixed', '...args='=>'mixed'], +'call_user_method_array' => ['mixed', 'method_name'=>'string', 'object'=>'object', 'params'=>'list'], +'CallbackFilterIterator::__construct' => ['void', 'iterator'=>'Iterator', 'func'=>'callable(mixed):bool|callable(mixed,mixed):bool|callable(mixed,mixed,mixed):bool'], +'CallbackFilterIterator::accept' => ['bool'], +'CallbackFilterIterator::current' => ['mixed'], +'CallbackFilterIterator::getInnerIterator' => ['Iterator'], +'CallbackFilterIterator::key' => ['mixed'], +'CallbackFilterIterator::next' => ['void'], +'CallbackFilterIterator::rewind' => ['void'], +'CallbackFilterIterator::valid' => ['bool'], +'ceil' => ['float', 'num'=>'float'], +'chdb::__construct' => ['void', 'pathname'=>'string'], +'chdb::get' => ['string', 'key'=>'string'], +'chdb_create' => ['bool', 'pathname'=>'string', 'data'=>'array'], +'chdir' => ['bool', 'directory'=>'string'], +'checkdate' => ['bool', 'month'=>'int', 'day'=>'int', 'year'=>'int'], +'checkdnsrr' => ['bool', 'hostname'=>'string', 'type='=>'string'], +'chgrp' => ['bool', 'filename'=>'string', 'group'=>'string|int'], +'chmod' => ['bool', 'filename'=>'string', 'permissions'=>'int'], +'chop' => ['string', 'string'=>'string', 'characters='=>'string'], +'chown' => ['bool', 'filename'=>'string', 'user'=>'string|int'], +'chr' => ['non-empty-string', 'codepoint'=>'int'], +'chroot' => ['bool', 'directory'=>'string'], +'chunk_split' => ['string', 'string'=>'string', 'length='=>'int', 'separator='=>'string'], +'class_alias' => ['bool', 'class'=>'string', 'alias'=>'string', 'autoload='=>'bool'], +'class_exists' => ['bool', 'class'=>'string', 'autoload='=>'bool'], +'class_implements' => ['array|false', 'object_or_class'=>'object|string', 'autoload='=>'bool'], +'class_parents' => ['array|false', 'object_or_class'=>'object|string', 'autoload='=>'bool'], +'class_uses' => ['array|false', 'object_or_class'=>'object|string', 'autoload='=>'bool'], +'classkit_import' => ['array', 'filename'=>'string'], +'classkit_method_add' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int'], +'classkit_method_copy' => ['bool', 'dclass'=>'string', 'dmethod'=>'string', 'sclass'=>'string', 'smethod='=>'string'], +'classkit_method_redefine' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int'], +'classkit_method_remove' => ['bool', 'classname'=>'string', 'methodname'=>'string'], +'classkit_method_rename' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'newname'=>'string'], +'classObj::__construct' => ['void', 'layer'=>'layerObj', 'class'=>'classObj'], +'classObj::addLabel' => ['int', 'label'=>'labelObj'], +'classObj::convertToString' => ['string'], +'classObj::createLegendIcon' => ['imageObj', 'width'=>'int', 'height'=>'int'], +'classObj::deletestyle' => ['int', 'index'=>'int'], +'classObj::drawLegendIcon' => ['int', 'width'=>'int', 'height'=>'int', 'im'=>'imageObj', 'dstX'=>'int', 'dstY'=>'int'], +'classObj::free' => ['void'], +'classObj::getExpressionString' => ['string'], +'classObj::getLabel' => ['labelObj', 'index'=>'int'], +'classObj::getMetaData' => ['int', 'name'=>'string'], +'classObj::getStyle' => ['styleObj', 'index'=>'int'], +'classObj::getTextString' => ['string'], +'classObj::movestyledown' => ['int', 'index'=>'int'], +'classObj::movestyleup' => ['int', 'index'=>'int'], +'classObj::ms_newClassObj' => ['classObj', 'layer'=>'layerObj', 'class'=>'classObj'], +'classObj::removeLabel' => ['labelObj', 'index'=>'int'], +'classObj::removeMetaData' => ['int', 'name'=>'string'], +'classObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'classObj::setExpression' => ['int', 'expression'=>'string'], +'classObj::setMetaData' => ['int', 'name'=>'string', 'value'=>'string'], +'classObj::settext' => ['int', 'text'=>'string'], +'classObj::updateFromString' => ['int', 'snippet'=>'string'], +'clearstatcache' => ['void', 'clear_realpath_cache='=>'bool', 'filename='=>'string'], +'cli_get_process_title' => ['?string'], +'cli_set_process_title' => ['bool', 'title'=>'string'], +'ClosedGeneratorException::__clone' => ['void'], +'ClosedGeneratorException::__toString' => ['string'], +'ClosedGeneratorException::getCode' => ['int'], +'ClosedGeneratorException::getFile' => ['string'], +'ClosedGeneratorException::getLine' => ['int'], +'ClosedGeneratorException::getMessage' => ['string'], +'ClosedGeneratorException::getPrevious' => ['?Throwable'], +'ClosedGeneratorException::getTrace' => ['list\',args?:array}>'], +'ClosedGeneratorException::getTraceAsString' => ['string'], +'closedir' => ['void', 'dir_handle='=>'resource'], +'closelog' => ['true'], +'Closure::__construct' => ['void'], +'Closure::__invoke' => ['', '...args='=>''], +'Closure::bind' => ['?Closure', 'closure'=>'Closure', 'newThis'=>'?object', 'newScope='=>'object|string|null'], +'Closure::bindTo' => ['?Closure', 'newThis'=>'?object', 'newScope='=>'object|string|null'], +'Closure::call' => ['mixed', 'newThis'=>'object', '...args='=>'mixed'], +'Closure::fromCallable' => ['Closure', 'callback'=>'callable'], +'clusterObj::convertToString' => ['string'], +'clusterObj::getFilterString' => ['string'], +'clusterObj::getGroupString' => ['string'], +'clusterObj::setFilter' => ['int', 'expression'=>'string'], +'clusterObj::setGroup' => ['int', 'expression'=>'string'], +'Collator::__construct' => ['void', 'locale'=>'string'], +'Collator::asort' => ['bool', '&rw_arr'=>'array', 'sort_flag='=>'int'], +'Collator::compare' => ['int|false', 'string1'=>'string', 'string2'=>'string'], +'Collator::create' => ['?Collator', 'locale'=>'string'], +'Collator::getAttribute' => ['int|false', 'attr'=>'int'], +'Collator::getErrorCode' => ['int'], +'Collator::getErrorMessage' => ['string'], +'Collator::getLocale' => ['string', 'type'=>'int'], +'Collator::getSortKey' => ['string|false', 'string'=>'string'], +'Collator::getStrength' => ['int'], +'Collator::setAttribute' => ['bool', 'attr'=>'int', 'value'=>'int'], +'Collator::setStrength' => ['bool', 'strength'=>'int'], +'Collator::sort' => ['bool', '&rw_arr'=>'array', 'sort_flags='=>'int'], +'Collator::sortWithSortKeys' => ['bool', '&rw_arr'=>'array'], +'collator_asort' => ['bool', 'object'=>'collator', '&rw_array'=>'array', 'flags='=>'int'], +'collator_compare' => ['int', 'object'=>'collator', 'string1'=>'string', 'string2'=>'string'], +'collator_create' => ['?Collator', 'locale'=>'string'], +'collator_get_attribute' => ['int|false', 'object'=>'collator', 'attribute'=>'int'], +'collator_get_error_code' => ['int', 'object'=>'collator'], +'collator_get_error_message' => ['string', 'object'=>'collator'], +'collator_get_locale' => ['string', 'object'=>'collator', 'type'=>'int'], +'collator_get_sort_key' => ['string', 'object'=>'collator', 'string'=>'string'], +'collator_get_strength' => ['int', 'object'=>'collator'], +'collator_set_attribute' => ['bool', 'object'=>'collator', 'attribute'=>'int', 'value'=>'int'], +'collator_set_strength' => ['bool', 'object'=>'collator', 'strength'=>'int'], +'collator_sort' => ['bool', 'object'=>'collator', '&rw_array'=>'array', 'flags='=>'int'], +'collator_sort_with_sort_keys' => ['bool', 'object'=>'collator', '&rw_array'=>'array'], +'Collectable::isGarbage' => ['bool'], +'Collectable::setGarbage' => ['void'], +'colorObj::setHex' => ['int', 'hex'=>'string'], +'colorObj::toHex' => ['string'], +'COM::__call' => ['', 'name'=>'', 'args'=>''], +'COM::__construct' => ['void', 'module_name'=>'string', 'server_name='=>'mixed', 'codepage='=>'int', 'typelib='=>'string'], +'COM::__get' => ['', 'name'=>''], +'COM::__set' => ['void', 'name'=>'', 'value'=>''], +'com_addref' => [''], +'com_create_guid' => ['string'], +'com_event_sink' => ['bool', 'variant'=>'VARIANT', 'sink_object'=>'object', 'sink_interface='=>'mixed'], +'com_get_active_object' => ['VARIANT', 'prog_id'=>'string', 'codepage='=>'int'], +'com_isenum' => ['bool', 'com_module'=>'variant'], +'com_load_typelib' => ['bool', 'typelib_name'=>'string', 'case_insensitive='=>'true'], +'com_message_pump' => ['bool', 'timeout_milliseconds='=>'int'], +'com_print_typeinfo' => ['bool', 'variant'=>'object', 'dispatch_interface='=>'string', 'display_sink='=>'bool'], +'commonmark\cql::__invoke' => ['', 'root'=>'CommonMark\Node', 'handler'=>'callable'], +'commonmark\interfaces\ivisitable::accept' => ['void', 'visitor'=>'CommonMark\Interfaces\IVisitor'], +'commonmark\interfaces\ivisitor::enter' => ['?int|IVisitable', 'visitable'=>'IVisitable'], +'commonmark\interfaces\ivisitor::leave' => ['?int|IVisitable', 'visitable'=>'IVisitable'], +'commonmark\node::accept' => ['void', 'visitor'=>'CommonMark\Interfaces\IVisitor'], +'commonmark\node::appendChild' => ['CommonMark\Node', 'child'=>'CommonMark\Node'], +'commonmark\node::insertAfter' => ['CommonMark\Node', 'sibling'=>'CommonMark\Node'], +'commonmark\node::insertBefore' => ['CommonMark\Node', 'sibling'=>'CommonMark\Node'], +'commonmark\node::prependChild' => ['CommonMark\Node', 'child'=>'CommonMark\Node'], +'commonmark\node::replace' => ['CommonMark\Node', 'target'=>'CommonMark\Node'], +'commonmark\node::unlink' => ['void'], +'commonmark\parse' => ['CommonMark\Node', 'content'=>'string', 'options='=>'int'], +'commonmark\parser::finish' => ['CommonMark\Node'], +'commonmark\parser::parse' => ['void', 'buffer'=>'string'], +'commonmark\render' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int', 'width='=>'int'], +'commonmark\render\html' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int'], +'commonmark\render\latex' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int', 'width='=>'int'], +'commonmark\render\man' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int', 'width='=>'int'], +'commonmark\render\xml' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int'], +'compact' => ['array', 'var_name'=>'string|array', '...var_names='=>'string|array'], +'COMPersistHelper::__construct' => ['void', 'variant'=>'object'], +'COMPersistHelper::GetCurFile' => ['string'], +'COMPersistHelper::GetCurFileName' => ['string'], +'COMPersistHelper::GetMaxStreamSize' => ['int'], +'COMPersistHelper::InitNew' => ['int'], +'COMPersistHelper::LoadFromFile' => ['bool', 'filename'=>'string', 'flags'=>'int'], +'COMPersistHelper::LoadFromStream' => ['', 'stream'=>''], +'COMPersistHelper::SaveToFile' => ['bool', 'filename'=>'string', 'remember'=>'bool'], +'COMPersistHelper::SaveToStream' => ['int', 'stream'=>''], +'componere\abstract\definition::addInterface' => ['Componere\Abstract\Definition', 'interface'=>'string'], +'componere\abstract\definition::addMethod' => ['Componere\Abstract\Definition', 'name'=>'string', 'method'=>'Componere\Method'], +'componere\abstract\definition::addTrait' => ['Componere\Abstract\Definition', 'trait'=>'string'], +'componere\abstract\definition::getReflector' => ['ReflectionClass'], +'componere\cast' => ['object', 'arg1'=>'string', 'object'=>'object'], +'componere\cast_by_ref' => ['object', 'arg1'=>'string', 'object'=>'object'], +'componere\definition::addConstant' => ['Componere\Definition', 'name'=>'string', 'value'=>'Componere\Value'], +'componere\definition::addProperty' => ['Componere\Definition', 'name'=>'string', 'value'=>'Componere\Value'], +'componere\definition::getClosure' => ['Closure', 'name'=>'string'], +'componere\definition::getClosures' => ['Closure[]'], +'componere\definition::isRegistered' => ['bool'], +'componere\definition::register' => ['void'], +'componere\method::getReflector' => ['ReflectionMethod'], +'componere\method::setPrivate' => ['Method'], +'componere\method::setProtected' => ['Method'], +'componere\method::setStatic' => ['Method'], +'componere\patch::apply' => ['void'], +'componere\patch::derive' => ['Componere\Patch', 'instance'=>'object'], +'componere\patch::getClosure' => ['Closure', 'name'=>'string'], +'componere\patch::getClosures' => ['Closure[]'], +'componere\patch::isApplied' => ['bool'], +'componere\patch::revert' => ['void'], +'componere\value::hasDefault' => ['bool'], +'componere\value::isPrivate' => ['bool'], +'componere\value::isProtected' => ['bool'], +'componere\value::isStatic' => ['bool'], +'componere\value::setPrivate' => ['Value'], +'componere\value::setProtected' => ['Value'], +'componere\value::setStatic' => ['Value'], +'Cond::broadcast' => ['bool', 'condition'=>'long'], +'Cond::create' => ['long'], +'Cond::destroy' => ['bool', 'condition'=>'long'], +'Cond::signal' => ['bool', 'condition'=>'long'], +'Cond::wait' => ['bool', 'condition'=>'long', 'mutex'=>'long', 'timeout='=>'long'], +'confirm_pdo_ibm_compiled' => [''], +'connection_aborted' => ['int'], +'connection_status' => ['int'], +'connection_timeout' => ['int'], +'constant' => ['mixed', 'name'=>'string'], +'convert_cyr_string' => ['string', 'string'=>'string', 'from'=>'string', 'to'=>'string'], +'convert_uudecode' => ['string', 'string'=>'string'], +'convert_uuencode' => ['string', 'string'=>'string'], +'copy' => ['bool', 'from'=>'string', 'to'=>'string', 'context='=>'resource'], +'cos' => ['float', 'num'=>'float'], +'cosh' => ['float', 'num'=>'float'], +'Couchbase\AnalyticsQuery::__construct' => ['void'], +'Couchbase\AnalyticsQuery::fromString' => ['Couchbase\AnalyticsQuery', 'statement'=>'string'], +'Couchbase\basicDecoderV1' => ['mixed', 'bytes'=>'string', 'flags'=>'int', 'datatype'=>'int', 'options'=>'array'], +'Couchbase\basicEncoderV1' => ['array', 'value'=>'mixed', 'options'=>'array'], +'Couchbase\BooleanFieldSearchQuery::__construct' => ['void'], +'Couchbase\BooleanFieldSearchQuery::boost' => ['Couchbase\BooleanFieldSearchQuery', 'boost'=>'float'], +'Couchbase\BooleanFieldSearchQuery::field' => ['Couchbase\BooleanFieldSearchQuery', 'field'=>'string'], +'Couchbase\BooleanFieldSearchQuery::jsonSerialize' => ['array'], +'Couchbase\BooleanSearchQuery::__construct' => ['void'], +'Couchbase\BooleanSearchQuery::boost' => ['Couchbase\BooleanSearchQuery', 'boost'=>'float'], +'Couchbase\BooleanSearchQuery::jsonSerialize' => ['array'], +'Couchbase\BooleanSearchQuery::must' => ['Couchbase\BooleanSearchQuery', '...queries='=>'array'], +'Couchbase\BooleanSearchQuery::mustNot' => ['Couchbase\BooleanSearchQuery', '...queries='=>'array'], +'Couchbase\BooleanSearchQuery::should' => ['Couchbase\BooleanSearchQuery', '...queries='=>'array'], +'Couchbase\Bucket::__construct' => ['void'], +'Couchbase\Bucket::__get' => ['int', 'name'=>'string'], +'Couchbase\Bucket::__set' => ['int', 'name'=>'string', 'value'=>'int'], +'Couchbase\Bucket::append' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\Bucket::counter' => ['Couchbase\Document|array', 'ids'=>'array|string', 'delta='=>'int', 'options='=>'array'], +'Couchbase\Bucket::decryptFields' => ['array', 'document'=>'array', 'fieldOptions'=>'', 'prefix='=>'string'], +'Couchbase\Bucket::diag' => ['array', 'reportId='=>'string'], +'Couchbase\Bucket::encryptFields' => ['array', 'document'=>'array', 'fieldOptions'=>'', 'prefix='=>'string'], +'Couchbase\Bucket::get' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], +'Couchbase\Bucket::getAndLock' => ['Couchbase\Document|array', 'ids'=>'array|string', 'lockTime'=>'int', 'options='=>'array'], +'Couchbase\Bucket::getAndTouch' => ['Couchbase\Document|array', 'ids'=>'array|string', 'expiry'=>'int', 'options='=>'array'], +'Couchbase\Bucket::getFromReplica' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], +'Couchbase\Bucket::getName' => ['string'], +'Couchbase\Bucket::insert' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\Bucket::listExists' => ['bool', 'id'=>'string', 'value'=>'mixed'], +'Couchbase\Bucket::listGet' => ['mixed', 'id'=>'string', 'index'=>'int'], +'Couchbase\Bucket::listPush' => ['', 'id'=>'string', 'value'=>'mixed'], +'Couchbase\Bucket::listRemove' => ['', 'id'=>'string', 'index'=>'int'], +'Couchbase\Bucket::listSet' => ['', 'id'=>'string', 'index'=>'int', 'value'=>'mixed'], +'Couchbase\Bucket::listShift' => ['', 'id'=>'string', 'value'=>'mixed'], +'Couchbase\Bucket::listSize' => ['int', 'id'=>'string'], +'Couchbase\Bucket::lookupIn' => ['Couchbase\LookupInBuilder', 'id'=>'string'], +'Couchbase\Bucket::manager' => ['Couchbase\BucketManager'], +'Couchbase\Bucket::mapAdd' => ['', 'id'=>'string', 'key'=>'string', 'value'=>'mixed'], +'Couchbase\Bucket::mapGet' => ['mixed', 'id'=>'string', 'key'=>'string'], +'Couchbase\Bucket::mapRemove' => ['', 'id'=>'string', 'key'=>'string'], +'Couchbase\Bucket::mapSize' => ['int', 'id'=>'string'], +'Couchbase\Bucket::mutateIn' => ['Couchbase\MutateInBuilder', 'id'=>'string', 'cas'=>'string'], +'Couchbase\Bucket::ping' => ['array', 'services='=>'int', 'reportId='=>'string'], +'Couchbase\Bucket::prepend' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\Bucket::query' => ['object', 'query'=>'Couchbase\AnalyticsQuery|Couchbase\N1qlQuery|Couchbase\SearchQuery|Couchbase\SpatialViewQuery|Couchbase\ViewQuery', 'jsonAsArray='=>'bool'], +'Couchbase\Bucket::queueAdd' => ['', 'id'=>'string', 'value'=>'mixed'], +'Couchbase\Bucket::queueExists' => ['bool', 'id'=>'string', 'value'=>'mixed'], +'Couchbase\Bucket::queueRemove' => ['mixed', 'id'=>'string'], +'Couchbase\Bucket::queueSize' => ['int', 'id'=>'string'], +'Couchbase\Bucket::remove' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], +'Couchbase\Bucket::replace' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\Bucket::retrieveIn' => ['Couchbase\DocumentFragment', 'id'=>'string', '...paths='=>'array'], +'Couchbase\Bucket::setAdd' => ['', 'id'=>'string', 'value'=>'bool|float|int|string'], +'Couchbase\Bucket::setExists' => ['bool', 'id'=>'string', 'value'=>'bool|float|int|string'], +'Couchbase\Bucket::setRemove' => ['', 'id'=>'string', 'value'=>'bool|float|int|string'], +'Couchbase\Bucket::setSize' => ['int', 'id'=>'string'], +'Couchbase\Bucket::setTranscoder' => ['', 'encoder'=>'callable', 'decoder'=>'callable'], +'Couchbase\Bucket::touch' => ['Couchbase\Document|array', 'ids'=>'array|string', 'expiry'=>'int', 'options='=>'array'], +'Couchbase\Bucket::unlock' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], +'Couchbase\Bucket::upsert' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\BucketManager::__construct' => ['void'], +'Couchbase\BucketManager::createN1qlIndex' => ['', 'name'=>'string', 'fields'=>'array', 'whereClause='=>'string', 'ignoreIfExist='=>'bool', 'defer='=>'bool'], +'Couchbase\BucketManager::createN1qlPrimaryIndex' => ['', 'customName='=>'string', 'ignoreIfExist='=>'bool', 'defer='=>'bool'], +'Couchbase\BucketManager::dropN1qlIndex' => ['', 'name'=>'string', 'ignoreIfNotExist='=>'bool'], +'Couchbase\BucketManager::dropN1qlPrimaryIndex' => ['', 'customName='=>'string', 'ignoreIfNotExist='=>'bool'], +'Couchbase\BucketManager::flush' => [''], +'Couchbase\BucketManager::getDesignDocument' => ['array', 'name'=>'string'], +'Couchbase\BucketManager::info' => ['array'], +'Couchbase\BucketManager::insertDesignDocument' => ['', 'name'=>'string', 'document'=>'array'], +'Couchbase\BucketManager::listDesignDocuments' => ['array'], +'Couchbase\BucketManager::listN1qlIndexes' => ['array'], +'Couchbase\BucketManager::removeDesignDocument' => ['', 'name'=>'string'], +'Couchbase\BucketManager::upsertDesignDocument' => ['', 'name'=>'string', 'document'=>'array'], +'Couchbase\ClassicAuthenticator::bucket' => ['', 'name'=>'string', 'password'=>'string'], +'Couchbase\ClassicAuthenticator::cluster' => ['', 'username'=>'string', 'password'=>'string'], +'Couchbase\Cluster::__construct' => ['void', 'connstr'=>'string'], +'Couchbase\Cluster::authenticate' => ['null', 'authenticator'=>'Couchbase\Authenticator'], +'Couchbase\Cluster::authenticateAs' => ['null', 'username'=>'string', 'password'=>'string'], +'Couchbase\Cluster::manager' => ['Couchbase\ClusterManager', 'username='=>'string', 'password='=>'string'], +'Couchbase\Cluster::openBucket' => ['Couchbase\Bucket', 'name='=>'string', 'password='=>'string'], +'Couchbase\ClusterManager::__construct' => ['void'], +'Couchbase\ClusterManager::createBucket' => ['', 'name'=>'string', 'options='=>'array'], +'Couchbase\ClusterManager::getUser' => ['array', 'username'=>'string', 'domain='=>'int'], +'Couchbase\ClusterManager::info' => ['array'], +'Couchbase\ClusterManager::listBuckets' => ['array'], +'Couchbase\ClusterManager::listUsers' => ['array', 'domain='=>'int'], +'Couchbase\ClusterManager::removeBucket' => ['', 'name'=>'string'], +'Couchbase\ClusterManager::removeUser' => ['', 'name'=>'string', 'domain='=>'int'], +'Couchbase\ClusterManager::upsertUser' => ['', 'name'=>'string', 'settings'=>'Couchbase\UserSettings', 'domain='=>'int'], +'Couchbase\ConjunctionSearchQuery::__construct' => ['void'], +'Couchbase\ConjunctionSearchQuery::boost' => ['Couchbase\ConjunctionSearchQuery', 'boost'=>'float'], +'Couchbase\ConjunctionSearchQuery::every' => ['Couchbase\ConjunctionSearchQuery', '...queries='=>'array'], +'Couchbase\ConjunctionSearchQuery::jsonSerialize' => ['array'], +'Couchbase\DateRangeSearchFacet::__construct' => ['void'], +'Couchbase\DateRangeSearchFacet::addRange' => ['Couchbase\DateRangeSearchFacet', 'name'=>'string', 'start'=>'int|string', 'end'=>'int|string'], +'Couchbase\DateRangeSearchFacet::jsonSerialize' => ['array'], +'Couchbase\DateRangeSearchQuery::__construct' => ['void'], +'Couchbase\DateRangeSearchQuery::boost' => ['Couchbase\DateRangeSearchQuery', 'boost'=>'float'], +'Couchbase\DateRangeSearchQuery::dateTimeParser' => ['Couchbase\DateRangeSearchQuery', 'dateTimeParser'=>'string'], +'Couchbase\DateRangeSearchQuery::end' => ['Couchbase\DateRangeSearchQuery', 'end'=>'int|string', 'inclusive='=>'bool'], +'Couchbase\DateRangeSearchQuery::field' => ['Couchbase\DateRangeSearchQuery', 'field'=>'string'], +'Couchbase\DateRangeSearchQuery::jsonSerialize' => ['array'], +'Couchbase\DateRangeSearchQuery::start' => ['Couchbase\DateRangeSearchQuery', 'start'=>'int|string', 'inclusive='=>'bool'], +'Couchbase\defaultDecoder' => ['mixed', 'bytes'=>'string', 'flags'=>'int', 'datatype'=>'int'], +'Couchbase\defaultEncoder' => ['array', 'value'=>'mixed'], +'Couchbase\DisjunctionSearchQuery::__construct' => ['void'], +'Couchbase\DisjunctionSearchQuery::boost' => ['Couchbase\DisjunctionSearchQuery', 'boost'=>'float'], +'Couchbase\DisjunctionSearchQuery::either' => ['Couchbase\DisjunctionSearchQuery', '...queries='=>'array'], +'Couchbase\DisjunctionSearchQuery::jsonSerialize' => ['array'], +'Couchbase\DisjunctionSearchQuery::min' => ['Couchbase\DisjunctionSearchQuery', 'min'=>'int'], +'Couchbase\DocIdSearchQuery::__construct' => ['void'], +'Couchbase\DocIdSearchQuery::boost' => ['Couchbase\DocIdSearchQuery', 'boost'=>'float'], +'Couchbase\DocIdSearchQuery::docIds' => ['Couchbase\DocIdSearchQuery', '...documentIds='=>'array'], +'Couchbase\DocIdSearchQuery::field' => ['Couchbase\DocIdSearchQuery', 'field'=>'string'], +'Couchbase\DocIdSearchQuery::jsonSerialize' => ['array'], +'Couchbase\fastlzCompress' => ['string', 'data'=>'string'], +'Couchbase\fastlzDecompress' => ['string', 'data'=>'string'], +'Couchbase\GeoBoundingBoxSearchQuery::__construct' => ['void'], +'Couchbase\GeoBoundingBoxSearchQuery::boost' => ['Couchbase\GeoBoundingBoxSearchQuery', 'boost'=>'float'], +'Couchbase\GeoBoundingBoxSearchQuery::field' => ['Couchbase\GeoBoundingBoxSearchQuery', 'field'=>'string'], +'Couchbase\GeoBoundingBoxSearchQuery::jsonSerialize' => ['array'], +'Couchbase\GeoDistanceSearchQuery::__construct' => ['void'], +'Couchbase\GeoDistanceSearchQuery::boost' => ['Couchbase\GeoDistanceSearchQuery', 'boost'=>'float'], +'Couchbase\GeoDistanceSearchQuery::field' => ['Couchbase\GeoDistanceSearchQuery', 'field'=>'string'], +'Couchbase\GeoDistanceSearchQuery::jsonSerialize' => ['array'], +'Couchbase\LookupInBuilder::__construct' => ['void'], +'Couchbase\LookupInBuilder::execute' => ['Couchbase\DocumentFragment'], +'Couchbase\LookupInBuilder::exists' => ['Couchbase\LookupInBuilder', 'path'=>'string', 'options='=>'array'], +'Couchbase\LookupInBuilder::get' => ['Couchbase\LookupInBuilder', 'path'=>'string', 'options='=>'array'], +'Couchbase\LookupInBuilder::getCount' => ['Couchbase\LookupInBuilder', 'path'=>'string', 'options='=>'array'], +'Couchbase\MatchAllSearchQuery::__construct' => ['void'], +'Couchbase\MatchAllSearchQuery::boost' => ['Couchbase\MatchAllSearchQuery', 'boost'=>'float'], +'Couchbase\MatchAllSearchQuery::jsonSerialize' => ['array'], +'Couchbase\MatchNoneSearchQuery::__construct' => ['void'], +'Couchbase\MatchNoneSearchQuery::boost' => ['Couchbase\MatchNoneSearchQuery', 'boost'=>'float'], +'Couchbase\MatchNoneSearchQuery::jsonSerialize' => ['array'], +'Couchbase\MatchPhraseSearchQuery::__construct' => ['void'], +'Couchbase\MatchPhraseSearchQuery::analyzer' => ['Couchbase\MatchPhraseSearchQuery', 'analyzer'=>'string'], +'Couchbase\MatchPhraseSearchQuery::boost' => ['Couchbase\MatchPhraseSearchQuery', 'boost'=>'float'], +'Couchbase\MatchPhraseSearchQuery::field' => ['Couchbase\MatchPhraseSearchQuery', 'field'=>'string'], +'Couchbase\MatchPhraseSearchQuery::jsonSerialize' => ['array'], +'Couchbase\MatchSearchQuery::__construct' => ['void'], +'Couchbase\MatchSearchQuery::analyzer' => ['Couchbase\MatchSearchQuery', 'analyzer'=>'string'], +'Couchbase\MatchSearchQuery::boost' => ['Couchbase\MatchSearchQuery', 'boost'=>'float'], +'Couchbase\MatchSearchQuery::field' => ['Couchbase\MatchSearchQuery', 'field'=>'string'], +'Couchbase\MatchSearchQuery::fuzziness' => ['Couchbase\MatchSearchQuery', 'fuzziness'=>'int'], +'Couchbase\MatchSearchQuery::jsonSerialize' => ['array'], +'Couchbase\MatchSearchQuery::prefixLength' => ['Couchbase\MatchSearchQuery', 'prefixLength'=>'int'], +'Couchbase\MutateInBuilder::__construct' => ['void'], +'Couchbase\MutateInBuilder::arrayAddUnique' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::arrayAppend' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::arrayAppendAll' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'values'=>'array', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::arrayInsert' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\MutateInBuilder::arrayInsertAll' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'values'=>'array', 'options='=>'array'], +'Couchbase\MutateInBuilder::arrayPrepend' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::arrayPrependAll' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'values'=>'array', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::counter' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'delta'=>'int', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::execute' => ['Couchbase\DocumentFragment'], +'Couchbase\MutateInBuilder::insert' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::modeDocument' => ['', 'mode'=>'int'], +'Couchbase\MutateInBuilder::remove' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'options='=>'array'], +'Couchbase\MutateInBuilder::replace' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array'], +'Couchbase\MutateInBuilder::upsert' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], +'Couchbase\MutateInBuilder::withExpiry' => ['Couchbase\MutateInBuilder', 'expiry'=>'Couchbase\expiry'], +'Couchbase\MutationState::__construct' => ['void'], +'Couchbase\MutationState::add' => ['', 'source'=>'Couchbase\Document|Couchbase\DocumentFragment|array'], +'Couchbase\MutationState::from' => ['Couchbase\MutationState', 'source'=>'Couchbase\Document|Couchbase\DocumentFragment|array'], +'Couchbase\MutationToken::__construct' => ['void'], +'Couchbase\MutationToken::bucketName' => ['string'], +'Couchbase\MutationToken::from' => ['', 'bucketName'=>'string', 'vbucketId'=>'int', 'vbucketUuid'=>'string', 'sequenceNumber'=>'string'], +'Couchbase\MutationToken::sequenceNumber' => ['string'], +'Couchbase\MutationToken::vbucketId' => ['int'], +'Couchbase\MutationToken::vbucketUuid' => ['string'], +'Couchbase\N1qlIndex::__construct' => ['void'], +'Couchbase\N1qlQuery::__construct' => ['void'], +'Couchbase\N1qlQuery::adhoc' => ['Couchbase\N1qlQuery', 'adhoc'=>'bool'], +'Couchbase\N1qlQuery::consistency' => ['Couchbase\N1qlQuery', 'consistency'=>'int'], +'Couchbase\N1qlQuery::consistentWith' => ['Couchbase\N1qlQuery', 'state'=>'Couchbase\MutationState'], +'Couchbase\N1qlQuery::crossBucket' => ['Couchbase\N1qlQuery', 'crossBucket'=>'bool'], +'Couchbase\N1qlQuery::fromString' => ['Couchbase\N1qlQuery', 'statement'=>'string'], +'Couchbase\N1qlQuery::maxParallelism' => ['Couchbase\N1qlQuery', 'maxParallelism'=>'int'], +'Couchbase\N1qlQuery::namedParams' => ['Couchbase\N1qlQuery', 'params'=>'array'], +'Couchbase\N1qlQuery::pipelineBatch' => ['Couchbase\N1qlQuery', 'pipelineBatch'=>'int'], +'Couchbase\N1qlQuery::pipelineCap' => ['Couchbase\N1qlQuery', 'pipelineCap'=>'int'], +'Couchbase\N1qlQuery::positionalParams' => ['Couchbase\N1qlQuery', 'params'=>'array'], +'Couchbase\N1qlQuery::profile' => ['', 'profileType'=>'string'], +'Couchbase\N1qlQuery::readonly' => ['Couchbase\N1qlQuery', 'readonly'=>'bool'], +'Couchbase\N1qlQuery::scanCap' => ['Couchbase\N1qlQuery', 'scanCap'=>'int'], +'Couchbase\NumericRangeSearchFacet::__construct' => ['void'], +'Couchbase\NumericRangeSearchFacet::addRange' => ['Couchbase\NumericRangeSearchFacet', 'name'=>'string', 'min'=>'float', 'max'=>'float'], +'Couchbase\NumericRangeSearchFacet::jsonSerialize' => ['array'], +'Couchbase\NumericRangeSearchQuery::__construct' => ['void'], +'Couchbase\NumericRangeSearchQuery::boost' => ['Couchbase\NumericRangeSearchQuery', 'boost'=>'float'], +'Couchbase\NumericRangeSearchQuery::field' => ['Couchbase\NumericRangeSearchQuery', 'field'=>'string'], +'Couchbase\NumericRangeSearchQuery::jsonSerialize' => ['array'], +'Couchbase\NumericRangeSearchQuery::max' => ['Couchbase\NumericRangeSearchQuery', 'max'=>'float', 'inclusive='=>'bool'], +'Couchbase\NumericRangeSearchQuery::min' => ['Couchbase\NumericRangeSearchQuery', 'min'=>'float', 'inclusive='=>'bool'], +'Couchbase\passthruDecoder' => ['string', 'bytes'=>'string', 'flags'=>'int', 'datatype'=>'int'], +'Couchbase\passthruEncoder' => ['array', 'value'=>'string'], +'Couchbase\PasswordAuthenticator::password' => ['Couchbase\PasswordAuthenticator', 'password'=>'string'], +'Couchbase\PasswordAuthenticator::username' => ['Couchbase\PasswordAuthenticator', 'username'=>'string'], +'Couchbase\PhraseSearchQuery::__construct' => ['void'], +'Couchbase\PhraseSearchQuery::boost' => ['Couchbase\PhraseSearchQuery', 'boost'=>'float'], +'Couchbase\PhraseSearchQuery::field' => ['Couchbase\PhraseSearchQuery', 'field'=>'string'], +'Couchbase\PhraseSearchQuery::jsonSerialize' => ['array'], +'Couchbase\PrefixSearchQuery::__construct' => ['void'], +'Couchbase\PrefixSearchQuery::boost' => ['Couchbase\PrefixSearchQuery', 'boost'=>'float'], +'Couchbase\PrefixSearchQuery::field' => ['Couchbase\PrefixSearchQuery', 'field'=>'string'], +'Couchbase\PrefixSearchQuery::jsonSerialize' => ['array'], +'Couchbase\QueryStringSearchQuery::__construct' => ['void'], +'Couchbase\QueryStringSearchQuery::boost' => ['Couchbase\QueryStringSearchQuery', 'boost'=>'float'], +'Couchbase\QueryStringSearchQuery::jsonSerialize' => ['array'], +'Couchbase\RegexpSearchQuery::__construct' => ['void'], +'Couchbase\RegexpSearchQuery::boost' => ['Couchbase\RegexpSearchQuery', 'boost'=>'float'], +'Couchbase\RegexpSearchQuery::field' => ['Couchbase\RegexpSearchQuery', 'field'=>'string'], +'Couchbase\RegexpSearchQuery::jsonSerialize' => ['array'], +'Couchbase\SearchQuery::__construct' => ['void', 'indexName'=>'string', 'queryPart'=>'Couchbase\SearchQueryPart'], +'Couchbase\SearchQuery::addFacet' => ['Couchbase\SearchQuery', 'name'=>'string', 'facet'=>'Couchbase\SearchFacet'], +'Couchbase\SearchQuery::boolean' => ['Couchbase\BooleanSearchQuery'], +'Couchbase\SearchQuery::booleanField' => ['Couchbase\BooleanFieldSearchQuery', 'value'=>'bool'], +'Couchbase\SearchQuery::conjuncts' => ['Couchbase\ConjunctionSearchQuery', '...queries='=>'array'], +'Couchbase\SearchQuery::consistentWith' => ['Couchbase\SearchQuery', 'state'=>'Couchbase\MutationState'], +'Couchbase\SearchQuery::dateRange' => ['Couchbase\DateRangeSearchQuery'], +'Couchbase\SearchQuery::dateRangeFacet' => ['Couchbase\DateRangeSearchFacet', 'field'=>'string', 'limit'=>'int'], +'Couchbase\SearchQuery::disjuncts' => ['Couchbase\DisjunctionSearchQuery', '...queries='=>'array'], +'Couchbase\SearchQuery::docId' => ['Couchbase\DocIdSearchQuery', '...documentIds='=>'array'], +'Couchbase\SearchQuery::explain' => ['Couchbase\SearchQuery', 'explain'=>'bool'], +'Couchbase\SearchQuery::fields' => ['Couchbase\SearchQuery', '...fields='=>'array'], +'Couchbase\SearchQuery::geoBoundingBox' => ['Couchbase\GeoBoundingBoxSearchQuery', 'topLeftLongitude'=>'float', 'topLeftLatitude'=>'float', 'bottomRightLongitude'=>'float', 'bottomRightLatitude'=>'float'], +'Couchbase\SearchQuery::geoDistance' => ['Couchbase\GeoDistanceSearchQuery', 'longitude'=>'float', 'latitude'=>'float', 'distance'=>'string'], +'Couchbase\SearchQuery::highlight' => ['Couchbase\SearchQuery', 'style'=>'string', '...fields='=>'array'], +'Couchbase\SearchQuery::jsonSerialize' => ['array'], +'Couchbase\SearchQuery::limit' => ['Couchbase\SearchQuery', 'limit'=>'int'], +'Couchbase\SearchQuery::match' => ['Couchbase\MatchSearchQuery', 'match'=>'string'], +'Couchbase\SearchQuery::matchAll' => ['Couchbase\MatchAllSearchQuery'], +'Couchbase\SearchQuery::matchNone' => ['Couchbase\MatchNoneSearchQuery'], +'Couchbase\SearchQuery::matchPhrase' => ['Couchbase\MatchPhraseSearchQuery', '...terms='=>'array'], +'Couchbase\SearchQuery::numericRange' => ['Couchbase\NumericRangeSearchQuery'], +'Couchbase\SearchQuery::numericRangeFacet' => ['Couchbase\NumericRangeSearchFacet', 'field'=>'string', 'limit'=>'int'], +'Couchbase\SearchQuery::prefix' => ['Couchbase\PrefixSearchQuery', 'prefix'=>'string'], +'Couchbase\SearchQuery::queryString' => ['Couchbase\QueryStringSearchQuery', 'queryString'=>'string'], +'Couchbase\SearchQuery::regexp' => ['Couchbase\RegexpSearchQuery', 'regexp'=>'string'], +'Couchbase\SearchQuery::serverSideTimeout' => ['Couchbase\SearchQuery', 'serverSideTimeout'=>'int'], +'Couchbase\SearchQuery::skip' => ['Couchbase\SearchQuery', 'skip'=>'int'], +'Couchbase\SearchQuery::sort' => ['Couchbase\SearchQuery', '...sort='=>'array'], +'Couchbase\SearchQuery::term' => ['Couchbase\TermSearchQuery', 'term'=>'string'], +'Couchbase\SearchQuery::termFacet' => ['Couchbase\TermSearchFacet', 'field'=>'string', 'limit'=>'int'], +'Couchbase\SearchQuery::termRange' => ['Couchbase\TermRangeSearchQuery'], +'Couchbase\SearchQuery::wildcard' => ['Couchbase\WildcardSearchQuery', 'wildcard'=>'string'], +'Couchbase\SearchSort::__construct' => ['void'], +'Couchbase\SearchSort::field' => ['Couchbase\SearchSortField', 'field'=>'string'], +'Couchbase\SearchSort::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], +'Couchbase\SearchSort::id' => ['Couchbase\SearchSortId'], +'Couchbase\SearchSort::score' => ['Couchbase\SearchSortScore'], +'Couchbase\SearchSortField::__construct' => ['void'], +'Couchbase\SearchSortField::descending' => ['Couchbase\SearchSortField', 'descending'=>'bool'], +'Couchbase\SearchSortField::field' => ['Couchbase\SearchSortField', 'field'=>'string'], +'Couchbase\SearchSortField::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], +'Couchbase\SearchSortField::id' => ['Couchbase\SearchSortId'], +'Couchbase\SearchSortField::jsonSerialize' => ['mixed'], +'Couchbase\SearchSortField::missing' => ['', 'missing'=>'string'], +'Couchbase\SearchSortField::mode' => ['', 'mode'=>'string'], +'Couchbase\SearchSortField::score' => ['Couchbase\SearchSortScore'], +'Couchbase\SearchSortField::type' => ['', 'type'=>'string'], +'Couchbase\SearchSortGeoDistance::__construct' => ['void'], +'Couchbase\SearchSortGeoDistance::descending' => ['Couchbase\SearchSortGeoDistance', 'descending'=>'bool'], +'Couchbase\SearchSortGeoDistance::field' => ['Couchbase\SearchSortField', 'field'=>'string'], +'Couchbase\SearchSortGeoDistance::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], +'Couchbase\SearchSortGeoDistance::id' => ['Couchbase\SearchSortId'], +'Couchbase\SearchSortGeoDistance::jsonSerialize' => ['mixed'], +'Couchbase\SearchSortGeoDistance::score' => ['Couchbase\SearchSortScore'], +'Couchbase\SearchSortGeoDistance::unit' => ['Couchbase\SearchSortGeoDistance', 'unit'=>'string'], +'Couchbase\SearchSortId::__construct' => ['void'], +'Couchbase\SearchSortId::descending' => ['Couchbase\SearchSortId', 'descending'=>'bool'], +'Couchbase\SearchSortId::field' => ['Couchbase\SearchSortField', 'field'=>'string'], +'Couchbase\SearchSortId::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], +'Couchbase\SearchSortId::id' => ['Couchbase\SearchSortId'], +'Couchbase\SearchSortId::jsonSerialize' => ['mixed'], +'Couchbase\SearchSortId::score' => ['Couchbase\SearchSortScore'], +'Couchbase\SearchSortScore::__construct' => ['void'], +'Couchbase\SearchSortScore::descending' => ['Couchbase\SearchSortScore', 'descending'=>'bool'], +'Couchbase\SearchSortScore::field' => ['Couchbase\SearchSortField', 'field'=>'string'], +'Couchbase\SearchSortScore::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], +'Couchbase\SearchSortScore::id' => ['Couchbase\SearchSortId'], +'Couchbase\SearchSortScore::jsonSerialize' => ['mixed'], +'Couchbase\SearchSortScore::score' => ['Couchbase\SearchSortScore'], +'Couchbase\SpatialViewQuery::__construct' => ['void'], +'Couchbase\SpatialViewQuery::bbox' => ['Couchbase\SpatialViewQuery', 'bbox'=>'array'], +'Couchbase\SpatialViewQuery::consistency' => ['Couchbase\SpatialViewQuery', 'consistency'=>'int'], +'Couchbase\SpatialViewQuery::custom' => ['', 'customParameters'=>'array'], +'Couchbase\SpatialViewQuery::encode' => ['array'], +'Couchbase\SpatialViewQuery::endRange' => ['Couchbase\SpatialViewQuery', 'range'=>'array'], +'Couchbase\SpatialViewQuery::limit' => ['Couchbase\SpatialViewQuery', 'limit'=>'int'], +'Couchbase\SpatialViewQuery::order' => ['Couchbase\SpatialViewQuery', 'order'=>'int'], +'Couchbase\SpatialViewQuery::skip' => ['Couchbase\SpatialViewQuery', 'skip'=>'int'], +'Couchbase\SpatialViewQuery::startRange' => ['Couchbase\SpatialViewQuery', 'range'=>'array'], +'Couchbase\TermRangeSearchQuery::__construct' => ['void'], +'Couchbase\TermRangeSearchQuery::boost' => ['Couchbase\TermRangeSearchQuery', 'boost'=>'float'], +'Couchbase\TermRangeSearchQuery::field' => ['Couchbase\TermRangeSearchQuery', 'field'=>'string'], +'Couchbase\TermRangeSearchQuery::jsonSerialize' => ['array'], +'Couchbase\TermRangeSearchQuery::max' => ['Couchbase\TermRangeSearchQuery', 'max'=>'string', 'inclusive='=>'bool'], +'Couchbase\TermRangeSearchQuery::min' => ['Couchbase\TermRangeSearchQuery', 'min'=>'string', 'inclusive='=>'bool'], +'Couchbase\TermSearchFacet::__construct' => ['void'], +'Couchbase\TermSearchFacet::jsonSerialize' => ['array'], +'Couchbase\TermSearchQuery::__construct' => ['void'], +'Couchbase\TermSearchQuery::boost' => ['Couchbase\TermSearchQuery', 'boost'=>'float'], +'Couchbase\TermSearchQuery::field' => ['Couchbase\TermSearchQuery', 'field'=>'string'], +'Couchbase\TermSearchQuery::fuzziness' => ['Couchbase\TermSearchQuery', 'fuzziness'=>'int'], +'Couchbase\TermSearchQuery::jsonSerialize' => ['array'], +'Couchbase\TermSearchQuery::prefixLength' => ['Couchbase\TermSearchQuery', 'prefixLength'=>'int'], +'Couchbase\UserSettings::fullName' => ['Couchbase\UserSettings', 'fullName'=>'string'], +'Couchbase\UserSettings::password' => ['Couchbase\UserSettings', 'password'=>'string'], +'Couchbase\UserSettings::role' => ['Couchbase\UserSettings', 'role'=>'string', 'bucket='=>'string'], +'Couchbase\ViewQuery::__construct' => ['void'], +'Couchbase\ViewQuery::consistency' => ['Couchbase\ViewQuery', 'consistency'=>'int'], +'Couchbase\ViewQuery::custom' => ['Couchbase\ViewQuery', 'customParameters'=>'array'], +'Couchbase\ViewQuery::encode' => ['array'], +'Couchbase\ViewQuery::from' => ['Couchbase\ViewQuery', 'designDocumentName'=>'string', 'viewName'=>'string'], +'Couchbase\ViewQuery::fromSpatial' => ['Couchbase\SpatialViewQuery', 'designDocumentName'=>'string', 'viewName'=>'string'], +'Couchbase\ViewQuery::group' => ['Couchbase\ViewQuery', 'group'=>'bool'], +'Couchbase\ViewQuery::groupLevel' => ['Couchbase\ViewQuery', 'groupLevel'=>'int'], +'Couchbase\ViewQuery::idRange' => ['Couchbase\ViewQuery', 'startKeyDocumentId'=>'string', 'endKeyDocumentId'=>'string'], +'Couchbase\ViewQuery::key' => ['Couchbase\ViewQuery', 'key'=>'mixed'], +'Couchbase\ViewQuery::keys' => ['Couchbase\ViewQuery', 'keys'=>'array'], +'Couchbase\ViewQuery::limit' => ['Couchbase\ViewQuery', 'limit'=>'int'], +'Couchbase\ViewQuery::order' => ['Couchbase\ViewQuery', 'order'=>'int'], +'Couchbase\ViewQuery::range' => ['Couchbase\ViewQuery', 'startKey'=>'mixed', 'endKey'=>'mixed', 'inclusiveEnd='=>'bool'], +'Couchbase\ViewQuery::reduce' => ['Couchbase\ViewQuery', 'reduce'=>'bool'], +'Couchbase\ViewQuery::skip' => ['Couchbase\ViewQuery', 'skip'=>'int'], +'Couchbase\ViewQueryEncodable::encode' => ['array'], +'Couchbase\WildcardSearchQuery::__construct' => ['void'], +'Couchbase\WildcardSearchQuery::boost' => ['Couchbase\WildcardSearchQuery', 'boost'=>'float'], +'Couchbase\WildcardSearchQuery::field' => ['Couchbase\WildcardSearchQuery', 'field'=>'string'], +'Couchbase\WildcardSearchQuery::jsonSerialize' => ['array'], +'Couchbase\zlibCompress' => ['string', 'data'=>'string'], +'Couchbase\zlibDecompress' => ['string', 'data'=>'string'], +'count' => ['int<0, max>', 'value'=>'Countable|array', 'mode='=>'int'], +'count_chars' => ['array', 'input'=>'string', 'mode='=>'0|1|2'], +'count_chars\'1' => ['string', 'input'=>'string', 'mode='=>'3|4'], +'Countable::count' => ['int'], +'crack_check' => ['bool', 'dictionary'=>'', 'password'=>'string'], +'crack_closedict' => ['bool', 'dictionary='=>'resource'], +'crack_getlastmessage' => ['string'], +'crack_opendict' => ['resource|false', 'dictionary'=>'string'], +'crash' => [''], +'crc32' => ['int', 'string'=>'string'], +'crypt' => ['string', 'string'=>'string', 'salt'=>'string'], +'ctype_alnum' => ['bool', 'text'=>'string|int'], +'ctype_alpha' => ['bool', 'text'=>'string|int'], +'ctype_cntrl' => ['bool', 'text'=>'string|int'], +'ctype_digit' => ['bool', 'text'=>'string|int'], +'ctype_graph' => ['bool', 'text'=>'string|int'], +'ctype_lower' => ['bool', 'text'=>'string|int'], +'ctype_print' => ['bool', 'text'=>'string|int'], +'ctype_punct' => ['bool', 'text'=>'string|int'], +'ctype_space' => ['bool', 'text'=>'string|int'], +'ctype_upper' => ['bool', 'text'=>'string|int'], +'ctype_xdigit' => ['bool', 'text'=>'string|int'], +'cubrid_affected_rows' => ['int', 'req_identifier='=>''], +'cubrid_bind' => ['bool', 'req_identifier'=>'resource', 'bind_param'=>'int', 'bind_value'=>'mixed', 'bind_value_type='=>'string'], +'cubrid_client_encoding' => ['string', 'conn_identifier='=>''], +'cubrid_close' => ['bool', 'conn_identifier='=>''], +'cubrid_close_prepare' => ['bool', 'req_identifier'=>'resource'], +'cubrid_close_request' => ['bool', 'req_identifier'=>'resource'], +'cubrid_col_get' => ['array', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string'], +'cubrid_col_size' => ['int', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string'], +'cubrid_column_names' => ['array', 'req_identifier'=>'resource'], +'cubrid_column_types' => ['array', 'req_identifier'=>'resource'], +'cubrid_commit' => ['bool', 'conn_identifier'=>'resource'], +'cubrid_connect' => ['resource', 'host'=>'string', 'port'=>'int', 'dbname'=>'string', 'userid='=>'string', 'passwd='=>'string'], +'cubrid_connect_with_url' => ['resource', 'conn_url'=>'string', 'userid='=>'string', 'passwd='=>'string'], +'cubrid_current_oid' => ['string', 'req_identifier'=>'resource'], +'cubrid_data_seek' => ['bool', 'req_identifier'=>'', 'row_number'=>'int'], +'cubrid_db_name' => ['string', 'result'=>'array', 'index'=>'int'], +'cubrid_db_parameter' => ['array', 'conn_identifier'=>'resource'], +'cubrid_disconnect' => ['bool', 'conn_identifier'=>'resource'], +'cubrid_drop' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string'], +'cubrid_errno' => ['int', 'conn_identifier='=>''], +'cubrid_error' => ['string', 'connection='=>''], +'cubrid_error_code' => ['int'], +'cubrid_error_code_facility' => ['int'], +'cubrid_error_msg' => ['string'], +'cubrid_execute' => ['bool', 'conn_identifier'=>'', 'sql'=>'string', 'option='=>'int', 'request_identifier='=>''], +'cubrid_fetch' => ['mixed', 'result'=>'resource', 'type='=>'int'], +'cubrid_fetch_array' => ['array', 'result'=>'resource', 'type='=>'int'], +'cubrid_fetch_assoc' => ['array', 'result'=>'resource'], +'cubrid_fetch_field' => ['object', 'result'=>'resource', 'field_offset='=>'int'], +'cubrid_fetch_lengths' => ['array', 'result'=>'resource'], +'cubrid_fetch_object' => ['object', 'result'=>'resource', 'class_name='=>'string', 'params='=>'array'], +'cubrid_fetch_row' => ['array', 'result'=>'resource'], +'cubrid_field_flags' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'cubrid_field_len' => ['int', 'result'=>'resource', 'field_offset'=>'int'], +'cubrid_field_name' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'cubrid_field_seek' => ['bool', 'result'=>'resource', 'field_offset='=>'int'], +'cubrid_field_table' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'cubrid_field_type' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'cubrid_free_result' => ['bool', 'req_identifier'=>'resource'], +'cubrid_get' => ['mixed', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr='=>'mixed'], +'cubrid_get_autocommit' => ['bool', 'conn_identifier'=>'resource'], +'cubrid_get_charset' => ['string', 'conn_identifier'=>'resource'], +'cubrid_get_class_name' => ['string', 'conn_identifier'=>'resource', 'oid'=>'string'], +'cubrid_get_client_info' => ['string'], +'cubrid_get_db_parameter' => ['array', 'conn_identifier'=>'resource'], +'cubrid_get_query_timeout' => ['int', 'req_identifier'=>'resource'], +'cubrid_get_server_info' => ['string', 'conn_identifier'=>'resource'], +'cubrid_insert_id' => ['string', 'conn_identifier='=>'resource'], +'cubrid_is_instance' => ['int', 'conn_identifier'=>'resource', 'oid'=>'string'], +'cubrid_list_dbs' => ['array', 'conn_identifier'=>'resource'], +'cubrid_load_from_glo' => ['int', 'conn_identifier'=>'', 'oid'=>'string', 'file_name'=>'string'], +'cubrid_lob2_bind' => ['bool', 'req_identifier'=>'resource', 'bind_index'=>'int', 'bind_value'=>'mixed', 'bind_value_type='=>'string'], +'cubrid_lob2_close' => ['bool', 'lob_identifier'=>'resource'], +'cubrid_lob2_export' => ['bool', 'lob_identifier'=>'resource', 'file_name'=>'string'], +'cubrid_lob2_import' => ['bool', 'lob_identifier'=>'resource', 'file_name'=>'string'], +'cubrid_lob2_new' => ['resource', 'conn_identifier='=>'resource', 'type='=>'string'], +'cubrid_lob2_read' => ['string', 'lob_identifier'=>'resource', 'length'=>'int'], +'cubrid_lob2_seek' => ['bool', 'lob_identifier'=>'resource', 'offset'=>'int', 'origin='=>'int'], +'cubrid_lob2_seek64' => ['bool', 'lob_identifier'=>'resource', 'offset'=>'string', 'origin='=>'int'], +'cubrid_lob2_size' => ['int', 'lob_identifier'=>'resource'], +'cubrid_lob2_size64' => ['string', 'lob_identifier'=>'resource'], +'cubrid_lob2_tell' => ['int', 'lob_identifier'=>'resource'], +'cubrid_lob2_tell64' => ['string', 'lob_identifier'=>'resource'], +'cubrid_lob2_write' => ['bool', 'lob_identifier'=>'resource', 'buf'=>'string'], +'cubrid_lob_close' => ['bool', 'lob_identifier_array'=>'array'], +'cubrid_lob_export' => ['bool', 'conn_identifier'=>'resource', 'lob_identifier'=>'resource', 'path_name'=>'string'], +'cubrid_lob_get' => ['array', 'conn_identifier'=>'resource', 'sql'=>'string'], +'cubrid_lob_send' => ['bool', 'conn_identifier'=>'resource', 'lob_identifier'=>'resource'], +'cubrid_lob_size' => ['string', 'lob_identifier'=>'resource'], +'cubrid_lock_read' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string'], +'cubrid_lock_write' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string'], +'cubrid_move_cursor' => ['int', 'req_identifier'=>'resource', 'offset'=>'int', 'origin='=>'int'], +'cubrid_new_glo' => ['string', 'conn_identifier'=>'', 'class_name'=>'string', 'file_name'=>'string'], +'cubrid_next_result' => ['bool', 'result'=>'resource'], +'cubrid_num_cols' => ['int', 'req_identifier'=>'resource'], +'cubrid_num_fields' => ['int', 'result'=>'resource'], +'cubrid_num_rows' => ['int', 'req_identifier'=>'resource'], +'cubrid_pconnect' => ['resource', 'host'=>'string', 'port'=>'int', 'dbname'=>'string', 'userid='=>'string', 'passwd='=>'string'], +'cubrid_pconnect_with_url' => ['resource', 'conn_url'=>'string', 'userid='=>'string', 'passwd='=>'string'], +'cubrid_ping' => ['bool', 'conn_identifier='=>''], +'cubrid_prepare' => ['resource', 'conn_identifier'=>'resource', 'prepare_stmt'=>'string', 'option='=>'int'], +'cubrid_put' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr='=>'string', 'value='=>'mixed'], +'cubrid_query' => ['resource', 'query'=>'string', 'conn_identifier='=>''], +'cubrid_real_escape_string' => ['string', 'unescaped_string'=>'string', 'conn_identifier='=>''], +'cubrid_result' => ['string', 'result'=>'resource', 'row'=>'int', 'field='=>''], +'cubrid_rollback' => ['bool', 'conn_identifier'=>'resource'], +'cubrid_save_to_glo' => ['int', 'conn_identifier'=>'', 'oid'=>'string', 'file_name'=>'string'], +'cubrid_schema' => ['array', 'conn_identifier'=>'resource', 'schema_type'=>'int', 'class_name='=>'string', 'attr_name='=>'string'], +'cubrid_send_glo' => ['int', 'conn_identifier'=>'', 'oid'=>'string'], +'cubrid_seq_add' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'seq_element'=>'string'], +'cubrid_seq_drop' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'index'=>'int'], +'cubrid_seq_insert' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'index'=>'int', 'seq_element'=>'string'], +'cubrid_seq_put' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'index'=>'int', 'seq_element'=>'string'], +'cubrid_set_add' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'set_element'=>'string'], +'cubrid_set_autocommit' => ['bool', 'conn_identifier'=>'resource', 'mode'=>'bool'], +'cubrid_set_db_parameter' => ['bool', 'conn_identifier'=>'resource', 'param_type'=>'int', 'param_value'=>'int'], +'cubrid_set_drop' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'set_element'=>'string'], +'cubrid_set_query_timeout' => ['bool', 'req_identifier'=>'resource', 'timeout'=>'int'], +'cubrid_unbuffered_query' => ['resource', 'query'=>'string', 'conn_identifier='=>''], +'cubrid_version' => ['string'], +'curl_close' => ['void', 'handle'=>'CurlHandle'], +'curl_copy_handle' => ['CurlHandle', 'handle'=>'CurlHandle'], +'curl_errno' => ['int', 'handle'=>'CurlHandle'], +'curl_error' => ['string', 'handle'=>'CurlHandle'], +'curl_escape' => ['string|false', 'handle'=>'CurlHandle', 'string'=>'string'], +'curl_exec' => ['bool|string', 'handle'=>'CurlHandle'], +'curl_file_create' => ['CURLFile', 'filename'=>'string', 'mime_type='=>'string|null', 'posted_filename='=>'string|null'], +'curl_getinfo' => ['mixed', 'handle'=>'CurlHandle', 'option='=>'?int'], +'curl_init' => ['CurlHandle|false', 'url='=>'?string'], +'curl_multi_add_handle' => ['int', 'multi_handle'=>'CurlMultiHandle', 'handle'=>'CurlHandle'], +'curl_multi_close' => ['void', 'multi_handle'=>'CurlMultiHandle'], +'curl_multi_errno' => ['int', 'multi_handle'=>'CurlMultiHandle'], +'curl_multi_exec' => ['int', 'multi_handle'=>'CurlMultiHandle', '&w_still_running'=>'int'], +'curl_multi_getcontent' => ['string', 'handle'=>'CurlHandle'], +'curl_multi_info_read' => ['array|false', 'multi_handle'=>'CurlMultiHandle', '&w_queued_messages='=>'int'], +'curl_multi_init' => ['CurlMultiHandle'], +'curl_multi_remove_handle' => ['int', 'multi_handle'=>'CurlMultiHandle', 'handle'=>'CurlHandle'], +'curl_multi_select' => ['int', 'multi_handle'=>'CurlMultiHandle', 'timeout='=>'float'], +'curl_multi_setopt' => ['bool', 'multi_handle'=>'CurlMultiHandle', 'option'=>'int', 'value'=>'mixed'], +'curl_multi_strerror' => ['?string', 'error_code'=>'int'], +'curl_pause' => ['int', 'handle'=>'CurlHandle', 'flags'=>'int'], +'curl_reset' => ['void', 'handle'=>'CurlHandle'], +'curl_setopt' => ['bool', 'handle'=>'CurlHandle', 'option'=>'int', 'value'=>'callable|mixed'], +'curl_setopt_array' => ['bool', 'handle'=>'CurlHandle', 'options'=>'array'], +'curl_share_close' => ['void', 'share_handle'=>'CurlShareHandle'], +'curl_share_errno' => ['int', 'share_handle'=>'CurlShareHandle'], +'curl_share_init' => ['CurlShareHandle'], +'curl_share_setopt' => ['bool', 'share_handle'=>'CurlShareHandle', 'option'=>'int', 'value'=>'mixed'], +'curl_share_strerror' => ['?string', 'error_code'=>'int'], +'curl_strerror' => ['?string', 'error_code'=>'int'], +'curl_upkeep' => ['bool', 'handle'=>'CurlHandle'], +'curl_unescape' => ['string|false', 'handle'=>'CurlHandle', 'string'=>'string'], +'curl_version' => ['array', 'version='=>'int'], +'CURLFile::__construct' => ['void', 'filename'=>'string', 'mimetype='=>'string', 'postfilename='=>'string'], +'CURLFile::__wakeup' => ['void'], +'CURLFile::getFilename' => ['string'], +'CURLFile::getMimeType' => ['string'], +'CURLFile::getPostFilename' => ['string'], +'CURLFile::setMimeType' => ['void', 'mime'=>'string'], +'CURLFile::setPostFilename' => ['void', 'name'=>'string'], +'CURLStringFile::__construct' => ['void', 'data'=>'string', 'postname'=>'string', 'mime='=>'string'], +'current' => ['mixed|false', 'array'=>'array|object'], +'cyrus_authenticate' => ['void', 'connection'=>'resource', 'mechlist='=>'string', 'service='=>'string', 'user='=>'string', 'minssf='=>'int', 'maxssf='=>'int', 'authname='=>'string', 'password='=>'string'], +'cyrus_bind' => ['bool', 'connection'=>'resource', 'callbacks'=>'array'], +'cyrus_close' => ['bool', 'connection'=>'resource'], +'cyrus_connect' => ['resource', 'host='=>'string', 'port='=>'string', 'flags='=>'int'], +'cyrus_query' => ['array', 'connection'=>'resource', 'query'=>'string'], +'cyrus_unbind' => ['bool', 'connection'=>'resource', 'trigger_name'=>'string'], +'date' => ['string', 'format'=>'string', 'timestamp='=>'?int'], +'date_add' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], +'date_create' => ['DateTime|false', 'datetime='=>'string', 'timezone='=>'?DateTimeZone'], +'date_create_from_format' => ['DateTime|false', 'format'=>'string', 'datetime'=>'string', 'timezone='=>'?\DateTimeZone'], +'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_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,error_count:int,errors:array}|false'], +'date_interval_create_from_date_string' => ['DateInterval', 'datetime'=>'string'], +'date_interval_format' => ['string', 'object'=>'DateInterval', 'format'=>'string'], +'date_isodate_set' => ['DateTime|false', 'object'=>'DateTime', 'year'=>'int', 'week'=>'int', 'dayOfWeek='=>'int|mixed'], +'date_modify' => ['DateTime|false', 'object'=>'DateTime', 'modifier'=>'string'], +'date_offset_get' => ['int', 'object'=>'DateTimeInterface'], +'date_parse' => ['array', 'datetime'=>'string'], +'date_parse_from_format' => ['array', 'format'=>'string', 'datetime'=>'string'], +'date_sub' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], +'date_sun_info' => ['array', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], +'date_sunrise' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'?float', 'longitude='=>'?float', 'zenith='=>'?float', 'utcOffset='=>'?float'], +'date_sunset' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'?float', 'longitude='=>'?float', 'zenith='=>'?float', 'utcOffset='=>'?float'], +'date_time_set' => ['DateTime', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], +'date_timestamp_get' => ['int', 'object'=>'DateTimeInterface'], +'date_timestamp_set' => ['DateTime', 'object'=>'DateTime', 'timestamp'=>'int'], +'date_timezone_get' => ['DateTimeZone|false', 'object'=>'DateTimeInterface'], +'date_timezone_set' => ['DateTime', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], +'datefmt_create' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], +'datefmt_format' => ['string|false', 'formatter'=>'IntlDateFormatter', 'datetime'=>'DateTime|IntlCalendar|array|int'], +'datefmt_format_object' => ['string|false', 'datetime'=>'object', 'format='=>'mixed', 'locale='=>'?string'], +'datefmt_get_calendar' => ['int', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_calendar_object' => ['IntlCalendar|false|null', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_datetype' => ['int', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_error_code' => ['int', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_error_message' => ['string', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_locale' => ['string|false', 'formatter'=>'IntlDateFormatter', 'type='=>'int'], +'datefmt_get_pattern' => ['string', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_timetype' => ['int', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_timezone' => ['IntlTimeZone|false', 'formatter'=>'IntlDateFormatter'], +'datefmt_get_timezone_id' => ['string|false', 'formatter'=>'IntlDateFormatter'], +'datefmt_is_lenient' => ['bool', 'formatter'=>'IntlDateFormatter'], +'datefmt_localtime' => ['array|false', 'formatter'=>'IntlDateFormatter', 'string'=>'string', '&rw_offset='=>'int'], +'datefmt_parse' => ['int|false', 'formatter'=>'IntlDateFormatter', 'string'=>'string', '&rw_offset='=>'int'], +'datefmt_set_calendar' => ['bool', 'formatter'=>'IntlDateFormatter', 'calendar'=>'IntlCalendar|int|null'], +'datefmt_set_lenient' => ['void', 'formatter'=>'IntlDateFormatter', 'lenient'=>'bool'], +'datefmt_set_pattern' => ['bool', 'formatter'=>'IntlDateFormatter', 'pattern'=>'string'], +'datefmt_set_timezone' => ['false|null', 'formatter'=>'IntlDateFormatter', 'timezone'=>'IntlTimeZone|DateTimeZone|string|null'], +'DateInterval::__construct' => ['void', 'spec'=>'string'], +'DateInterval::__set_state' => ['DateInterval', 'array'=>'array'], +'DateInterval::__wakeup' => ['void'], +'DateInterval::createFromDateString' => ['DateInterval|false', 'time'=>'string'], +'DateInterval::format' => ['string', 'format'=>'string'], +'DatePeriod::__construct' => ['void', 'start'=>'DateTimeInterface', 'interval'=>'DateInterval', 'recur'=>'int', 'options='=>'int'], +'DatePeriod::__construct\'1' => ['void', 'start'=>'DateTimeInterface', 'interval'=>'DateInterval', 'end'=>'DateTimeInterface', 'options='=>'int'], +'DatePeriod::__construct\'2' => ['void', 'iso'=>'string', 'options='=>'int'], +'DatePeriod::__wakeup' => ['void'], +'DatePeriod::getDateInterval' => ['DateInterval'], +'DatePeriod::getEndDate' => ['?DateTimeInterface'], +'DatePeriod::getStartDate' => ['DateTimeInterface'], +'DateTime::__construct' => ['void', 'time='=>'string'], +'DateTime::__construct\'1' => ['void', 'time'=>'?string', 'timezone'=>'?DateTimeZone'], +'DateTime::__wakeup' => ['void'], +'DateTime::add' => ['static', 'interval'=>'DateInterval'], +'DateTime::createFromFormat' => ['static|false', 'format'=>'string', 'time'=>'string', 'timezone='=>'?DateTimeZone'], +'DateTime::createFromImmutable' => ['static', 'object'=>'DateTimeImmutable'], +'DateTime::createFromInterface' => ['static', 'object' => 'DateTimeInterface'], +'DateTime::diff' => ['DateInterval', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], +'DateTime::format' => ['string', 'format'=>'string'], +'DateTime::getLastErrors' => ['array{warning_count:int,warnings:array,error_count:int,errors:array}|false'], +'DateTime::getOffset' => ['int'], +'DateTime::getTimestamp' => ['int'], +'DateTime::getTimezone' => ['DateTimeZone|false'], +'DateTime::modify' => ['static|false', 'modify'=>'string'], +'DateTime::setDate' => ['static', 'year'=>'int', 'month'=>'int', 'day'=>'int'], +'DateTime::setISODate' => ['static', 'year'=>'int', 'week'=>'int', 'day='=>'int'], +'DateTime::setTime' => ['static', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], +'DateTime::setTimestamp' => ['static', 'unixtimestamp'=>'int'], +'DateTime::setTimezone' => ['static', 'timezone'=>'DateTimeZone'], +'DateTime::sub' => ['static', 'interval'=>'DateInterval'], +'DateTimeImmutable::__wakeup' => ['void'], +'DateTimeImmutable::createFromInterface' => ['static', 'object' => 'DateTimeInterface'], +'DateTimeImmutable::getLastErrors' => ['array{warning_count:int,warnings:array,error_count:int,errors:array}|false'], +'DateTimeInterface::diff' => ['DateInterval', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], +'DateTimeInterface::format' => ['string', 'format'=>'string'], +'DateTimeInterface::getOffset' => ['int'], +'DateTimeInterface::getTimestamp' => ['int'], +'DateTimeInterface::getTimezone' => ['DateTimeZone|false'], +'DateTimeInterface::__serialize' => ['array'], +'DateTimeInterface::__unserialize' => ['void', 'data'=>'array'], +'DateTimeZone::__construct' => ['void', 'timezone'=>'string'], +'DateTimeZone::__set_state' => ['DateTimeZone', 'array'=>'array'], +'DateTimeZone::__wakeup' => ['void'], +'DateTimeZone::getLocation' => ['array|false'], +'DateTimeZone::getName' => ['string'], +'DateTimeZone::getOffset' => ['int', 'datetime'=>'DateTimeInterface'], +'DateTimeZone::getTransitions' => ['list|false', 'timestamp_begin='=>'int', 'timestamp_end='=>'int'], +'DateTimeZone::listAbbreviations' => ['array>'], +'DateTimeZone::listIdentifiers' => ['list', 'timezoneGroup='=>'int', 'countryCode='=>'string|null'], +'db2_autocommit' => ['mixed', 'connection'=>'resource', 'value='=>'int'], +'db2_bind_param' => ['bool', 'stmt'=>'resource', 'parameter_number'=>'int', 'variable_name'=>'string', 'parameter_type='=>'int', 'data_type='=>'int', 'precision='=>'int', 'scale='=>'int'], +'db2_client_info' => ['object|false', 'connection'=>'resource'], +'db2_close' => ['bool', 'connection'=>'resource'], +'db2_column_privileges' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string', 'column_name='=>'string'], +'db2_columns' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string', 'column_name='=>'string'], +'db2_commit' => ['bool', 'connection'=>'resource'], +'db2_conn_error' => ['string', 'connection='=>'resource'], +'db2_conn_errormsg' => ['string', 'connection='=>'resource'], +'db2_connect' => ['resource|false', 'database'=>'string', 'username'=>'string', 'password'=>'string', 'options='=>'array'], +'db2_cursor_type' => ['int', 'stmt'=>'resource'], +'db2_escape_string' => ['string', 'string_literal'=>'string'], +'db2_exec' => ['resource|false', 'connection'=>'resource', 'statement'=>'string', 'options='=>'array'], +'db2_execute' => ['bool', 'stmt'=>'resource', 'parameters='=>'array'], +'db2_fetch_array' => ['array|false', 'stmt'=>'resource', 'row_number='=>'int'], +'db2_fetch_assoc' => ['array|false', 'stmt'=>'resource', 'row_number='=>'int'], +'db2_fetch_both' => ['array|false', 'stmt'=>'resource', 'row_number='=>'int'], +'db2_fetch_object' => ['object|false', 'stmt'=>'resource', 'row_number='=>'int'], +'db2_fetch_row' => ['bool', 'stmt'=>'resource', 'row_number='=>'int'], +'db2_field_display_size' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_field_name' => ['string|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_field_num' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_field_precision' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_field_scale' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_field_type' => ['string|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_field_width' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_foreign_keys' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string'], +'db2_free_result' => ['bool', 'stmt'=>'resource'], +'db2_free_stmt' => ['bool', 'stmt'=>'resource'], +'db2_get_option' => ['string|false', 'resource'=>'resource', 'option'=>'string'], +'db2_last_insert_id' => ['string', 'resource'=>'resource'], +'db2_lob_read' => ['string|false', 'stmt'=>'resource', 'colnum'=>'int', 'length'=>'int'], +'db2_next_result' => ['resource|false', 'stmt'=>'resource'], +'db2_num_fields' => ['int|false', 'stmt'=>'resource'], +'db2_num_rows' => ['int', 'stmt'=>'resource'], +'db2_pclose' => ['bool', 'resource'=>'resource'], +'db2_pconnect' => ['resource|false', 'database'=>'string', 'username'=>'string', 'password'=>'string', 'options='=>'array'], +'db2_prepare' => ['resource|false', 'connection'=>'resource', 'statement'=>'string', 'options='=>'array'], +'db2_primary_keys' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string'], +'db2_primarykeys' => [''], +'db2_procedure_columns' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'procedure'=>'string', 'parameter'=>'string'], +'db2_procedurecolumns' => [''], +'db2_procedures' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'procedure'=>'string'], +'db2_result' => ['mixed', 'stmt'=>'resource', 'column'=>'mixed'], +'db2_rollback' => ['bool', 'connection'=>'resource'], +'db2_server_info' => ['object|false', 'connection'=>'resource'], +'db2_set_option' => ['bool', 'resource'=>'resource', 'options'=>'array', 'type'=>'int'], +'db2_setoption' => [''], +'db2_special_columns' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string', 'scope'=>'int'], +'db2_specialcolumns' => [''], +'db2_statistics' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string', 'unique'=>'bool'], +'db2_stmt_error' => ['string', 'stmt='=>'resource'], +'db2_stmt_errormsg' => ['string', 'stmt='=>'resource'], +'db2_table_privileges' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string'], +'db2_tableprivileges' => [''], +'db2_tables' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string', 'table_type='=>'string'], +'dba_close' => ['void', 'dba'=>'resource'], +'dba_delete' => ['bool', 'key'=>'string', 'dba'=>'resource'], +'dba_exists' => ['bool', 'key'=>'string', 'dba'=>'resource'], +'dba_fetch' => ['string|false', 'key'=>'string', 'skip'=>'int', 'dba'=>'resource'], +'dba_fetch\'1' => ['string|false', 'key'=>'string', 'skip'=>'resource'], +'dba_firstkey' => ['string', 'dba'=>'resource'], +'dba_handlers' => ['array', 'full_info='=>'bool'], +'dba_insert' => ['bool', 'key'=>'string', 'value'=>'string', 'dba'=>'resource'], +'dba_key_split' => ['array|false', 'key'=>'string|false|null'], +'dba_list' => ['array'], +'dba_nextkey' => ['string', 'dba'=>'resource'], +'dba_open' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'?string', 'permission='=>'int', 'map_size='=>'int', 'flags='=>'?int'], +'dba_optimize' => ['bool', 'dba'=>'resource'], +'dba_popen' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'?string', 'permission='=>'int', 'map_size='=>'int', 'flags='=>'?int'], +'dba_replace' => ['bool', 'key'=>'string', 'value'=>'string', 'dba'=>'resource'], +'dba_sync' => ['bool', 'dba'=>'resource'], +'dbase_add_record' => ['bool', 'dbase_identifier'=>'resource', 'record'=>'array'], +'dbase_close' => ['bool', 'dbase_identifier'=>'resource'], +'dbase_create' => ['resource|false', 'filename'=>'string', 'fields'=>'array'], +'dbase_delete_record' => ['bool', 'dbase_identifier'=>'resource', 'record_number'=>'int'], +'dbase_get_header_info' => ['array', 'dbase_identifier'=>'resource'], +'dbase_get_record' => ['array', 'dbase_identifier'=>'resource', 'record_number'=>'int'], +'dbase_get_record_with_names' => ['array', 'dbase_identifier'=>'resource', 'record_number'=>'int'], +'dbase_numfields' => ['int', 'dbase_identifier'=>'resource'], +'dbase_numrecords' => ['int', 'dbase_identifier'=>'resource'], +'dbase_open' => ['resource|false', 'filename'=>'string', 'mode'=>'int'], +'dbase_pack' => ['bool', 'dbase_identifier'=>'resource'], +'dbase_replace_record' => ['bool', 'dbase_identifier'=>'resource', 'record'=>'array', 'record_number'=>'int'], +'dbplus_add' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_aql' => ['resource', 'query'=>'string', 'server='=>'string', 'dbpath='=>'string'], +'dbplus_chdir' => ['string', 'newdir='=>'string'], +'dbplus_close' => ['mixed', 'relation'=>'resource'], +'dbplus_curr' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_errcode' => ['string', 'errno='=>'int'], +'dbplus_errno' => ['int'], +'dbplus_find' => ['int', 'relation'=>'resource', 'constraints'=>'array', 'tuple'=>'mixed'], +'dbplus_first' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_flush' => ['int', 'relation'=>'resource'], +'dbplus_freealllocks' => ['int'], +'dbplus_freelock' => ['int', 'relation'=>'resource', 'tuple'=>'string'], +'dbplus_freerlocks' => ['int', 'relation'=>'resource'], +'dbplus_getlock' => ['int', 'relation'=>'resource', 'tuple'=>'string'], +'dbplus_getunique' => ['int', 'relation'=>'resource', 'uniqueid'=>'int'], +'dbplus_info' => ['int', 'relation'=>'resource', 'key'=>'string', 'result'=>'array'], +'dbplus_last' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_lockrel' => ['int', 'relation'=>'resource'], +'dbplus_next' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_open' => ['resource', 'name'=>'string'], +'dbplus_prev' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_rchperm' => ['int', 'relation'=>'resource', 'mask'=>'int', 'user'=>'string', 'group'=>'string'], +'dbplus_rcreate' => ['resource', 'name'=>'string', 'domlist'=>'mixed', 'overwrite='=>'bool'], +'dbplus_rcrtexact' => ['mixed', 'name'=>'string', 'relation'=>'resource', 'overwrite='=>'bool'], +'dbplus_rcrtlike' => ['mixed', 'name'=>'string', 'relation'=>'resource', 'overwrite='=>'int'], +'dbplus_resolve' => ['array', 'relation_name'=>'string'], +'dbplus_restorepos' => ['int', 'relation'=>'resource', 'tuple'=>'array'], +'dbplus_rkeys' => ['mixed', 'relation'=>'resource', 'domlist'=>'mixed'], +'dbplus_ropen' => ['resource', 'name'=>'string'], +'dbplus_rquery' => ['resource', 'query'=>'string', 'dbpath='=>'string'], +'dbplus_rrename' => ['int', 'relation'=>'resource', 'name'=>'string'], +'dbplus_rsecindex' => ['mixed', 'relation'=>'resource', 'domlist'=>'mixed', 'type'=>'int'], +'dbplus_runlink' => ['int', 'relation'=>'resource'], +'dbplus_rzap' => ['int', 'relation'=>'resource'], +'dbplus_savepos' => ['int', 'relation'=>'resource'], +'dbplus_setindex' => ['int', 'relation'=>'resource', 'idx_name'=>'string'], +'dbplus_setindexbynumber' => ['int', 'relation'=>'resource', 'idx_number'=>'int'], +'dbplus_sql' => ['resource', 'query'=>'string', 'server='=>'string', 'dbpath='=>'string'], +'dbplus_tcl' => ['string', 'sid'=>'int', 'script'=>'string'], +'dbplus_tremove' => ['int', 'relation'=>'resource', 'tuple'=>'array', 'current='=>'array'], +'dbplus_undo' => ['int', 'relation'=>'resource'], +'dbplus_undoprepare' => ['int', 'relation'=>'resource'], +'dbplus_unlockrel' => ['int', 'relation'=>'resource'], +'dbplus_unselect' => ['int', 'relation'=>'resource'], +'dbplus_update' => ['int', 'relation'=>'resource', 'old'=>'array', 'new'=>'array'], +'dbplus_xlockrel' => ['int', 'relation'=>'resource'], +'dbplus_xunlockrel' => ['int', 'relation'=>'resource'], +'dbx_close' => ['int', 'link_identifier'=>'object'], +'dbx_compare' => ['int', 'row_a'=>'array', 'row_b'=>'array', 'column_key'=>'string', 'flags='=>'int'], +'dbx_connect' => ['object', 'module'=>'mixed', 'host'=>'string', 'database'=>'string', 'username'=>'string', 'password'=>'string', 'persistent='=>'int'], +'dbx_error' => ['string', 'link_identifier'=>'object'], +'dbx_escape_string' => ['string', 'link_identifier'=>'object', 'text'=>'string'], +'dbx_fetch_row' => ['mixed', 'result_identifier'=>'object'], +'dbx_query' => ['mixed', 'link_identifier'=>'object', 'sql_statement'=>'string', 'flags='=>'int'], +'dbx_sort' => ['bool', 'result'=>'object', 'user_compare_function'=>'string'], +'dcgettext' => ['string', 'domain'=>'string', 'message'=>'string', 'category'=>'int'], +'dcngettext' => ['string', 'domain'=>'string', 'singular'=>'string', 'plural'=>'string', 'count'=>'int', 'category'=>'int'], +'deaggregate' => ['', 'object'=>'object', 'class_name='=>'string'], +'debug_backtrace' => ['list', 'options='=>'int', 'limit='=>'int'], +'debug_print_backtrace' => ['void', 'options='=>'int', 'limit='=>'int'], +'debug_zval_dump' => ['void', 'value'=>'mixed', '...values='=>'mixed'], +'debugger_connect' => [''], +'debugger_connector_pid' => [''], +'debugger_get_server_start_time' => [''], +'debugger_print' => [''], +'debugger_start_debug' => [''], +'decbin' => ['string', 'num'=>'int'], +'dechex' => ['string', 'num'=>'int'], +'decoct' => ['string', 'num'=>'int'], +'define' => ['bool', 'constant_name'=>'string', 'value'=>'mixed', 'case_insensitive='=>'bool'], +'define_syslog_variables' => ['void'], +'defined' => ['bool', 'constant_name'=>'string'], +'deflate_add' => ['string|false', 'context'=>'DeflateContext', 'data'=>'string', 'flush_mode='=>'int'], +'deflate_init' => ['DeflateContext|false', 'encoding'=>'int', 'options='=>'array'], +'deg2rad' => ['float', 'num'=>'float'], +'dgettext' => ['string', 'domain'=>'string', 'message'=>'string'], +'dio_close' => ['void', 'fd'=>'resource'], +'dio_fcntl' => ['mixed', 'fd'=>'resource', 'cmd'=>'int', 'args='=>'mixed'], +'dio_open' => ['resource|false', 'filename'=>'string', 'flags'=>'int', 'mode='=>'int'], +'dio_read' => ['string', 'fd'=>'resource', 'length='=>'int'], +'dio_seek' => ['int', 'fd'=>'resource', 'pos'=>'int', 'whence='=>'int'], +'dio_stat' => ['?array', 'fd'=>'resource'], +'dio_tcsetattr' => ['bool', 'fd'=>'resource', 'options'=>'array'], +'dio_truncate' => ['bool', 'fd'=>'resource', 'offset'=>'int'], +'dio_write' => ['int', 'fd'=>'resource', 'data'=>'string', 'length='=>'int'], +'dir' => ['Directory|false', 'directory'=>'string', 'context='=>'resource'], +'Directory::close' => ['void'], +'Directory::read' => ['string|false'], +'Directory::rewind' => ['void'], +'DirectoryIterator::__construct' => ['void', 'path'=>'string'], +'DirectoryIterator::__toString' => ['string'], +'DirectoryIterator::current' => ['DirectoryIterator'], +'DirectoryIterator::getATime' => ['int'], +'DirectoryIterator::getBasename' => ['string', 'suffix='=>'string'], +'DirectoryIterator::getCTime' => ['int'], +'DirectoryIterator::getExtension' => ['string'], +'DirectoryIterator::getFileInfo' => ['SplFileInfo', 'class_name='=>'string'], +'DirectoryIterator::getFilename' => ['string'], +'DirectoryIterator::getGroup' => ['int'], +'DirectoryIterator::getInode' => ['int'], +'DirectoryIterator::getLinkTarget' => ['string'], +'DirectoryIterator::getMTime' => ['int'], +'DirectoryIterator::getOwner' => ['int'], +'DirectoryIterator::getPath' => ['string'], +'DirectoryIterator::getPathInfo' => ['SplFileInfo', 'class_name='=>'string'], +'DirectoryIterator::getPathname' => ['string'], +'DirectoryIterator::getPerms' => ['int'], +'DirectoryIterator::getRealPath' => ['string'], +'DirectoryIterator::getSize' => ['int'], +'DirectoryIterator::getType' => ['string'], +'DirectoryIterator::isDir' => ['bool'], +'DirectoryIterator::isDot' => ['bool'], +'DirectoryIterator::isExecutable' => ['bool'], +'DirectoryIterator::isFile' => ['bool'], +'DirectoryIterator::isLink' => ['bool'], +'DirectoryIterator::isReadable' => ['bool'], +'DirectoryIterator::isWritable' => ['bool'], +'DirectoryIterator::key' => ['string'], +'DirectoryIterator::next' => ['void'], +'DirectoryIterator::openFile' => ['SplFileObject', 'mode='=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], +'DirectoryIterator::rewind' => ['void'], +'DirectoryIterator::seek' => ['void', 'position'=>'int'], +'DirectoryIterator::setFileClass' => ['void', 'class_name='=>'string'], +'DirectoryIterator::setInfoClass' => ['void', 'class_name='=>'string'], +'DirectoryIterator::valid' => ['bool'], +'dirname' => ['string', 'path'=>'string', 'levels='=>'int'], +'disk_free_space' => ['float|false', 'directory'=>'string'], +'disk_total_space' => ['float|false', 'directory'=>'string'], +'diskfreespace' => ['float|false', 'directory'=>'string'], +'display_disabled_function' => [''], +'dl' => ['bool', 'extension_filename'=>'string'], +'dngettext' => ['string', 'domain'=>'string', 'singular'=>'string', 'plural'=>'string', 'count'=>'int'], +'dns_check_record' => ['bool', 'hostname'=>'string', 'type='=>'string'], +'dns_get_mx' => ['bool', 'hostname'=>'string', '&w_hosts'=>'array', '&w_weights='=>'array'], +'dns_get_record' => ['list|false', 'hostname'=>'string', 'type='=>'int', '&w_authoritative_name_servers='=>'array', '&w_additional_records='=>'array', 'raw='=>'bool'], +'dom_document_relaxNG_validate_file' => ['bool', 'filename'=>'string'], +'dom_document_relaxNG_validate_xml' => ['bool', 'source'=>'string'], +'dom_document_schema_validate' => ['bool', 'source'=>'string', 'flags'=>'int'], +'dom_document_schema_validate_file' => ['bool', 'filename'=>'string', 'flags'=>'int'], +'dom_document_xinclude' => ['int', 'options'=>'int'], +'dom_import_simplexml' => ['DOMElement', 'node'=>'SimpleXMLElement'], +'dom_xpath_evaluate' => ['', 'expr'=>'string', 'context'=>'DOMNode', 'registernodens'=>'bool'], +'dom_xpath_query' => ['DOMNodeList', 'expr'=>'string', 'context'=>'DOMNode', 'registernodens'=>'bool'], +'dom_xpath_register_ns' => ['bool', 'prefix'=>'string', 'uri'=>'string'], +'dom_xpath_register_php_functions' => [''], +'DomainException::__clone' => ['void'], +'DomainException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'DomainException::__toString' => ['string'], +'DomainException::__wakeup' => ['void'], +'DomainException::getCode' => ['int'], +'DomainException::getFile' => ['string'], +'DomainException::getLine' => ['int'], +'DomainException::getMessage' => ['string'], +'DomainException::getPrevious' => ['?Throwable'], +'DomainException::getTrace' => ['list\',args?:array}>'], +'DomainException::getTraceAsString' => ['string'], +'DOMAttr::__construct' => ['void', 'name'=>'string', 'value='=>'string'], +'DOMAttr::getLineNo' => ['int'], +'DOMAttr::getNodePath' => ['?string'], +'DOMAttr::hasAttributes' => ['bool'], +'DOMAttr::hasChildNodes' => ['bool'], +'DOMAttr::insertBefore' => ['DOMNode', 'newnode'=>'DOMNode', 'refnode='=>'DOMNode'], +'DOMAttr::isDefaultNamespace' => ['bool', 'namespaceuri'=>'string'], +'DOMAttr::isId' => ['bool'], +'DOMAttr::isSameNode' => ['bool', 'node'=>'DOMNode'], +'DOMAttr::isSupported' => ['bool', 'feature'=>'string', 'version'=>'string'], +'DOMAttr::lookupNamespaceUri' => ['string|null', 'prefix'=>'string|null'], +'DOMAttr::lookupPrefix' => ['string|null', 'namespaceuri'=>'string'], +'DOMAttr::normalize' => ['void'], +'DOMAttr::removeChild' => ['DOMNode', 'oldnode'=>'DOMNode'], +'DOMAttr::replaceChild' => ['DOMNode', 'newnode'=>'DOMNode', 'oldnode'=>'DOMNode'], +'DomAttribute::name' => ['string'], +'DomAttribute::set_value' => ['bool', 'content'=>'string'], +'DomAttribute::specified' => ['bool'], +'DomAttribute::value' => ['string'], +'DOMCdataSection::__construct' => ['void', 'value'=>'string'], +'DOMCharacterData::appendData' => ['true', 'data'=>'string'], +'DOMCharacterData::deleteData' => ['bool', 'offset'=>'int', 'count'=>'int'], +'DOMCharacterData::insertData' => ['bool', 'offset'=>'int', 'data'=>'string'], +'DOMCharacterData::replaceData' => ['bool', 'offset'=>'int', 'count'=>'int', 'data'=>'string'], +'DOMCharacterData::substringData' => ['string', 'offset'=>'int', 'count'=>'int'], +'DOMComment::__construct' => ['void', 'value='=>'string'], +'DOMDocument::__construct' => ['void', 'version='=>'string', 'encoding='=>'string'], +'DOMDocument::createAttribute' => ['DOMAttr|false', 'name'=>'string'], +'DOMDocument::createAttributeNS' => ['DOMAttr|false', 'namespaceuri'=>'string|null', 'qualifiedname'=>'string'], +'DOMDocument::createCDATASection' => ['DOMCDATASection|false', 'data'=>'string'], +'DOMDocument::createComment' => ['DOMComment', 'data'=>'string'], +'DOMDocument::createDocumentFragment' => ['DOMDocumentFragment'], +'DOMDocument::createElement' => ['DOMElement|false', 'name'=>'string', 'value='=>'string'], +'DOMDocument::createElementNS' => ['DOMElement|false', 'namespaceuri'=>'string|null', 'qualifiedname'=>'string', 'value='=>'string'], +'DOMDocument::createEntityReference' => ['DOMEntityReference|false', 'name'=>'string'], +'DOMDocument::createProcessingInstruction' => ['DOMProcessingInstruction|false', 'target'=>'string', 'data='=>'string'], +'DOMDocument::createTextNode' => ['DOMText|false', 'content'=>'string'], +'DOMDocument::getElementById' => ['?DOMElement', 'elementid'=>'string'], +'DOMDocument::getElementsByTagName' => ['DOMNodeList', 'name'=>'string'], +'DOMDocument::getElementsByTagNameNS' => ['DOMNodeList', 'namespaceuri'=>'string|null', 'localname'=>'string'], +'DOMDocument::importNode' => ['DOMNode|false', 'importednode'=>'DOMNode', 'deep='=>'bool'], +'DOMDocument::load' => ['DOMDocument|bool', 'filename'=>'string', 'options='=>'int'], +'DOMDocument::loadHTML' => ['bool', 'source'=>'non-empty-string', 'options='=>'int'], +'DOMDocument::loadHTMLFile' => ['bool', 'filename'=>'string', 'options='=>'int'], +'DOMDocument::loadXML' => ['DOMDocument|bool', 'source'=>'non-empty-string', 'options='=>'int'], +'DOMDocument::normalizeDocument' => ['void'], +'DOMDocument::registerNodeClass' => ['bool', 'baseclass'=>'string', 'extendedclass'=>'string'], +'DOMDocument::relaxNGValidate' => ['bool', 'filename'=>'string'], +'DOMDocument::relaxNGValidateSource' => ['bool', 'source'=>'string'], +'DOMDocument::save' => ['int|false', 'filename'=>'string', 'options='=>'int'], +'DOMDocument::saveHTML' => ['string|false', 'node='=>'?DOMNode'], +'DOMDocument::saveHTMLFile' => ['int|false', 'filename'=>'string'], +'DOMDocument::saveXML' => ['string|false', 'node='=>'?DOMNode', 'options='=>'int'], +'DOMDocument::schemaValidate' => ['bool', 'filename'=>'string', 'flags='=>'int'], +'DOMDocument::schemaValidateSource' => ['bool', 'source'=>'string', 'flags='=>'int'], +'DOMDocument::validate' => ['bool'], +'DOMDocument::xinclude' => ['int', 'options='=>'int'], +'DOMDocumentFragment::__construct' => ['void'], +'DOMDocumentFragment::appendXML' => ['bool', 'data'=>'string'], +'DOMElement::__construct' => ['void', 'name'=>'string', 'value='=>'string', 'uri='=>'string'], +'DOMElement::getAttribute' => ['string', 'name'=>'string'], +'DOMElement::getAttributeNode' => ['DOMAttr', 'name'=>'string'], +'DOMElement::getAttributeNodeNS' => ['DOMAttr', 'namespaceuri'=>'string|null', 'localname'=>'string'], +'DOMElement::getAttributeNS' => ['string', 'namespaceuri'=>'string|null', 'localname'=>'string'], +'DOMElement::getElementsByTagName' => ['DOMNodeList', 'name'=>'string'], +'DOMElement::getElementsByTagNameNS' => ['DOMNodeList', 'namespaceuri'=>'string|null', 'localname'=>'string'], +'DOMElement::hasAttribute' => ['bool', 'name'=>'string'], +'DOMElement::hasAttributeNS' => ['bool', 'namespaceuri'=>'string|null', 'localname'=>'string'], +'DOMElement::removeAttribute' => ['bool', 'name'=>'string'], +'DOMElement::removeAttributeNode' => ['bool', 'oldnode'=>'DOMAttr'], +'DOMElement::removeAttributeNS' => ['bool', 'namespaceuri'=>'string|null', 'localname'=>'string'], +'DOMElement::setAttribute' => ['DOMAttr|false', 'name'=>'string', 'value'=>'string'], +'DOMElement::setAttributeNode' => ['?DOMAttr', 'attr'=>'DOMAttr'], +'DOMElement::setAttributeNodeNS' => ['DOMAttr', 'attr'=>'DOMAttr'], +'DOMElement::setAttributeNS' => ['void', 'namespaceuri'=>'string|null', 'qualifiedname'=>'string', 'value'=>'string'], +'DOMElement::setIdAttribute' => ['void', 'name'=>'string', 'isid'=>'bool'], +'DOMElement::setIdAttributeNode' => ['void', 'attr'=>'DOMAttr', 'isid'=>'bool'], +'DOMElement::setIdAttributeNS' => ['void', 'namespaceuri'=>'string', 'localname'=>'string', 'isid'=>'bool'], +'DOMEntityReference::__construct' => ['void', 'name'=>'string'], +'DOMImplementation::__construct' => ['void'], +'DOMImplementation::createDocument' => ['DOMDocument', 'namespaceuri='=>'string', 'qualifiedname='=>'string', 'doctype='=>'DOMDocumentType'], +'DOMImplementation::createDocumentType' => ['DOMDocumentType', 'qualifiedname='=>'string', 'publicid='=>'string', 'systemid='=>'string'], +'DOMImplementation::hasFeature' => ['bool', 'feature'=>'string', 'version'=>'string'], +'DOMNamedNodeMap::count' => ['int'], +'DOMNamedNodeMap::getNamedItem' => ['?DOMNode', 'name'=>'string'], +'DOMNamedNodeMap::getNamedItemNS' => ['?DOMNode', 'namespaceuri'=>'string', 'localname'=>'string'], +'DOMNamedNodeMap::item' => ['?DOMNode', 'index'=>'int'], +'DOMNode::appendChild' => ['DOMNode', 'newnode'=>'DOMNode'], +'DOMNode::C14N' => ['string', 'exclusive='=>'bool', 'with_comments='=>'bool', 'xpath='=>'array', 'ns_prefixes='=>'array'], +'DOMNode::C14NFile' => ['int|false', 'uri='=>'string', 'exclusive='=>'bool', 'with_comments='=>'bool', 'xpath='=>'array', 'ns_prefixes='=>'array'], +'DOMNode::cloneNode' => ['DOMNode', 'deep='=>'bool'], +'DOMNode::getLineNo' => ['int'], +'DOMNode::getNodePath' => ['?string'], +'DOMNode::hasAttributes' => ['bool'], +'DOMNode::hasChildNodes' => ['bool'], +'DOMNode::insertBefore' => ['DOMNode', 'newnode'=>'DOMNode', 'refnode='=>'DOMNode|null'], +'DOMNode::isDefaultNamespace' => ['bool', 'namespaceuri'=>'string'], +'DOMNode::isSameNode' => ['bool', 'node'=>'DOMNode'], +'DOMNode::isSupported' => ['bool', 'feature'=>'string', 'version'=>'string'], +'DOMNode::lookupNamespaceURI' => ['string|null', 'prefix'=>'string|null'], +'DOMNode::lookupPrefix' => ['string|null', 'namespaceuri'=>'string'], +'DOMNode::normalize' => ['void'], +'DOMNode::removeChild' => ['DOMNode', 'oldnode'=>'DOMNode'], +'DOMNode::replaceChild' => ['DOMNode|false', 'newnode'=>'DOMNode', 'oldnode'=>'DOMNode'], +'DOMNodeList::count' => ['int'], +'DOMNodeList::item' => ['?DOMNode', 'index'=>'int'], +'DOMProcessingInstruction::__construct' => ['void', 'name'=>'string', 'value'=>'string'], +'DOMText::__construct' => ['void', 'value='=>'string'], +'DOMText::isElementContentWhitespace' => ['bool'], +'DOMText::isWhitespaceInElementContent' => ['bool'], +'DOMText::splitText' => ['DOMText', 'offset'=>'int'], +'domxml_new_doc' => ['DomDocument', 'version'=>'string'], +'domxml_open_file' => ['DomDocument', 'filename'=>'string', 'mode='=>'int', 'error='=>'array'], +'domxml_open_mem' => ['DomDocument', 'string'=>'string', 'mode='=>'int', 'error='=>'array'], +'domxml_version' => ['string'], +'domxml_xmltree' => ['DomDocument', 'string'=>'string'], +'domxml_xslt_stylesheet' => ['DomXsltStylesheet', 'xsl_buf'=>'string'], +'domxml_xslt_stylesheet_doc' => ['DomXsltStylesheet', 'xsl_doc'=>'DOMDocument'], +'domxml_xslt_stylesheet_file' => ['DomXsltStylesheet', 'xsl_file'=>'string'], +'domxml_xslt_version' => ['int'], +'DOMXPath::__construct' => ['void', 'doc'=>'DOMDocument'], +'DOMXPath::evaluate' => ['mixed', 'expression'=>'string', 'contextnode='=>'?DOMNode', 'registernodens='=>'bool'], +'DOMXPath::query' => ['DOMNodeList|false', 'expression'=>'string', 'contextnode='=>'DOMNode|null', 'registernodens='=>'bool'], +'DOMXPath::registerNamespace' => ['bool', 'prefix'=>'string', 'namespaceuri'=>'string'], +'DOMXPath::registerPhpFunctions' => ['void', 'restrict='=>'mixed'], +'DomXsltStylesheet::process' => ['DomDocument', 'xml_doc'=>'DOMDocument', 'xslt_params='=>'array', 'is_xpath_param='=>'bool', 'profile_filename='=>'string'], +'DomXsltStylesheet::result_dump_file' => ['string', 'xmldoc'=>'DOMDocument', 'filename'=>'string'], +'DomXsltStylesheet::result_dump_mem' => ['string', 'xmldoc'=>'DOMDocument'], +'DOTNET::__call' => ['mixed', 'name'=>'string', 'args'=>''], +'DOTNET::__construct' => ['void', 'assembly_name'=>'string', 'datatype_name'=>'string', 'codepage='=>'int'], +'DOTNET::__get' => ['mixed', 'name'=>'string'], +'DOTNET::__set' => ['void', 'name'=>'string', 'value'=>''], +'dotnet_load' => ['int', 'assembly_name'=>'string', 'datatype_name='=>'string', 'codepage='=>'int'], +'doubleval' => ['float', 'value'=>'mixed'], +'Ds\Collection::clear' => ['void'], +'Ds\Collection::copy' => ['Ds\Collection'], +'Ds\Collection::isEmpty' => ['bool'], +'Ds\Collection::toArray' => ['array'], +'Ds\Deque::__construct' => ['void', 'values='=>'mixed'], +'Ds\Deque::allocate' => ['void', 'capacity'=>'int'], +'Ds\Deque::apply' => ['void', 'callback'=>'callable'], +'Ds\Deque::capacity' => ['int'], +'Ds\Deque::clear' => ['void'], +'Ds\Deque::contains' => ['bool', '...values='=>'mixed'], +'Ds\Deque::copy' => ['Ds\Deque'], +'Ds\Deque::count' => ['int'], +'Ds\Deque::filter' => ['Ds\Deque', 'callback='=>'callable'], +'Ds\Deque::find' => ['mixed', 'value'=>'mixed'], +'Ds\Deque::first' => ['mixed'], +'Ds\Deque::get' => ['void', 'index'=>'int'], +'Ds\Deque::insert' => ['void', 'index'=>'int', '...values='=>'mixed'], +'Ds\Deque::isEmpty' => ['bool'], +'Ds\Deque::join' => ['string', 'glue='=>'string'], +'Ds\Deque::jsonSerialize' => ['array'], +'Ds\Deque::last' => ['mixed'], +'Ds\Deque::map' => ['Ds\Deque', 'callback'=>'callable'], +'Ds\Deque::merge' => ['Ds\Deque', 'values'=>'mixed'], +'Ds\Deque::pop' => ['mixed'], +'Ds\Deque::push' => ['void', '...values='=>'mixed'], +'Ds\Deque::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], +'Ds\Deque::remove' => ['mixed', 'index'=>'int'], +'Ds\Deque::reverse' => ['void'], +'Ds\Deque::reversed' => ['Ds\Deque'], +'Ds\Deque::rotate' => ['void', 'rotations'=>'int'], +'Ds\Deque::set' => ['void', 'index'=>'int', 'value'=>'mixed'], +'Ds\Deque::shift' => ['mixed'], +'Ds\Deque::slice' => ['Ds\Deque', 'index'=>'int', 'length='=>'?int'], +'Ds\Deque::sort' => ['void', 'comparator='=>'callable'], +'Ds\Deque::sorted' => ['Ds\Deque', 'comparator='=>'callable'], +'Ds\Deque::sum' => ['int|float'], +'Ds\Deque::toArray' => ['array'], +'Ds\Deque::unshift' => ['void', '...values='=>'mixed'], +'Ds\Hashable::equals' => ['bool', 'object'=>'mixed'], +'Ds\Hashable::hash' => ['mixed'], +'Ds\Map::__construct' => ['void', 'values='=>'mixed'], +'Ds\Map::allocate' => ['void', 'capacity'=>'int'], +'Ds\Map::apply' => ['void', 'callback'=>'callable'], +'Ds\Map::capacity' => ['int'], +'Ds\Map::clear' => ['void'], +'Ds\Map::copy' => ['Ds\Map'], +'Ds\Map::count' => ['int'], +'Ds\Map::diff' => ['Ds\Map', 'map'=>'Ds\Map'], +'Ds\Map::filter' => ['Ds\Map', 'callback='=>'callable'], +'Ds\Map::first' => ['Ds\Pair'], +'Ds\Map::get' => ['mixed', 'key'=>'mixed', 'default='=>'mixed'], +'Ds\Map::hasKey' => ['bool', 'key'=>'mixed'], +'Ds\Map::hasValue' => ['bool', 'value'=>'mixed'], +'Ds\Map::intersect' => ['Ds\Map', 'map'=>'Ds\Map'], +'Ds\Map::isEmpty' => ['bool'], +'Ds\Map::jsonSerialize' => ['array'], +'Ds\Map::keys' => ['Ds\Set'], +'Ds\Map::ksort' => ['void', 'comparator='=>'callable'], +'Ds\Map::ksorted' => ['Ds\Map', 'comparator='=>'callable'], +'Ds\Map::last' => ['Ds\Pair'], +'Ds\Map::map' => ['Ds\Map', 'callback'=>'callable'], +'Ds\Map::merge' => ['Ds\Map', 'values'=>'mixed'], +'Ds\Map::pairs' => ['Ds\Sequence'], +'Ds\Map::put' => ['void', 'key'=>'mixed', 'value'=>'mixed'], +'Ds\Map::putAll' => ['void', 'values'=>'mixed'], +'Ds\Map::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], +'Ds\Map::remove' => ['mixed', 'key'=>'mixed', 'default='=>'mixed'], +'Ds\Map::reverse' => ['void'], +'Ds\Map::reversed' => ['Ds\Map'], +'Ds\Map::skip' => ['Ds\Pair', 'position'=>'int'], +'Ds\Map::slice' => ['Ds\Map', 'index'=>'int', 'length='=>'?int'], +'Ds\Map::sort' => ['void', 'comparator='=>'callable'], +'Ds\Map::sorted' => ['Ds\Map', 'comparator='=>'callable'], +'Ds\Map::sum' => ['int|float'], +'Ds\Map::toArray' => ['array'], +'Ds\Map::union' => ['Ds\Map', 'map'=>'Ds\Map'], +'Ds\Map::values' => ['Ds\Sequence'], +'Ds\Map::xor' => ['Ds\Map', 'map'=>'Ds\Map'], +'Ds\Pair::__construct' => ['void', 'key='=>'mixed', 'value='=>'mixed'], +'Ds\Pair::clear' => ['void'], +'Ds\Pair::copy' => ['Ds\Pair'], +'Ds\Pair::isEmpty' => ['bool'], +'Ds\Pair::jsonSerialize' => ['array'], +'Ds\Pair::toArray' => ['array'], +'Ds\PriorityQueue::__construct' => ['void'], +'Ds\PriorityQueue::allocate' => ['void', 'capacity'=>'int'], +'Ds\PriorityQueue::capacity' => ['int'], +'Ds\PriorityQueue::clear' => ['void'], +'Ds\PriorityQueue::copy' => ['Ds\PriorityQueue'], +'Ds\PriorityQueue::count' => ['int'], +'Ds\PriorityQueue::isEmpty' => ['bool'], +'Ds\PriorityQueue::jsonSerialize' => ['array'], +'Ds\PriorityQueue::peek' => ['mixed'], +'Ds\PriorityQueue::pop' => ['mixed'], +'Ds\PriorityQueue::push' => ['void', 'value'=>'mixed', 'priority'=>'int'], +'Ds\PriorityQueue::toArray' => ['array'], +'Ds\Queue::__construct' => ['void', 'values='=>'mixed'], +'Ds\Queue::allocate' => ['void', 'capacity'=>'int'], +'Ds\Queue::capacity' => ['int'], +'Ds\Queue::clear' => ['void'], +'Ds\Queue::copy' => ['Ds\Queue'], +'Ds\Queue::count' => ['int'], +'Ds\Queue::isEmpty' => ['bool'], +'Ds\Queue::jsonSerialize' => ['array'], +'Ds\Queue::peek' => ['mixed'], +'Ds\Queue::pop' => ['mixed'], +'Ds\Queue::push' => ['void', '...values='=>'mixed'], +'Ds\Queue::toArray' => ['array'], +'Ds\Sequence::allocate' => ['void', 'capacity'=>'int'], +'Ds\Sequence::apply' => ['void', 'callback'=>'callable'], +'Ds\Sequence::capacity' => ['int'], +'Ds\Sequence::contains' => ['bool', '...values='=>'mixed'], +'Ds\Sequence::filter' => ['Ds\Sequence', 'callback='=>'callable'], +'Ds\Sequence::find' => ['mixed', 'value'=>'mixed'], +'Ds\Sequence::first' => ['mixed'], +'Ds\Sequence::get' => ['mixed', 'index'=>'int'], +'Ds\Sequence::insert' => ['void', 'index'=>'int', '...values='=>'mixed'], +'Ds\Sequence::join' => ['string', 'glue='=>'string'], +'Ds\Sequence::last' => ['void'], +'Ds\Sequence::map' => ['Ds\Sequence', 'callback'=>'callable'], +'Ds\Sequence::merge' => ['Ds\Sequence', 'values'=>'mixed'], +'Ds\Sequence::pop' => ['mixed'], +'Ds\Sequence::push' => ['void', '...values='=>'mixed'], +'Ds\Sequence::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], +'Ds\Sequence::remove' => ['mixed', 'index'=>'int'], +'Ds\Sequence::reverse' => ['void'], +'Ds\Sequence::reversed' => ['Ds\Sequence'], +'Ds\Sequence::rotate' => ['void', 'rotations'=>'int'], +'Ds\Sequence::set' => ['void', 'index'=>'int', 'value'=>'mixed'], +'Ds\Sequence::shift' => ['mixed'], +'Ds\Sequence::slice' => ['Ds\Sequence', 'index'=>'int', 'length='=>'?int'], +'Ds\Sequence::sort' => ['void', 'comparator='=>'callable'], +'Ds\Sequence::sorted' => ['Ds\Sequence', 'comparator='=>'callable'], +'Ds\Sequence::sum' => ['int|float'], +'Ds\Sequence::unshift' => ['void', '...values='=>'mixed'], +'Ds\Set::__construct' => ['void', 'values='=>'mixed'], +'Ds\Set::add' => ['void', '...values='=>'mixed'], +'Ds\Set::allocate' => ['void', 'capacity'=>'int'], +'Ds\Set::capacity' => ['int'], +'Ds\Set::clear' => ['void'], +'Ds\Set::contains' => ['bool', '...values='=>'mixed'], +'Ds\Set::copy' => ['Ds\Set'], +'Ds\Set::count' => ['int'], +'Ds\Set::diff' => ['Ds\Set', 'set'=>'Ds\Set'], +'Ds\Set::filter' => ['Ds\Set', 'callback='=>'callable'], +'Ds\Set::first' => ['mixed'], +'Ds\Set::get' => ['mixed', 'index'=>'int'], +'Ds\Set::intersect' => ['Ds\Set', 'set'=>'Ds\Set'], +'Ds\Set::isEmpty' => ['bool'], +'Ds\Set::join' => ['string', 'glue='=>'string'], +'Ds\Set::jsonSerialize' => ['array'], +'Ds\Set::last' => ['mixed'], +'Ds\Set::merge' => ['Ds\Set', 'values'=>'mixed'], +'Ds\Set::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], +'Ds\Set::remove' => ['void', '...values='=>'mixed'], +'Ds\Set::reverse' => ['void'], +'Ds\Set::reversed' => ['Ds\Set'], +'Ds\Set::slice' => ['Ds\Set', 'index'=>'int', 'length='=>'?int'], +'Ds\Set::sort' => ['void', 'comparator='=>'callable'], +'Ds\Set::sorted' => ['Ds\Set', 'comparator='=>'callable'], +'Ds\Set::sum' => ['int|float'], +'Ds\Set::toArray' => ['array'], +'Ds\Set::union' => ['Ds\Set', 'set'=>'Ds\Set'], +'Ds\Set::xor' => ['Ds\Set', 'set'=>'Ds\Set'], +'Ds\Stack::__construct' => ['void', 'values='=>'mixed'], +'Ds\Stack::allocate' => ['void', 'capacity'=>'int'], +'Ds\Stack::capacity' => ['int'], +'Ds\Stack::clear' => ['void'], +'Ds\Stack::copy' => ['Ds\Stack'], +'Ds\Stack::count' => ['int'], +'Ds\Stack::isEmpty' => ['bool'], +'Ds\Stack::jsonSerialize' => ['array'], +'Ds\Stack::peek' => ['mixed'], +'Ds\Stack::pop' => ['mixed'], +'Ds\Stack::push' => ['void', '...values='=>'mixed'], +'Ds\Stack::toArray' => ['array'], +'Ds\Vector::__construct' => ['void', 'values='=>'mixed'], +'Ds\Vector::allocate' => ['void', 'capacity'=>'int'], +'Ds\Vector::apply' => ['void', 'callback'=>'callable'], +'Ds\Vector::capacity' => ['int'], +'Ds\Vector::clear' => ['void'], +'Ds\Vector::contains' => ['bool', '...values='=>'mixed'], +'Ds\Vector::copy' => ['Ds\Vector'], +'Ds\Vector::count' => ['int'], +'Ds\Vector::filter' => ['Ds\Vector', 'callback='=>'callable'], +'Ds\Vector::find' => ['mixed', 'value'=>'mixed'], +'Ds\Vector::first' => ['mixed'], +'Ds\Vector::get' => ['mixed', 'index'=>'int'], +'Ds\Vector::insert' => ['void', 'index'=>'int', '...values='=>'mixed'], +'Ds\Vector::isEmpty' => ['bool'], +'Ds\Vector::join' => ['string', 'glue='=>'string'], +'Ds\Vector::jsonSerialize' => ['array'], +'Ds\Vector::last' => ['mixed'], +'Ds\Vector::map' => ['Ds\Vector', 'callback'=>'callable'], +'Ds\Vector::merge' => ['Ds\Vector', 'values'=>'mixed'], +'Ds\Vector::pop' => ['mixed'], +'Ds\Vector::push' => ['void', '...values='=>'mixed'], +'Ds\Vector::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], +'Ds\Vector::remove' => ['mixed', 'index'=>'int'], +'Ds\Vector::reverse' => ['void'], +'Ds\Vector::reversed' => ['Ds\Vector'], +'Ds\Vector::rotate' => ['void', 'rotations'=>'int'], +'Ds\Vector::set' => ['void', 'index'=>'int', 'value'=>'mixed'], +'Ds\Vector::shift' => ['mixed'], +'Ds\Vector::slice' => ['Ds\Vector', 'index'=>'int', 'length='=>'?int'], +'Ds\Vector::sort' => ['void', 'comparator='=>'callable'], +'Ds\Vector::sorted' => ['Ds\Vector', 'comparator='=>'callable'], +'Ds\Vector::sum' => ['int|float'], +'Ds\Vector::toArray' => ['array'], +'Ds\Vector::unshift' => ['void', '...values='=>'mixed'], +'easter_date' => ['int', 'year='=>'?int'], +'easter_days' => ['int', 'year='=>'?int', 'mode='=>'int'], +'echo' => ['void', 'arg1'=>'string', '...args='=>'string'], +'eio_busy' => ['resource', 'delay'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_cancel' => ['void', 'req'=>'resource'], +'eio_chmod' => ['resource', 'path'=>'string', 'mode'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_chown' => ['resource', 'path'=>'string', 'uid'=>'int', 'gid='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_close' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_custom' => ['resource', 'execute'=>'callable', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_dup2' => ['resource', 'fd'=>'mixed', 'fd2'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_event_loop' => ['bool'], +'eio_fallocate' => ['resource', 'fd'=>'mixed', 'mode'=>'int', 'offset'=>'int', 'length'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_fchmod' => ['resource', 'fd'=>'mixed', 'mode'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_fchown' => ['resource', 'fd'=>'mixed', 'uid'=>'int', 'gid='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_fdatasync' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_fstat' => ['resource', 'fd'=>'mixed', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_fstatvfs' => ['resource', 'fd'=>'mixed', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_fsync' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_ftruncate' => ['resource', 'fd'=>'mixed', 'offset='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_futime' => ['resource', 'fd'=>'mixed', 'atime'=>'float', 'mtime'=>'float', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_get_event_stream' => ['mixed'], +'eio_get_last_error' => ['string', 'req'=>'resource'], +'eio_grp' => ['resource', 'callback'=>'callable', 'data='=>'string'], +'eio_grp_add' => ['void', 'grp'=>'resource', 'req'=>'resource'], +'eio_grp_cancel' => ['void', 'grp'=>'resource'], +'eio_grp_limit' => ['void', 'grp'=>'resource', 'limit'=>'int'], +'eio_init' => ['void'], +'eio_link' => ['resource', 'path'=>'string', 'new_path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_lstat' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_mkdir' => ['resource', 'path'=>'string', 'mode'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_mknod' => ['resource', 'path'=>'string', 'mode'=>'int', 'dev'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_nop' => ['resource', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_npending' => ['int'], +'eio_nready' => ['int'], +'eio_nreqs' => ['int'], +'eio_nthreads' => ['int'], +'eio_open' => ['resource', 'path'=>'string', 'flags'=>'int', 'mode'=>'int', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_poll' => ['int'], +'eio_read' => ['resource', 'fd'=>'mixed', 'length'=>'int', 'offset'=>'int', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_readahead' => ['resource', 'fd'=>'mixed', 'offset'=>'int', 'length'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_readdir' => ['resource', 'path'=>'string', 'flags'=>'int', 'pri'=>'int', 'callback'=>'callable', 'data='=>'string'], +'eio_readlink' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'string'], +'eio_realpath' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'string'], +'eio_rename' => ['resource', 'path'=>'string', 'new_path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_rmdir' => ['resource', 'path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_seek' => ['resource', 'fd'=>'mixed', 'offset'=>'int', 'whence'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_sendfile' => ['resource', 'out_fd'=>'mixed', 'in_fd'=>'mixed', 'offset'=>'int', 'length'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'string'], +'eio_set_max_idle' => ['void', 'nthreads'=>'int'], +'eio_set_max_parallel' => ['void', 'nthreads'=>'int'], +'eio_set_max_poll_reqs' => ['void', 'nreqs'=>'int'], +'eio_set_max_poll_time' => ['void', 'nseconds'=>'float'], +'eio_set_min_parallel' => ['void', 'nthreads'=>'string'], +'eio_stat' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_statvfs' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], +'eio_symlink' => ['resource', 'path'=>'string', 'new_path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_sync' => ['resource', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_sync_file_range' => ['resource', 'fd'=>'mixed', 'offset'=>'int', 'nbytes'=>'int', 'flags'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_syncfs' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_truncate' => ['resource', 'path'=>'string', 'offset='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_unlink' => ['resource', 'path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_utime' => ['resource', 'path'=>'string', 'atime'=>'float', 'mtime'=>'float', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'eio_write' => ['resource', 'fd'=>'mixed', 'string'=>'string', 'length='=>'int', 'offset='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], +'empty' => ['bool', 'value'=>'mixed'], +'EmptyIterator::current' => ['never'], +'EmptyIterator::key' => ['never'], +'EmptyIterator::next' => ['void'], +'EmptyIterator::rewind' => ['void'], +'EmptyIterator::valid' => ['false'], +'enchant_broker_describe' => ['array', 'broker'=>'EnchantBroker'], +'enchant_broker_dict_exists' => ['bool', 'broker'=>'EnchantBroker', 'tag'=>'string'], +'enchant_broker_free' => ['bool', 'broker'=>'EnchantBroker'], +'enchant_broker_free_dict' => ['bool', 'dictionary'=>'EnchantBroker'], +'enchant_broker_get_dict_path' => ['string', 'broker'=>'EnchantBroker', 'type'=>'int'], +'enchant_broker_get_error' => ['string|false', 'broker'=>'EnchantBroker'], +'enchant_broker_init' => ['EnchantBroker|false'], +'enchant_broker_list_dicts' => ['array', 'broker'=>'EnchantBroker'], +'enchant_broker_request_dict' => ['EnchantDictionary|false', 'broker'=>'EnchantBroker', 'tag'=>'string'], +'enchant_broker_request_pwl_dict' => ['EnchantDictionary|false', 'broker'=>'EnchantBroker', 'filename'=>'string'], +'enchant_broker_set_dict_path' => ['bool', 'broker'=>'EnchantBroker', 'type'=>'int', 'path'=>'string'], +'enchant_broker_set_ordering' => ['bool', 'broker'=>'EnchantBroker', 'tag'=>'string', 'ordering'=>'string'], +'enchant_dict_add_to_personal' => ['void', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], +'enchant_dict_add_to_session' => ['void', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], +'enchant_dict_check' => ['bool', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], +'enchant_dict_describe' => ['array', 'dictionary'=>'EnchantDictionary'], +'enchant_dict_get_error' => ['string', 'dictionary'=>'EnchantDictionary'], +'enchant_dict_is_in_session' => ['bool', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], +'enchant_dict_quick_check' => ['bool', 'dictionary'=>'EnchantDictionary', 'word'=>'string', '&w_suggestions='=>'array'], +'enchant_dict_store_replacement' => ['void', 'dictionary'=>'EnchantDictionary', 'misspelled'=>'string', 'correct'=>'string'], +'enchant_dict_suggest' => ['array', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], +'end' => ['mixed|false', '&r_array'=>'array|object'], +'enum_exists' => ['bool', 'enum' => 'string', 'autoload=' => 'bool'], +'Error::__clone' => ['void'], +'Error::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'Error::__toString' => ['string'], +'Error::getCode' => ['int'], +'Error::getFile' => ['string'], +'Error::getLine' => ['int'], +'Error::getMessage' => ['string'], +'Error::getPrevious' => ['?Throwable'], +'Error::getTrace' => ['list\',args?:array}>'], +'Error::getTraceAsString' => ['string'], +'error_clear_last' => ['void'], +'error_get_last' => ['?array{type:int,message:string,file:string,line:int}'], +'error_log' => ['bool', 'message'=>'string', 'message_type='=>'int', 'destination='=>'?string', 'additional_headers='=>'?string'], +'error_reporting' => ['int', 'error_level='=>'?int'], +'ErrorException::__clone' => ['void'], +'ErrorException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'severity='=>'int', 'filename='=>'?string', 'line='=>'?int', 'previous='=>'?Throwable'], +'ErrorException::__toString' => ['string'], +'ErrorException::getCode' => ['int'], +'ErrorException::getFile' => ['string'], +'ErrorException::getLine' => ['int'], +'ErrorException::getMessage' => ['string'], +'ErrorException::getPrevious' => ['?Throwable'], +'ErrorException::getSeverity' => ['int'], +'ErrorException::getTrace' => ['list\',args?:array}>'], +'ErrorException::getTraceAsString' => ['string'], +'escapeshellarg' => ['string', 'arg'=>'string'], +'escapeshellcmd' => ['string', 'command'=>'string'], +'Ev::backend' => ['int'], +'Ev::depth' => ['int'], +'Ev::embeddableBackends' => ['int'], +'Ev::feedSignal' => ['void', 'signum'=>'int'], +'Ev::feedSignalEvent' => ['void', 'signum'=>'int'], +'Ev::iteration' => ['int'], +'Ev::now' => ['float'], +'Ev::nowUpdate' => ['void'], +'Ev::recommendedBackends' => ['int'], +'Ev::resume' => ['void'], +'Ev::run' => ['void', 'flags='=>'int'], +'Ev::sleep' => ['void', 'seconds'=>'float'], +'Ev::stop' => ['void', 'how='=>'int'], +'Ev::supportedBackends' => ['int'], +'Ev::suspend' => ['void'], +'Ev::time' => ['float'], +'Ev::verify' => ['void'], +'eval' => ['mixed', 'code_str'=>'string'], +'EvCheck::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvCheck::clear' => ['int'], +'EvCheck::createStopped' => ['EvCheck', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvCheck::feed' => ['void', 'events'=>'int'], +'EvCheck::getLoop' => ['EvLoop'], +'EvCheck::invoke' => ['void', 'events'=>'int'], +'EvCheck::keepAlive' => ['void', 'value'=>'bool'], +'EvCheck::setCallback' => ['void', 'callback'=>'callable'], +'EvCheck::start' => ['void'], +'EvCheck::stop' => ['void'], +'EvChild::__construct' => ['void', 'pid'=>'int', 'trace'=>'bool', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvChild::clear' => ['int'], +'EvChild::createStopped' => ['EvChild', 'pid'=>'int', 'trace'=>'bool', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvChild::feed' => ['void', 'events'=>'int'], +'EvChild::getLoop' => ['EvLoop'], +'EvChild::invoke' => ['void', 'events'=>'int'], +'EvChild::keepAlive' => ['void', 'value'=>'bool'], +'EvChild::set' => ['void', 'pid'=>'int', 'trace'=>'bool'], +'EvChild::setCallback' => ['void', 'callback'=>'callable'], +'EvChild::start' => ['void'], +'EvChild::stop' => ['void'], +'EvEmbed::__construct' => ['void', 'other'=>'object', 'callback='=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvEmbed::clear' => ['int'], +'EvEmbed::createStopped' => ['EvEmbed', 'other'=>'object', 'callback='=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvEmbed::feed' => ['void', 'events'=>'int'], +'EvEmbed::getLoop' => ['EvLoop'], +'EvEmbed::invoke' => ['void', 'events'=>'int'], +'EvEmbed::keepAlive' => ['void', 'value'=>'bool'], +'EvEmbed::set' => ['void', 'other'=>'object'], +'EvEmbed::setCallback' => ['void', 'callback'=>'callable'], +'EvEmbed::start' => ['void'], +'EvEmbed::stop' => ['void'], +'EvEmbed::sweep' => ['void'], +'Event::__construct' => ['void', 'base'=>'EventBase', 'fd'=>'mixed', 'what'=>'int', 'cb'=>'callable', 'arg='=>'mixed'], +'Event::add' => ['bool', 'timeout='=>'float'], +'Event::addSignal' => ['bool', 'timeout='=>'float'], +'Event::addTimer' => ['bool', 'timeout='=>'float'], +'Event::del' => ['bool'], +'Event::delSignal' => ['bool'], +'Event::delTimer' => ['bool'], +'Event::free' => ['void'], +'Event::getSupportedMethods' => ['array'], +'Event::pending' => ['bool', 'flags'=>'int'], +'Event::set' => ['bool', 'base'=>'EventBase', 'fd'=>'mixed', 'what='=>'int', 'cb='=>'callable', 'arg='=>'mixed'], +'Event::setPriority' => ['bool', 'priority'=>'int'], +'Event::setTimer' => ['bool', 'base'=>'EventBase', 'cb'=>'callable', 'arg='=>'mixed'], +'Event::signal' => ['Event', 'base'=>'EventBase', 'signum'=>'int', 'cb'=>'callable', 'arg='=>'mixed'], +'Event::timer' => ['Event', 'base'=>'EventBase', 'cb'=>'callable', 'arg='=>'mixed'], +'event_add' => ['bool', 'event'=>'resource', 'timeout='=>'int'], +'event_base_free' => ['void', 'event_base'=>'resource'], +'event_base_loop' => ['int', 'event_base'=>'resource', 'flags='=>'int'], +'event_base_loopbreak' => ['bool', 'event_base'=>'resource'], +'event_base_loopexit' => ['bool', 'event_base'=>'resource', 'timeout='=>'int'], +'event_base_new' => ['resource|false'], +'event_base_priority_init' => ['bool', 'event_base'=>'resource', 'npriorities'=>'int'], +'event_base_reinit' => ['bool', 'event_base'=>'resource'], +'event_base_set' => ['bool', 'event'=>'resource', 'event_base'=>'resource'], +'event_buffer_base_set' => ['bool', 'bevent'=>'resource', 'event_base'=>'resource'], +'event_buffer_disable' => ['bool', 'bevent'=>'resource', 'events'=>'int'], +'event_buffer_enable' => ['bool', 'bevent'=>'resource', 'events'=>'int'], +'event_buffer_fd_set' => ['void', 'bevent'=>'resource', 'fd'=>'resource'], +'event_buffer_free' => ['void', 'bevent'=>'resource'], +'event_buffer_new' => ['resource|false', 'stream'=>'resource', 'readcb'=>'callable|null', 'writecb'=>'callable|null', 'errorcb'=>'callable', 'arg='=>'mixed'], +'event_buffer_priority_set' => ['bool', 'bevent'=>'resource', 'priority'=>'int'], +'event_buffer_read' => ['string', 'bevent'=>'resource', 'data_size'=>'int'], +'event_buffer_set_callback' => ['bool', 'event'=>'resource', 'readcb'=>'mixed', 'writecb'=>'mixed', 'errorcb'=>'mixed', 'arg='=>'mixed'], +'event_buffer_timeout_set' => ['void', 'bevent'=>'resource', 'read_timeout'=>'int', 'write_timeout'=>'int'], +'event_buffer_watermark_set' => ['void', 'bevent'=>'resource', 'events'=>'int', 'lowmark'=>'int', 'highmark'=>'int'], +'event_buffer_write' => ['bool', 'bevent'=>'resource', 'data'=>'string', 'data_size='=>'int'], +'event_del' => ['bool', 'event'=>'resource'], +'event_free' => ['void', 'event'=>'resource'], +'event_new' => ['resource|false'], +'event_priority_set' => ['bool', 'event'=>'resource', 'priority'=>'int'], +'event_set' => ['bool', 'event'=>'resource', 'fd'=>'int|resource', 'events'=>'int', 'callback'=>'callable', 'arg='=>'mixed'], +'event_timer_add' => ['bool', 'event'=>'resource', 'timeout='=>'int'], +'event_timer_del' => ['bool', 'event'=>'resource'], +'event_timer_new' => ['resource|false'], +'event_timer_pending' => ['bool', 'event'=>'resource', 'timeout='=>'int'], +'event_timer_set' => ['bool', 'event'=>'resource', 'callback'=>'callable', 'arg='=>'mixed'], +'EventBase::__construct' => ['void', 'cfg='=>'EventConfig'], +'EventBase::dispatch' => ['void'], +'EventBase::exit' => ['bool', 'timeout='=>'float'], +'EventBase::free' => ['void'], +'EventBase::getFeatures' => ['int'], +'EventBase::getMethod' => ['string', 'cfg='=>'EventConfig'], +'EventBase::getTimeOfDayCached' => ['float'], +'EventBase::gotExit' => ['bool'], +'EventBase::gotStop' => ['bool'], +'EventBase::loop' => ['bool', 'flags='=>'int'], +'EventBase::priorityInit' => ['bool', 'n_priorities'=>'int'], +'EventBase::reInit' => ['bool'], +'EventBase::stop' => ['bool'], +'EventBuffer::__construct' => ['void'], +'EventBuffer::add' => ['bool', 'data'=>'string'], +'EventBuffer::addBuffer' => ['bool', 'buf'=>'EventBuffer'], +'EventBuffer::appendFrom' => ['int', 'buf'=>'EventBuffer', 'length'=>'int'], +'EventBuffer::copyout' => ['int', '&w_data'=>'string', 'max_bytes'=>'int'], +'EventBuffer::drain' => ['bool', 'length'=>'int'], +'EventBuffer::enableLocking' => ['void'], +'EventBuffer::expand' => ['bool', 'length'=>'int'], +'EventBuffer::freeze' => ['bool', 'at_front'=>'bool'], +'EventBuffer::lock' => ['void'], +'EventBuffer::prepend' => ['bool', 'data'=>'string'], +'EventBuffer::prependBuffer' => ['bool', 'buf'=>'EventBuffer'], +'EventBuffer::pullup' => ['string', 'size'=>'int'], +'EventBuffer::read' => ['string', 'max_bytes'=>'int'], +'EventBuffer::readFrom' => ['int', 'fd'=>'mixed', 'howmuch'=>'int'], +'EventBuffer::readLine' => ['string', 'eol_style'=>'int'], +'EventBuffer::search' => ['mixed', 'what'=>'string', 'start='=>'int', 'end='=>'int'], +'EventBuffer::searchEol' => ['mixed', 'start='=>'int', 'eol_style='=>'int'], +'EventBuffer::substr' => ['string', 'start'=>'int', 'length='=>'int'], +'EventBuffer::unfreeze' => ['bool', 'at_front'=>'bool'], +'EventBuffer::unlock' => ['bool'], +'EventBuffer::write' => ['int', 'fd'=>'mixed', 'howmuch='=>'int'], +'EventBufferEvent::__construct' => ['void', 'base'=>'EventBase', 'socket='=>'mixed', 'options='=>'int', 'readcb='=>'callable', 'writecb='=>'callable', 'eventcb='=>'callable'], +'EventBufferEvent::close' => ['void'], +'EventBufferEvent::connect' => ['bool', 'addr'=>'string'], +'EventBufferEvent::connectHost' => ['bool', 'dns_base'=>'EventDnsBase', 'hostname'=>'string', 'port'=>'int', 'family='=>'int'], +'EventBufferEvent::createPair' => ['array', 'base'=>'EventBase', 'options='=>'int'], +'EventBufferEvent::disable' => ['bool', 'events'=>'int'], +'EventBufferEvent::enable' => ['bool', 'events'=>'int'], +'EventBufferEvent::free' => ['void'], +'EventBufferEvent::getDnsErrorString' => ['string'], +'EventBufferEvent::getEnabled' => ['int'], +'EventBufferEvent::getInput' => ['EventBuffer'], +'EventBufferEvent::getOutput' => ['EventBuffer'], +'EventBufferEvent::read' => ['string', 'size'=>'int'], +'EventBufferEvent::readBuffer' => ['bool', 'buf'=>'EventBuffer'], +'EventBufferEvent::setCallbacks' => ['void', 'readcb'=>'callable', 'writecb'=>'callable', 'eventcb'=>'callable', 'arg='=>'string'], +'EventBufferEvent::setPriority' => ['bool', 'priority'=>'int'], +'EventBufferEvent::setTimeouts' => ['bool', 'timeout_read'=>'float', 'timeout_write'=>'float'], +'EventBufferEvent::setWatermark' => ['void', 'events'=>'int', 'lowmark'=>'int', 'highmark'=>'int'], +'EventBufferEvent::sslError' => ['string'], +'EventBufferEvent::sslFilter' => ['EventBufferEvent', 'base'=>'EventBase', 'underlying'=>'EventBufferEvent', 'ctx'=>'EventSslContext', 'state'=>'int', 'options='=>'int'], +'EventBufferEvent::sslGetCipherInfo' => ['string'], +'EventBufferEvent::sslGetCipherName' => ['string'], +'EventBufferEvent::sslGetCipherVersion' => ['string'], +'EventBufferEvent::sslGetProtocol' => ['string'], +'EventBufferEvent::sslRenegotiate' => ['void'], +'EventBufferEvent::sslSocket' => ['EventBufferEvent', 'base'=>'EventBase', 'socket'=>'mixed', 'ctx'=>'EventSslContext', 'state'=>'int', 'options='=>'int'], +'EventBufferEvent::write' => ['bool', 'data'=>'string'], +'EventBufferEvent::writeBuffer' => ['bool', 'buf'=>'EventBuffer'], +'EventConfig::__construct' => ['void'], +'EventConfig::avoidMethod' => ['bool', 'method'=>'string'], +'EventConfig::requireFeatures' => ['bool', 'feature'=>'int'], +'EventConfig::setMaxDispatchInterval' => ['void', 'max_interval'=>'int', 'max_callbacks'=>'int', 'min_priority'=>'int'], +'EventDnsBase::__construct' => ['void', 'base'=>'EventBase', 'initialize'=>'bool'], +'EventDnsBase::addNameserverIp' => ['bool', 'ip'=>'string'], +'EventDnsBase::addSearch' => ['void', 'domain'=>'string'], +'EventDnsBase::clearSearch' => ['void'], +'EventDnsBase::countNameservers' => ['int'], +'EventDnsBase::loadHosts' => ['bool', 'hosts'=>'string'], +'EventDnsBase::parseResolvConf' => ['bool', 'flags'=>'int', 'filename'=>'string'], +'EventDnsBase::setOption' => ['bool', 'option'=>'string', 'value'=>'string'], +'EventDnsBase::setSearchNdots' => ['bool', 'ndots'=>'int'], +'EventHttp::__construct' => ['void', 'base'=>'EventBase', 'ctx='=>'EventSslContext'], +'EventHttp::accept' => ['bool', 'socket'=>'mixed'], +'EventHttp::addServerAlias' => ['bool', 'alias'=>'string'], +'EventHttp::bind' => ['void', 'address'=>'string', 'port'=>'int'], +'EventHttp::removeServerAlias' => ['bool', 'alias'=>'string'], +'EventHttp::setAllowedMethods' => ['void', 'methods'=>'int'], +'EventHttp::setCallback' => ['void', 'path'=>'string', 'cb'=>'string', 'arg='=>'string'], +'EventHttp::setDefaultCallback' => ['void', 'cb'=>'string', 'arg='=>'string'], +'EventHttp::setMaxBodySize' => ['void', 'value'=>'int'], +'EventHttp::setMaxHeadersSize' => ['void', 'value'=>'int'], +'EventHttp::setTimeout' => ['void', 'value'=>'int'], +'EventHttpConnection::__construct' => ['void', 'base'=>'EventBase', 'dns_base'=>'EventDnsBase', 'address'=>'string', 'port'=>'int', 'ctx='=>'EventSslContext'], +'EventHttpConnection::getBase' => ['EventBase'], +'EventHttpConnection::getPeer' => ['void', '&w_address'=>'string', '&w_port'=>'int'], +'EventHttpConnection::makeRequest' => ['bool', 'req'=>'EventHttpRequest', 'type'=>'int', 'uri'=>'string'], +'EventHttpConnection::setCloseCallback' => ['void', 'callback'=>'callable', 'data='=>'mixed'], +'EventHttpConnection::setLocalAddress' => ['void', 'address'=>'string'], +'EventHttpConnection::setLocalPort' => ['void', 'port'=>'int'], +'EventHttpConnection::setMaxBodySize' => ['void', 'max_size'=>'string'], +'EventHttpConnection::setMaxHeadersSize' => ['void', 'max_size'=>'string'], +'EventHttpConnection::setRetries' => ['void', 'retries'=>'int'], +'EventHttpConnection::setTimeout' => ['void', 'timeout'=>'int'], +'EventHttpRequest::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed'], +'EventHttpRequest::addHeader' => ['bool', 'key'=>'string', 'value'=>'string', 'type'=>'int'], +'EventHttpRequest::cancel' => ['void'], +'EventHttpRequest::clearHeaders' => ['void'], +'EventHttpRequest::closeConnection' => ['void'], +'EventHttpRequest::findHeader' => ['void', 'key'=>'string', 'type'=>'string'], +'EventHttpRequest::free' => ['void'], +'EventHttpRequest::getBufferEvent' => ['EventBufferEvent'], +'EventHttpRequest::getCommand' => ['void'], +'EventHttpRequest::getConnection' => ['EventHttpConnection'], +'EventHttpRequest::getHost' => ['string'], +'EventHttpRequest::getInputBuffer' => ['EventBuffer'], +'EventHttpRequest::getInputHeaders' => ['array'], +'EventHttpRequest::getOutputBuffer' => ['EventBuffer'], +'EventHttpRequest::getOutputHeaders' => ['void'], +'EventHttpRequest::getResponseCode' => ['int'], +'EventHttpRequest::getUri' => ['string'], +'EventHttpRequest::removeHeader' => ['void', 'key'=>'string', 'type'=>'string'], +'EventHttpRequest::sendError' => ['void', 'error'=>'int', 'reason='=>'string'], +'EventHttpRequest::sendReply' => ['void', 'code'=>'int', 'reason'=>'string', 'buf='=>'EventBuffer'], +'EventHttpRequest::sendReplyChunk' => ['void', 'buf'=>'EventBuffer'], +'EventHttpRequest::sendReplyEnd' => ['void'], +'EventHttpRequest::sendReplyStart' => ['void', 'code'=>'int', 'reason'=>'string'], +'EventListener::__construct' => ['void', 'base'=>'EventBase', 'cb'=>'callable', 'data'=>'mixed', 'flags'=>'int', 'backlog'=>'int', 'target'=>'mixed'], +'EventListener::disable' => ['bool'], +'EventListener::enable' => ['bool'], +'EventListener::getBase' => ['void'], +'EventListener::getSocketName' => ['bool', '&w_address'=>'string', '&w_port='=>'mixed'], +'EventListener::setCallback' => ['void', 'cb'=>'callable', 'arg='=>'mixed'], +'EventListener::setErrorCallback' => ['void', 'cb'=>'string'], +'EventSslContext::__construct' => ['void', 'method'=>'string', 'options'=>'string'], +'EventUtil::__construct' => ['void'], +'EventUtil::getLastSocketErrno' => ['int', 'socket='=>'mixed'], +'EventUtil::getLastSocketError' => ['string', 'socket='=>'mixed'], +'EventUtil::getSocketFd' => ['int', 'socket'=>'mixed'], +'EventUtil::getSocketName' => ['bool', 'socket'=>'mixed', '&w_address'=>'string', '&w_port='=>'mixed'], +'EventUtil::setSocketOption' => ['bool', 'socket'=>'mixed', 'level'=>'int', 'optname'=>'int', 'optval'=>'mixed'], +'EventUtil::sslRandPoll' => ['void'], +'EvFork::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvFork::clear' => ['int'], +'EvFork::createStopped' => ['EvFork', 'callback'=>'callable', 'data='=>'string', 'priority='=>'string'], +'EvFork::feed' => ['void', 'events'=>'int'], +'EvFork::getLoop' => ['EvLoop'], +'EvFork::invoke' => ['void', 'events'=>'int'], +'EvFork::keepAlive' => ['void', 'value'=>'bool'], +'EvFork::setCallback' => ['void', 'callback'=>'callable'], +'EvFork::start' => ['void'], +'EvFork::stop' => ['void'], +'EvIdle::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvIdle::clear' => ['int'], +'EvIdle::createStopped' => ['EvIdle', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvIdle::feed' => ['void', 'events'=>'int'], +'EvIdle::getLoop' => ['EvLoop'], +'EvIdle::invoke' => ['void', 'events'=>'int'], +'EvIdle::keepAlive' => ['void', 'value'=>'bool'], +'EvIdle::setCallback' => ['void', 'callback'=>'callable'], +'EvIdle::start' => ['void'], +'EvIdle::stop' => ['void'], +'EvIo::__construct' => ['void', 'fd'=>'mixed', 'events'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvIo::clear' => ['int'], +'EvIo::createStopped' => ['EvIo', 'fd'=>'resource', 'events'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvIo::feed' => ['void', 'events'=>'int'], +'EvIo::getLoop' => ['EvLoop'], +'EvIo::invoke' => ['void', 'events'=>'int'], +'EvIo::keepAlive' => ['void', 'value'=>'bool'], +'EvIo::set' => ['void', 'fd'=>'resource', 'events'=>'int'], +'EvIo::setCallback' => ['void', 'callback'=>'callable'], +'EvIo::start' => ['void'], +'EvIo::stop' => ['void'], +'EvLoop::__construct' => ['void', 'flags='=>'int', 'data='=>'mixed', 'io_interval='=>'float', 'timeout_interval='=>'float'], +'EvLoop::backend' => ['int'], +'EvLoop::check' => ['EvCheck', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::child' => ['EvChild', 'pid'=>'int', 'trace'=>'bool', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::defaultLoop' => ['EvLoop', 'flags='=>'int', 'data='=>'mixed', 'io_interval='=>'float', 'timeout_interval='=>'float'], +'EvLoop::embed' => ['EvEmbed', 'other'=>'EvLoop', 'callback='=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::fork' => ['EvFork', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::idle' => ['EvIdle', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::invokePending' => ['void'], +'EvLoop::io' => ['EvIo', 'fd'=>'resource', 'events'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::loopFork' => ['void'], +'EvLoop::now' => ['float'], +'EvLoop::nowUpdate' => ['void'], +'EvLoop::periodic' => ['EvPeriodic', 'offset'=>'float', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::prepare' => ['EvPrepare', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::resume' => ['void'], +'EvLoop::run' => ['void', 'flags='=>'int'], +'EvLoop::signal' => ['EvSignal', 'signum'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::stat' => ['EvStat', 'path'=>'string', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::stop' => ['void', 'how='=>'int'], +'EvLoop::suspend' => ['void'], +'EvLoop::timer' => ['EvTimer', 'after'=>'float', 'repeat'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvLoop::verify' => ['void'], +'EvPeriodic::__construct' => ['void', 'offset'=>'float', 'interval'=>'string', 'reschedule_cb'=>'callable', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvPeriodic::again' => ['void'], +'EvPeriodic::at' => ['float'], +'EvPeriodic::clear' => ['int'], +'EvPeriodic::createStopped' => ['EvPeriodic', 'offset'=>'float', 'interval'=>'float', 'reschedule_cb'=>'callable', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvPeriodic::feed' => ['void', 'events'=>'int'], +'EvPeriodic::getLoop' => ['EvLoop'], +'EvPeriodic::invoke' => ['void', 'events'=>'int'], +'EvPeriodic::keepAlive' => ['void', 'value'=>'bool'], +'EvPeriodic::set' => ['void', 'offset'=>'float', 'interval'=>'float'], +'EvPeriodic::setCallback' => ['void', 'callback'=>'callable'], +'EvPeriodic::start' => ['void'], +'EvPeriodic::stop' => ['void'], +'EvPrepare::__construct' => ['void', 'callback'=>'string', 'data='=>'string', 'priority='=>'string'], +'EvPrepare::clear' => ['int'], +'EvPrepare::createStopped' => ['EvPrepare', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvPrepare::feed' => ['void', 'events'=>'int'], +'EvPrepare::getLoop' => ['EvLoop'], +'EvPrepare::invoke' => ['void', 'events'=>'int'], +'EvPrepare::keepAlive' => ['void', 'value'=>'bool'], +'EvPrepare::setCallback' => ['void', 'callback'=>'callable'], +'EvPrepare::start' => ['void'], +'EvPrepare::stop' => ['void'], +'EvSignal::__construct' => ['void', 'signum'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvSignal::clear' => ['int'], +'EvSignal::createStopped' => ['EvSignal', 'signum'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvSignal::feed' => ['void', 'events'=>'int'], +'EvSignal::getLoop' => ['EvLoop'], +'EvSignal::invoke' => ['void', 'events'=>'int'], +'EvSignal::keepAlive' => ['void', 'value'=>'bool'], +'EvSignal::set' => ['void', 'signum'=>'int'], +'EvSignal::setCallback' => ['void', 'callback'=>'callable'], +'EvSignal::start' => ['void'], +'EvSignal::stop' => ['void'], +'EvStat::__construct' => ['void', 'path'=>'string', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvStat::attr' => ['array'], +'EvStat::clear' => ['int'], +'EvStat::createStopped' => ['EvStat', 'path'=>'string', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvStat::feed' => ['void', 'events'=>'int'], +'EvStat::getLoop' => ['EvLoop'], +'EvStat::invoke' => ['void', 'events'=>'int'], +'EvStat::keepAlive' => ['void', 'value'=>'bool'], +'EvStat::prev' => ['array'], +'EvStat::set' => ['void', 'path'=>'string', 'interval'=>'float'], +'EvStat::setCallback' => ['void', 'callback'=>'callable'], +'EvStat::start' => ['void'], +'EvStat::stat' => ['bool'], +'EvStat::stop' => ['void'], +'EvTimer::__construct' => ['void', 'after'=>'float', 'repeat'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvTimer::again' => ['void'], +'EvTimer::clear' => ['int'], +'EvTimer::createStopped' => ['EvTimer', 'after'=>'float', 'repeat'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], +'EvTimer::feed' => ['void', 'events'=>'int'], +'EvTimer::getLoop' => ['EvLoop'], +'EvTimer::invoke' => ['void', 'events'=>'int'], +'EvTimer::keepAlive' => ['void', 'value'=>'bool'], +'EvTimer::set' => ['void', 'after'=>'float', 'repeat'=>'float'], +'EvTimer::setCallback' => ['void', 'callback'=>'callable'], +'EvTimer::start' => ['void'], +'EvTimer::stop' => ['void'], +'EvWatcher::__construct' => ['void'], +'EvWatcher::clear' => ['int'], +'EvWatcher::feed' => ['void', 'revents'=>'int'], +'EvWatcher::getLoop' => ['EvLoop'], +'EvWatcher::invoke' => ['void', 'revents'=>'int'], +'EvWatcher::keepalive' => ['bool', 'value='=>'bool'], +'EvWatcher::setCallback' => ['void', 'callback'=>'callable'], +'EvWatcher::start' => ['void'], +'EvWatcher::stop' => ['void'], +'Exception::__clone' => ['void'], +'Exception::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'Exception::__toString' => ['string'], +'Exception::getCode' => ['int|string'], +'Exception::getFile' => ['string'], +'Exception::getLine' => ['int'], +'Exception::getMessage' => ['string'], +'Exception::getPrevious' => ['?Throwable'], +'Exception::getTrace' => ['list\',args?:array}>'], +'Exception::getTraceAsString' => ['string'], +'exec' => ['string|false', 'command'=>'string', '&w_output='=>'array', '&w_result_code='=>'int'], +'exif_imagetype' => ['int|false', 'filename'=>'string'], +'exif_read_data' => ['array|false', 'file'=>'string|resource', 'required_sections='=>'?string', 'as_arrays='=>'bool', 'read_thumbnail='=>'bool'], +'exif_tagname' => ['string|false', 'index'=>'int'], +'exif_thumbnail' => ['string|false', 'file'=>'string', '&w_width='=>'int', '&w_height='=>'int', '&w_image_type='=>'int'], +'exit' => ['', 'status'=>'string|int'], +'exp' => ['float', 'num'=>'float'], +'expect_expectl' => ['int', 'expect'=>'resource', 'cases'=>'array', 'match='=>'array'], +'expect_popen' => ['resource|false', 'command'=>'string'], +'explode' => ['list', 'separator'=>'string', 'string'=>'string', 'limit='=>'int'], +'expm1' => ['float', 'num'=>'float'], +'extension_loaded' => ['bool', 'extension'=>'string'], +'extract' => ['int', '&rw_array'=>'array', 'flags='=>'int', 'prefix='=>'string'], +'ezmlm_hash' => ['int', 'addr'=>'string'], +'fam_cancel_monitor' => ['bool', 'fam'=>'resource', 'fam_monitor'=>'resource'], +'fam_close' => ['void', 'fam'=>'resource'], +'fam_monitor_collection' => ['resource', 'fam'=>'resource', 'dirname'=>'string', 'depth'=>'int', 'mask'=>'string'], +'fam_monitor_directory' => ['resource', 'fam'=>'resource', 'dirname'=>'string'], +'fam_monitor_file' => ['resource', 'fam'=>'resource', 'filename'=>'string'], +'fam_next_event' => ['array', 'fam'=>'resource'], +'fam_open' => ['resource|false', 'appname='=>'string'], +'fam_pending' => ['int', 'fam'=>'resource'], +'fam_resume_monitor' => ['bool', 'fam'=>'resource', 'fam_monitor'=>'resource'], +'fam_suspend_monitor' => ['bool', 'fam'=>'resource', 'fam_monitor'=>'resource'], +'fann_cascadetrain_on_data' => ['bool', 'ann'=>'resource', 'data'=>'resource', 'max_neurons'=>'int', 'neurons_between_reports'=>'int', 'desired_error'=>'float'], +'fann_cascadetrain_on_file' => ['bool', 'ann'=>'resource', 'filename'=>'string', 'max_neurons'=>'int', 'neurons_between_reports'=>'int', 'desired_error'=>'float'], +'fann_clear_scaling_params' => ['bool', 'ann'=>'resource'], +'fann_copy' => ['resource|false', 'ann'=>'resource'], +'fann_create_from_file' => ['resource', 'configuration_file'=>'string'], +'fann_create_shortcut' => ['resource|false', 'num_layers'=>'int', 'num_neurons1'=>'int', 'num_neurons2'=>'int', '...args='=>'int'], +'fann_create_shortcut_array' => ['resource|false', 'num_layers'=>'int', 'layers'=>'array'], +'fann_create_sparse' => ['resource|false', 'connection_rate'=>'float', 'num_layers'=>'int', 'num_neurons1'=>'int', 'num_neurons2'=>'int', '...args='=>'int'], +'fann_create_sparse_array' => ['resource|false', 'connection_rate'=>'float', 'num_layers'=>'int', 'layers'=>'array'], +'fann_create_standard' => ['resource|false', 'num_layers'=>'int', 'num_neurons1'=>'int', 'num_neurons2'=>'int', '...args='=>'int'], +'fann_create_standard_array' => ['resource|false', 'num_layers'=>'int', 'layers'=>'array'], +'fann_create_train' => ['resource', 'num_data'=>'int', 'num_input'=>'int', 'num_output'=>'int'], +'fann_create_train_from_callback' => ['resource', 'num_data'=>'int', 'num_input'=>'int', 'num_output'=>'int', 'user_function'=>'callable'], +'fann_descale_input' => ['bool', 'ann'=>'resource', 'input_vector'=>'array'], +'fann_descale_output' => ['bool', 'ann'=>'resource', 'output_vector'=>'array'], +'fann_descale_train' => ['bool', 'ann'=>'resource', 'train_data'=>'resource'], +'fann_destroy' => ['bool', 'ann'=>'resource'], +'fann_destroy_train' => ['bool', 'train_data'=>'resource'], +'fann_duplicate_train_data' => ['resource', 'data'=>'resource'], +'fann_get_activation_function' => ['int|false', 'ann'=>'resource', 'layer'=>'int', 'neuron'=>'int'], +'fann_get_activation_steepness' => ['float|false', 'ann'=>'resource', 'layer'=>'int', 'neuron'=>'int'], +'fann_get_bias_array' => ['array', 'ann'=>'resource'], +'fann_get_bit_fail' => ['int|false', 'ann'=>'resource'], +'fann_get_bit_fail_limit' => ['float|false', 'ann'=>'resource'], +'fann_get_cascade_activation_functions' => ['array|false', 'ann'=>'resource'], +'fann_get_cascade_activation_functions_count' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_activation_steepnesses' => ['array|false', 'ann'=>'resource'], +'fann_get_cascade_activation_steepnesses_count' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_candidate_change_fraction' => ['float|false', 'ann'=>'resource'], +'fann_get_cascade_candidate_limit' => ['float|false', 'ann'=>'resource'], +'fann_get_cascade_candidate_stagnation_epochs' => ['float|false', 'ann'=>'resource'], +'fann_get_cascade_max_cand_epochs' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_max_out_epochs' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_min_cand_epochs' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_min_out_epochs' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_num_candidate_groups' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_num_candidates' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_output_change_fraction' => ['float|false', 'ann'=>'resource'], +'fann_get_cascade_output_stagnation_epochs' => ['int|false', 'ann'=>'resource'], +'fann_get_cascade_weight_multiplier' => ['float|false', 'ann'=>'resource'], +'fann_get_connection_array' => ['array', 'ann'=>'resource'], +'fann_get_connection_rate' => ['float|false', 'ann'=>'resource'], +'fann_get_errno' => ['int|false', 'errdat'=>'resource'], +'fann_get_errstr' => ['string|false', 'errdat'=>'resource'], +'fann_get_layer_array' => ['array', 'ann'=>'resource'], +'fann_get_learning_momentum' => ['float|false', 'ann'=>'resource'], +'fann_get_learning_rate' => ['float|false', 'ann'=>'resource'], +'fann_get_MSE' => ['float|false', 'ann'=>'resource'], +'fann_get_network_type' => ['int|false', 'ann'=>'resource'], +'fann_get_num_input' => ['int|false', 'ann'=>'resource'], +'fann_get_num_layers' => ['int|false', 'ann'=>'resource'], +'fann_get_num_output' => ['int|false', 'ann'=>'resource'], +'fann_get_quickprop_decay' => ['float|false', 'ann'=>'resource'], +'fann_get_quickprop_mu' => ['float|false', 'ann'=>'resource'], +'fann_get_rprop_decrease_factor' => ['float|false', 'ann'=>'resource'], +'fann_get_rprop_delta_max' => ['float|false', 'ann'=>'resource'], +'fann_get_rprop_delta_min' => ['float|false', 'ann'=>'resource'], +'fann_get_rprop_delta_zero' => ['float|false', 'ann'=>'resource'], +'fann_get_rprop_increase_factor' => ['float|false', 'ann'=>'resource'], +'fann_get_sarprop_step_error_shift' => ['float|false', 'ann'=>'resource'], +'fann_get_sarprop_step_error_threshold_factor' => ['float|false', 'ann'=>'resource'], +'fann_get_sarprop_temperature' => ['float|false', 'ann'=>'resource'], +'fann_get_sarprop_weight_decay_shift' => ['float|false', 'ann'=>'resource'], +'fann_get_total_connections' => ['int|false', 'ann'=>'resource'], +'fann_get_total_neurons' => ['int|false', 'ann'=>'resource'], +'fann_get_train_error_function' => ['int|false', 'ann'=>'resource'], +'fann_get_train_stop_function' => ['int|false', 'ann'=>'resource'], +'fann_get_training_algorithm' => ['int|false', 'ann'=>'resource'], +'fann_init_weights' => ['bool', 'ann'=>'resource', 'train_data'=>'resource'], +'fann_length_train_data' => ['int|false', 'data'=>'resource'], +'fann_merge_train_data' => ['resource|false', 'data1'=>'resource', 'data2'=>'resource'], +'fann_num_input_train_data' => ['int|false', 'data'=>'resource'], +'fann_num_output_train_data' => ['int|false', 'data'=>'resource'], +'fann_print_error' => ['void', 'errdat'=>'string'], +'fann_randomize_weights' => ['bool', 'ann'=>'resource', 'min_weight'=>'float', 'max_weight'=>'float'], +'fann_read_train_from_file' => ['resource', 'filename'=>'string'], +'fann_reset_errno' => ['void', 'errdat'=>'resource'], +'fann_reset_errstr' => ['void', 'errdat'=>'resource'], +'fann_reset_MSE' => ['bool', 'ann'=>'string'], +'fann_run' => ['array|false', 'ann'=>'resource', 'input'=>'array'], +'fann_save' => ['bool', 'ann'=>'resource', 'configuration_file'=>'string'], +'fann_save_train' => ['bool', 'data'=>'resource', 'file_name'=>'string'], +'fann_scale_input' => ['bool', 'ann'=>'resource', 'input_vector'=>'array'], +'fann_scale_input_train_data' => ['bool', 'train_data'=>'resource', 'new_min'=>'float', 'new_max'=>'float'], +'fann_scale_output' => ['bool', 'ann'=>'resource', 'output_vector'=>'array'], +'fann_scale_output_train_data' => ['bool', 'train_data'=>'resource', 'new_min'=>'float', 'new_max'=>'float'], +'fann_scale_train' => ['bool', 'ann'=>'resource', 'train_data'=>'resource'], +'fann_scale_train_data' => ['bool', 'train_data'=>'resource', 'new_min'=>'float', 'new_max'=>'float'], +'fann_set_activation_function' => ['bool', 'ann'=>'resource', 'activation_function'=>'int', 'layer'=>'int', 'neuron'=>'int'], +'fann_set_activation_function_hidden' => ['bool', 'ann'=>'resource', 'activation_function'=>'int'], +'fann_set_activation_function_layer' => ['bool', 'ann'=>'resource', 'activation_function'=>'int', 'layer'=>'int'], +'fann_set_activation_function_output' => ['bool', 'ann'=>'resource', 'activation_function'=>'int'], +'fann_set_activation_steepness' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float', 'layer'=>'int', 'neuron'=>'int'], +'fann_set_activation_steepness_hidden' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float'], +'fann_set_activation_steepness_layer' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float', 'layer'=>'int'], +'fann_set_activation_steepness_output' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float'], +'fann_set_bit_fail_limit' => ['bool', 'ann'=>'resource', 'bit_fail_limit'=>'float'], +'fann_set_callback' => ['bool', 'ann'=>'resource', 'callback'=>'callable'], +'fann_set_cascade_activation_functions' => ['bool', 'ann'=>'resource', 'cascade_activation_functions'=>'array'], +'fann_set_cascade_activation_steepnesses' => ['bool', 'ann'=>'resource', 'cascade_activation_steepnesses_count'=>'array'], +'fann_set_cascade_candidate_change_fraction' => ['bool', 'ann'=>'resource', 'cascade_candidate_change_fraction'=>'float'], +'fann_set_cascade_candidate_limit' => ['bool', 'ann'=>'resource', 'cascade_candidate_limit'=>'float'], +'fann_set_cascade_candidate_stagnation_epochs' => ['bool', 'ann'=>'resource', 'cascade_candidate_stagnation_epochs'=>'int'], +'fann_set_cascade_max_cand_epochs' => ['bool', 'ann'=>'resource', 'cascade_max_cand_epochs'=>'int'], +'fann_set_cascade_max_out_epochs' => ['bool', 'ann'=>'resource', 'cascade_max_out_epochs'=>'int'], +'fann_set_cascade_min_cand_epochs' => ['bool', 'ann'=>'resource', 'cascade_min_cand_epochs'=>'int'], +'fann_set_cascade_min_out_epochs' => ['bool', 'ann'=>'resource', 'cascade_min_out_epochs'=>'int'], +'fann_set_cascade_num_candidate_groups' => ['bool', 'ann'=>'resource', 'cascade_num_candidate_groups'=>'int'], +'fann_set_cascade_output_change_fraction' => ['bool', 'ann'=>'resource', 'cascade_output_change_fraction'=>'float'], +'fann_set_cascade_output_stagnation_epochs' => ['bool', 'ann'=>'resource', 'cascade_output_stagnation_epochs'=>'int'], +'fann_set_cascade_weight_multiplier' => ['bool', 'ann'=>'resource', 'cascade_weight_multiplier'=>'float'], +'fann_set_error_log' => ['void', 'errdat'=>'resource', 'log_file'=>'string'], +'fann_set_input_scaling_params' => ['bool', 'ann'=>'resource', 'train_data'=>'resource', 'new_input_min'=>'float', 'new_input_max'=>'float'], +'fann_set_learning_momentum' => ['bool', 'ann'=>'resource', 'learning_momentum'=>'float'], +'fann_set_learning_rate' => ['bool', 'ann'=>'resource', 'learning_rate'=>'float'], +'fann_set_output_scaling_params' => ['bool', 'ann'=>'resource', 'train_data'=>'resource', 'new_output_min'=>'float', 'new_output_max'=>'float'], +'fann_set_quickprop_decay' => ['bool', 'ann'=>'resource', 'quickprop_decay'=>'float'], +'fann_set_quickprop_mu' => ['bool', 'ann'=>'resource', 'quickprop_mu'=>'float'], +'fann_set_rprop_decrease_factor' => ['bool', 'ann'=>'resource', 'rprop_decrease_factor'=>'float'], +'fann_set_rprop_delta_max' => ['bool', 'ann'=>'resource', 'rprop_delta_max'=>'float'], +'fann_set_rprop_delta_min' => ['bool', 'ann'=>'resource', 'rprop_delta_min'=>'float'], +'fann_set_rprop_delta_zero' => ['bool', 'ann'=>'resource', 'rprop_delta_zero'=>'float'], +'fann_set_rprop_increase_factor' => ['bool', 'ann'=>'resource', 'rprop_increase_factor'=>'float'], +'fann_set_sarprop_step_error_shift' => ['bool', 'ann'=>'resource', 'sarprop_step_error_shift'=>'float'], +'fann_set_sarprop_step_error_threshold_factor' => ['bool', 'ann'=>'resource', 'sarprop_step_error_threshold_factor'=>'float'], +'fann_set_sarprop_temperature' => ['bool', 'ann'=>'resource', 'sarprop_temperature'=>'float'], +'fann_set_sarprop_weight_decay_shift' => ['bool', 'ann'=>'resource', 'sarprop_weight_decay_shift'=>'float'], +'fann_set_scaling_params' => ['bool', 'ann'=>'resource', 'train_data'=>'resource', 'new_input_min'=>'float', 'new_input_max'=>'float', 'new_output_min'=>'float', 'new_output_max'=>'float'], +'fann_set_train_error_function' => ['bool', 'ann'=>'resource', 'error_function'=>'int'], +'fann_set_train_stop_function' => ['bool', 'ann'=>'resource', 'stop_function'=>'int'], +'fann_set_training_algorithm' => ['bool', 'ann'=>'resource', 'training_algorithm'=>'int'], +'fann_set_weight' => ['bool', 'ann'=>'resource', 'from_neuron'=>'int', 'to_neuron'=>'int', 'weight'=>'float'], +'fann_set_weight_array' => ['bool', 'ann'=>'resource', 'connections'=>'array'], +'fann_shuffle_train_data' => ['bool', 'train_data'=>'resource'], +'fann_subset_train_data' => ['resource', 'data'=>'resource', 'pos'=>'int', 'length'=>'int'], +'fann_test' => ['bool', 'ann'=>'resource', 'input'=>'array', 'desired_output'=>'array'], +'fann_test_data' => ['float|false', 'ann'=>'resource', 'data'=>'resource'], +'fann_train' => ['bool', 'ann'=>'resource', 'input'=>'array', 'desired_output'=>'array'], +'fann_train_epoch' => ['float|false', 'ann'=>'resource', 'data'=>'resource'], +'fann_train_on_data' => ['bool', 'ann'=>'resource', 'data'=>'resource', 'max_epochs'=>'int', 'epochs_between_reports'=>'int', 'desired_error'=>'float'], +'fann_train_on_file' => ['bool', 'ann'=>'resource', 'filename'=>'string', 'max_epochs'=>'int', 'epochs_between_reports'=>'int', 'desired_error'=>'float'], +'FANNConnection::__construct' => ['void', 'from_neuron'=>'int', 'to_neuron'=>'int', 'weight'=>'float'], +'FANNConnection::getFromNeuron' => ['int'], +'FANNConnection::getToNeuron' => ['int'], +'FANNConnection::getWeight' => ['void'], +'FANNConnection::setWeight' => ['bool', 'weight'=>'float'], +'fastcgi_finish_request' => ['bool'], +'fbsql_affected_rows' => ['int', 'link_identifier='=>'?resource'], +'fbsql_autocommit' => ['bool', 'link_identifier'=>'resource', 'onoff='=>'bool'], +'fbsql_blob_size' => ['int', 'blob_handle'=>'string', 'link_identifier='=>'?resource'], +'fbsql_change_user' => ['bool', 'user'=>'string', 'password'=>'string', 'database='=>'string', 'link_identifier='=>'?resource'], +'fbsql_clob_size' => ['int', 'clob_handle'=>'string', 'link_identifier='=>'?resource'], +'fbsql_close' => ['bool', 'link_identifier='=>'?resource'], +'fbsql_commit' => ['bool', 'link_identifier='=>'?resource'], +'fbsql_connect' => ['resource', 'hostname='=>'string', 'username='=>'string', 'password='=>'string'], +'fbsql_create_blob' => ['string', 'blob_data'=>'string', 'link_identifier='=>'?resource'], +'fbsql_create_clob' => ['string', 'clob_data'=>'string', 'link_identifier='=>'?resource'], +'fbsql_create_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource', 'database_options='=>'string'], +'fbsql_data_seek' => ['bool', 'result'=>'resource', 'row_number'=>'int'], +'fbsql_database' => ['string', 'link_identifier'=>'resource', 'database='=>'string'], +'fbsql_database_password' => ['string', 'link_identifier'=>'resource', 'database_password='=>'string'], +'fbsql_db_query' => ['resource', 'database'=>'string', 'query'=>'string', 'link_identifier='=>'?resource'], +'fbsql_db_status' => ['int', 'database_name'=>'string', 'link_identifier='=>'?resource'], +'fbsql_drop_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], +'fbsql_errno' => ['int', 'link_identifier='=>'?resource'], +'fbsql_error' => ['string', 'link_identifier='=>'?resource'], +'fbsql_fetch_array' => ['array', 'result'=>'resource', 'result_type='=>'int'], +'fbsql_fetch_assoc' => ['array', 'result'=>'resource'], +'fbsql_fetch_field' => ['object', 'result'=>'resource', 'field_offset='=>'int'], +'fbsql_fetch_lengths' => ['array', 'result'=>'resource'], +'fbsql_fetch_object' => ['object', 'result'=>'resource'], +'fbsql_fetch_row' => ['array', 'result'=>'resource'], +'fbsql_field_flags' => ['string', 'result'=>'resource', 'field_offset='=>'int'], +'fbsql_field_len' => ['int', 'result'=>'resource', 'field_offset='=>'int'], +'fbsql_field_name' => ['string', 'result'=>'resource', 'field_index='=>'int'], +'fbsql_field_seek' => ['bool', 'result'=>'resource', 'field_offset='=>'int'], +'fbsql_field_table' => ['string', 'result'=>'resource', 'field_offset='=>'int'], +'fbsql_field_type' => ['string', 'result'=>'resource', 'field_offset='=>'int'], +'fbsql_free_result' => ['bool', 'result'=>'resource'], +'fbsql_get_autostart_info' => ['array', 'link_identifier='=>'?resource'], +'fbsql_hostname' => ['string', 'link_identifier'=>'resource', 'host_name='=>'string'], +'fbsql_insert_id' => ['int', 'link_identifier='=>'?resource'], +'fbsql_list_dbs' => ['resource', 'link_identifier='=>'?resource'], +'fbsql_list_fields' => ['resource', 'database_name'=>'string', 'table_name'=>'string', 'link_identifier='=>'?resource'], +'fbsql_list_tables' => ['resource', 'database'=>'string', 'link_identifier='=>'?resource'], +'fbsql_next_result' => ['bool', 'result'=>'resource'], +'fbsql_num_fields' => ['int', 'result'=>'resource'], +'fbsql_num_rows' => ['int', 'result'=>'resource'], +'fbsql_password' => ['string', 'link_identifier'=>'resource', 'password='=>'string'], +'fbsql_pconnect' => ['resource', 'hostname='=>'string', 'username='=>'string', 'password='=>'string'], +'fbsql_query' => ['resource', 'query'=>'string', 'link_identifier='=>'?resource', 'batch_size='=>'int'], +'fbsql_read_blob' => ['string', 'blob_handle'=>'string', 'link_identifier='=>'?resource'], +'fbsql_read_clob' => ['string', 'clob_handle'=>'string', 'link_identifier='=>'?resource'], +'fbsql_result' => ['mixed', 'result'=>'resource', 'row='=>'int', 'field='=>'mixed'], +'fbsql_rollback' => ['bool', 'link_identifier='=>'?resource'], +'fbsql_rows_fetched' => ['int', 'result'=>'resource'], +'fbsql_select_db' => ['bool', 'database_name='=>'string', 'link_identifier='=>'?resource'], +'fbsql_set_characterset' => ['void', 'link_identifier'=>'resource', 'characterset'=>'int', 'in_out_both='=>'int'], +'fbsql_set_lob_mode' => ['bool', 'result'=>'resource', 'lob_mode'=>'int'], +'fbsql_set_password' => ['bool', 'link_identifier'=>'resource', 'user'=>'string', 'password'=>'string', 'old_password'=>'string'], +'fbsql_set_transaction' => ['void', 'link_identifier'=>'resource', 'locking'=>'int', 'isolation'=>'int'], +'fbsql_start_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource', 'database_options='=>'string'], +'fbsql_stop_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], +'fbsql_table_name' => ['string', 'result'=>'resource', 'index'=>'int'], +'fbsql_username' => ['string', 'link_identifier'=>'resource', 'username='=>'string'], +'fbsql_warnings' => ['bool', 'onoff='=>'bool'], +'fclose' => ['bool', 'stream'=>'resource'], +'fdf_add_doc_javascript' => ['bool', 'fdf_document'=>'resource', 'script_name'=>'string', 'script_code'=>'string'], +'fdf_add_template' => ['bool', 'fdf_document'=>'resource', 'newpage'=>'int', 'filename'=>'string', 'template'=>'string', 'rename'=>'int'], +'fdf_close' => ['void', 'fdf_document'=>'resource'], +'fdf_create' => ['resource'], +'fdf_enum_values' => ['bool', 'fdf_document'=>'resource', 'function'=>'callable', 'userdata='=>'mixed'], +'fdf_errno' => ['int'], +'fdf_error' => ['string', 'error_code='=>'int'], +'fdf_get_ap' => ['bool', 'fdf_document'=>'resource', 'field'=>'string', 'face'=>'int', 'filename'=>'string'], +'fdf_get_attachment' => ['array', 'fdf_document'=>'resource', 'fieldname'=>'string', 'savepath'=>'string'], +'fdf_get_encoding' => ['string', 'fdf_document'=>'resource'], +'fdf_get_file' => ['string', 'fdf_document'=>'resource'], +'fdf_get_flags' => ['int', 'fdf_document'=>'resource', 'fieldname'=>'string', 'whichflags'=>'int'], +'fdf_get_opt' => ['mixed', 'fdf_document'=>'resource', 'fieldname'=>'string', 'element='=>'int'], +'fdf_get_status' => ['string', 'fdf_document'=>'resource'], +'fdf_get_value' => ['mixed', 'fdf_document'=>'resource', 'fieldname'=>'string', 'which='=>'int'], +'fdf_get_version' => ['string', 'fdf_document='=>'resource'], +'fdf_header' => ['void'], +'fdf_next_field_name' => ['string', 'fdf_document'=>'resource', 'fieldname='=>'string'], +'fdf_open' => ['resource|false', 'filename'=>'string'], +'fdf_open_string' => ['resource', 'fdf_data'=>'string'], +'fdf_remove_item' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'item'=>'int'], +'fdf_save' => ['bool', 'fdf_document'=>'resource', 'filename='=>'string'], +'fdf_save_string' => ['string', 'fdf_document'=>'resource'], +'fdf_set_ap' => ['bool', 'fdf_document'=>'resource', 'field_name'=>'string', 'face'=>'int', 'filename'=>'string', 'page_number'=>'int'], +'fdf_set_encoding' => ['bool', 'fdf_document'=>'resource', 'encoding'=>'string'], +'fdf_set_file' => ['bool', 'fdf_document'=>'resource', 'url'=>'string', 'target_frame='=>'string'], +'fdf_set_flags' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'whichflags'=>'int', 'newflags'=>'int'], +'fdf_set_javascript_action' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'trigger'=>'int', 'script'=>'string'], +'fdf_set_on_import_javascript' => ['bool', 'fdf_document'=>'resource', 'script'=>'string', 'before_data_import'=>'bool'], +'fdf_set_opt' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'element'=>'int', 'string1'=>'string', 'string2'=>'string'], +'fdf_set_status' => ['bool', 'fdf_document'=>'resource', 'status'=>'string'], +'fdf_set_submit_form_action' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'trigger'=>'int', 'script'=>'string', 'flags'=>'int'], +'fdf_set_target_frame' => ['bool', 'fdf_document'=>'resource', 'frame_name'=>'string'], +'fdf_set_value' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'value'=>'mixed', 'isname='=>'int'], +'fdf_set_version' => ['bool', 'fdf_document'=>'resource', 'version'=>'string'], +'fdiv' => ['float', 'num1'=>'float', 'num2'=>'float'], +'feof' => ['bool', 'stream'=>'resource'], +'fflush' => ['bool', 'stream'=>'resource'], +'fsync' => ['bool', 'stream'=>'resource'], +'fdatasync' => ['bool', 'stream'=>'resource'], +'ffmpeg_animated_gif::__construct' => ['void', 'output_file_path'=>'string', 'width'=>'int', 'height'=>'int', 'frame_rate'=>'int', 'loop_count='=>'int'], +'ffmpeg_animated_gif::addFrame' => ['', 'frame_to_add'=>'ffmpeg_frame'], +'ffmpeg_frame::__construct' => ['void', 'gd_image'=>'resource'], +'ffmpeg_frame::crop' => ['', 'crop_top'=>'int', 'crop_bottom='=>'int', 'crop_left='=>'int', 'crop_right='=>'int'], +'ffmpeg_frame::getHeight' => ['int'], +'ffmpeg_frame::getPresentationTimestamp' => ['int'], +'ffmpeg_frame::getPTS' => ['int'], +'ffmpeg_frame::getWidth' => ['int'], +'ffmpeg_frame::resize' => ['', 'width'=>'int', 'height'=>'int', 'crop_top='=>'int', 'crop_bottom='=>'int', 'crop_left='=>'int', 'crop_right='=>'int'], +'ffmpeg_frame::toGDImage' => ['resource'], +'ffmpeg_movie::__construct' => ['void', 'path_to_media'=>'string', 'persistent'=>'bool'], +'ffmpeg_movie::getArtist' => ['string'], +'ffmpeg_movie::getAudioBitRate' => ['int'], +'ffmpeg_movie::getAudioChannels' => ['int'], +'ffmpeg_movie::getAudioCodec' => ['string'], +'ffmpeg_movie::getAudioSampleRate' => ['int'], +'ffmpeg_movie::getAuthor' => ['string'], +'ffmpeg_movie::getBitRate' => ['int'], +'ffmpeg_movie::getComment' => ['string'], +'ffmpeg_movie::getCopyright' => ['string'], +'ffmpeg_movie::getDuration' => ['int'], +'ffmpeg_movie::getFilename' => ['string'], +'ffmpeg_movie::getFrame' => ['ffmpeg_frame|false', 'framenumber'=>'int'], +'ffmpeg_movie::getFrameCount' => ['int'], +'ffmpeg_movie::getFrameHeight' => ['int'], +'ffmpeg_movie::getFrameNumber' => ['int'], +'ffmpeg_movie::getFrameRate' => ['int'], +'ffmpeg_movie::getFrameWidth' => ['int'], +'ffmpeg_movie::getGenre' => ['string'], +'ffmpeg_movie::getNextKeyFrame' => ['ffmpeg_frame|false'], +'ffmpeg_movie::getPixelFormat' => [''], +'ffmpeg_movie::getTitle' => ['string'], +'ffmpeg_movie::getTrackNumber' => ['int|string'], +'ffmpeg_movie::getVideoBitRate' => ['int'], +'ffmpeg_movie::getVideoCodec' => ['string'], +'ffmpeg_movie::getYear' => ['int|string'], +'ffmpeg_movie::hasAudio' => ['bool'], +'ffmpeg_movie::hasVideo' => ['bool'], +'fgetc' => ['string|false', 'stream'=>'resource'], +'fgetcsv' => ['list|array{0: null}|false', 'stream'=>'resource', 'length='=>'?int', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], +'fgets' => ['string|false', 'stream'=>'resource', 'length='=>'?int'], +'Fiber::__construct' => ['void', 'callback'=>'callable'], +'Fiber::start' => ['mixed', '...args'=>'mixed'], +'Fiber::resume' => ['mixed', 'value='=>'null|mixed'], +'Fiber::throw' => ['mixed', 'exception'=>'Throwable'], +'Fiber::isStarted' => ['bool'], +'Fiber::isSuspended' => ['bool'], +'Fiber::isRunning' => ['bool'], +'Fiber::isTerminated' => ['bool'], +'Fiber::getReturn' => ['mixed'], +'Fiber::getCurrent' => ['?self'], +'Fiber::suspend' => ['mixed', 'value='=>'null|mixed'], +'FiberError::__construct' => ['void'], +'file' => ['list|false', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], +'file_exists' => ['bool', 'filename'=>'string'], +'file_get_contents' => ['string|false', 'filename'=>'string', 'use_include_path='=>'bool', 'context='=>'?resource', 'offset='=>'int', 'length='=>'?int'], +'file_put_contents' => ['int|false', 'filename'=>'string', 'data'=>'string|resource|array', 'flags='=>'int', 'context='=>'resource'], +'fileatime' => ['int|false', 'filename'=>'string'], +'filectime' => ['int|false', 'filename'=>'string'], +'filegroup' => ['int|false', 'filename'=>'string'], +'fileinode' => ['int|false', 'filename'=>'string'], +'filemtime' => ['int|false', 'filename'=>'string'], +'fileowner' => ['int|false', 'filename'=>'string'], +'fileperms' => ['int|false', 'filename'=>'string'], +'filepro' => ['bool', 'directory'=>'string'], +'filepro_fieldcount' => ['int'], +'filepro_fieldname' => ['string', 'field_number'=>'int'], +'filepro_fieldtype' => ['string', 'field_number'=>'int'], +'filepro_fieldwidth' => ['int', 'field_number'=>'int'], +'filepro_retrieve' => ['string', 'row_number'=>'int', 'field_number'=>'int'], +'filepro_rowcount' => ['int'], +'filesize' => ['int|false', 'filename'=>'string'], +'FilesystemIterator::__construct' => ['void', 'path'=>'string', 'flags='=>'int'], +'FilesystemIterator::__toString' => ['string'], +'FilesystemIterator::current' => ['SplFileInfo|FilesystemIterator|string'], +'FilesystemIterator::getATime' => ['int'], +'FilesystemIterator::getBasename' => ['string', 'suffix='=>'string'], +'FilesystemIterator::getCTime' => ['int'], +'FilesystemIterator::getExtension' => ['string'], +'FilesystemIterator::getFileInfo' => ['SplFileInfo', 'class_name='=>'string'], +'FilesystemIterator::getFilename' => ['string'], +'FilesystemIterator::getFlags' => ['int'], +'FilesystemIterator::getGroup' => ['int'], +'FilesystemIterator::getInode' => ['int'], +'FilesystemIterator::getLinkTarget' => ['string'], +'FilesystemIterator::getMTime' => ['int'], +'FilesystemIterator::getOwner' => ['int'], +'FilesystemIterator::getPath' => ['string'], +'FilesystemIterator::getPathInfo' => ['SplFileInfo', 'class_name='=>'string'], +'FilesystemIterator::getPathname' => ['string'], +'FilesystemIterator::getPerms' => ['int'], +'FilesystemIterator::getRealPath' => ['string'], +'FilesystemIterator::getSize' => ['int'], +'FilesystemIterator::getType' => ['string'], +'FilesystemIterator::isDir' => ['bool'], +'FilesystemIterator::isDot' => ['bool'], +'FilesystemIterator::isExecutable' => ['bool'], +'FilesystemIterator::isFile' => ['bool'], +'FilesystemIterator::isLink' => ['bool'], +'FilesystemIterator::isReadable' => ['bool'], +'FilesystemIterator::isWritable' => ['bool'], +'FilesystemIterator::key' => ['string'], +'FilesystemIterator::next' => ['void'], +'FilesystemIterator::openFile' => ['SplFileObject', 'mode='=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], +'FilesystemIterator::rewind' => ['void'], +'FilesystemIterator::seek' => ['void', 'position'=>'int'], +'FilesystemIterator::setFileClass' => ['void', 'class_name='=>'string'], +'FilesystemIterator::setFlags' => ['void', 'flags='=>'int'], +'FilesystemIterator::setInfoClass' => ['void', 'class_name='=>'string'], +'FilesystemIterator::valid' => ['bool'], +'filetype' => ['string|false', 'filename'=>'string'], +'filter_has_var' => ['bool', 'input_type'=>'int', 'var_name'=>'string'], +'filter_id' => ['int|false', 'name'=>'string'], +'filter_input' => ['mixed|false', 'type'=>'int', 'var_name'=>'string', 'filter='=>'int', 'options='=>'array|int'], +'filter_input_array' => ['array|false|null', 'type'=>'int', 'options='=>'int|array', 'add_empty='=>'bool'], +'filter_list' => ['array'], +'filter_var' => ['mixed|false', 'value'=>'mixed', 'filter='=>'int', 'options='=>'array|int'], +'filter_var_array' => ['array|false|null', 'array'=>'array', 'options='=>'array|int', 'add_empty='=>'bool'], +'FilterIterator::__construct' => ['void', 'iterator'=>'Iterator'], +'FilterIterator::accept' => ['bool'], +'FilterIterator::current' => ['mixed'], +'FilterIterator::getInnerIterator' => ['Iterator'], +'FilterIterator::key' => ['mixed'], +'FilterIterator::next' => ['void'], +'FilterIterator::rewind' => ['void'], +'FilterIterator::valid' => ['bool'], +'finfo::__construct' => ['void', 'flags='=>'int', 'magic_database='=>'?string'], +'finfo::buffer' => ['string|false', 'string'=>'string', 'flags='=>'int', 'context='=>'?resource'], +'finfo::file' => ['string|false', 'filename'=>'string', 'flags='=>'int', 'context='=>'?resource'], +'finfo::set_flags' => ['bool', 'flags'=>'int'], +'finfo_buffer' => ['string|false', 'finfo'=>'finfo', 'string'=>'string', 'flags='=>'int', 'context='=>'resource'], +'finfo_close' => ['bool', 'finfo'=>'finfo'], +'finfo_file' => ['string|false', 'finfo'=>'finfo', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], +'finfo_open' => ['finfo|false', 'flags='=>'int', 'magic_database='=>'?string'], +'finfo_set_flags' => ['bool', 'finfo'=>'finfo', 'flags'=>'int'], +'floatval' => ['float', 'value'=>'mixed'], +'flock' => ['bool', 'stream'=>'resource', 'operation'=>'int', '&w_would_block='=>'int'], +'floor' => ['float', 'num'=>'float'], +'flush' => ['void'], +'fmod' => ['float', 'num1'=>'float', 'num2'=>'float'], +'fnmatch' => ['bool', 'pattern'=>'string', 'filename'=>'string', 'flags='=>'int'], +'fopen' => ['resource|false', 'filename'=>'string', 'mode'=>'string', 'use_include_path='=>'bool', 'context='=>'resource|null'], +'forward_static_call' => ['mixed|false', 'callback'=>'callable', '...args='=>'mixed'], +'forward_static_call_array' => ['mixed|false', 'callback'=>'callable', 'args'=>'list'], +'fpassthru' => ['int', 'stream'=>'resource'], +'fpm_get_status' => ['array|false'], +'fprintf' => ['int', 'stream'=>'resource', 'format'=>'string', '...values='=>'string|int|float'], +'fputcsv' => ['int|false', 'stream'=>'resource', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string', 'eol='=>'string'], +'fputs' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], +'fread' => ['string|false', 'stream'=>'resource', 'length'=>'int'], +'frenchtojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], +'fribidi_log2vis' => ['string', 'string'=>'string', 'direction'=>'string', 'charset'=>'int'], +'fscanf' => ['list', 'stream'=>'resource', 'format'=>'string'], +'fscanf\'1' => ['int', 'stream'=>'resource', 'format'=>'string', '&...w_vars='=>'string|int|float'], +'fseek' => ['int', 'stream'=>'resource', 'offset'=>'int', 'whence='=>'int'], +'fsockopen' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'?float'], +'fstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'stream'=>'resource'], +'ftell' => ['int|false', 'stream'=>'resource'], +'ftok' => ['int', 'filename'=>'string', 'project_id'=>'string'], +'ftp_alloc' => ['bool', 'ftp'=>'FTP\Connection', 'size'=>'int', '&w_response='=>'string'], +'ftp_append' => ['bool', 'ftp'=>'FTP\Connection', 'remote_filename'=>'string', 'local_filename'=>'string', 'mode='=>'int'], +'ftp_cdup' => ['bool', 'ftp'=>'FTP\Connection'], +'ftp_chdir' => ['bool', 'ftp'=>'FTP\Connection', 'directory'=>'string'], +'ftp_chmod' => ['int|false', 'ftp'=>'FTP\Connection', 'permissions'=>'int', 'filename'=>'string'], +'ftp_close' => ['bool', 'ftp'=>'FTP\Connection'], +'ftp_connect' => ['FTP\Connection|false', 'hostname'=>'string', 'port='=>'int', 'timeout='=>'int'], +'ftp_delete' => ['bool', 'ftp'=>'FTP\Connection', 'filename'=>'string'], +'ftp_exec' => ['bool', 'ftp'=>'FTP\Connection', 'command'=>'string'], +'ftp_fget' => ['bool', 'ftp'=>'FTP\Connection', 'stream'=>'resource', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], +'ftp_fput' => ['bool', 'ftp'=>'FTP\Connection', 'remote_filename'=>'string', 'stream'=>'resource', 'mode='=>'int', 'offset='=>'int'], +'ftp_get' => ['bool', 'ftp'=>'FTP\Connection', 'local_filename'=>'string', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], +'ftp_get_option' => ['int|false', 'ftp'=>'FTP\Connection', 'option'=>'int'], +'ftp_login' => ['bool', 'ftp'=>'FTP\Connection', 'username'=>'string', 'password'=>'string'], +'ftp_mdtm' => ['int', 'ftp'=>'FTP\Connection', 'filename'=>'string'], +'ftp_mkdir' => ['string|false', 'ftp'=>'FTP\Connection', 'directory'=>'string'], +'ftp_mlsd' => ['array|false', 'ftp'=>'FTP\Connection', 'directory'=>'string'], +'ftp_nb_continue' => ['int', 'ftp'=>'FTP\Connection'], +'ftp_nb_fget' => ['int', 'ftp'=>'FTP\Connection', 'stream'=>'resource', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], +'ftp_nb_fput' => ['int', 'ftp'=>'FTP\Connection', 'remote_filename'=>'string', 'stream'=>'resource', 'mode='=>'int', 'offset='=>'int'], +'ftp_nb_get' => ['int', 'ftp'=>'FTP\Connection', 'local_filename'=>'string', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], +'ftp_nb_put' => ['int', 'ftp'=>'FTP\Connection', 'remote_filename'=>'string', 'local_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], +'ftp_nlist' => ['array|false', 'ftp'=>'FTP\Connection', 'directory'=>'string'], +'ftp_pasv' => ['bool', 'ftp'=>'FTP\Connection', 'enable'=>'bool'], +'ftp_put' => ['bool', 'ftp'=>'FTP\Connection', 'remote_filename'=>'string', 'local_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], +'ftp_pwd' => ['string|false', 'ftp'=>'FTP\Connection'], +'ftp_quit' => ['bool', 'ftp'=>'FTP\Connection'], +'ftp_raw' => ['?array', 'ftp'=>'FTP\Connection', 'command'=>'string'], +'ftp_rawlist' => ['array|false', 'ftp'=>'FTP\Connection', 'directory'=>'string', 'recursive='=>'bool'], +'ftp_rename' => ['bool', 'ftp'=>'FTP\Connection', 'from'=>'string', 'to'=>'string'], +'ftp_rmdir' => ['bool', 'ftp'=>'FTP\Connection', 'directory'=>'string'], +'ftp_set_option' => ['bool', 'ftp'=>'FTP\Connection', 'option'=>'int', 'value'=>'mixed'], +'ftp_site' => ['bool', 'ftp'=>'FTP\Connection', 'command'=>'string'], +'ftp_size' => ['int', 'ftp'=>'FTP\Connection', 'filename'=>'string'], +'ftp_ssl_connect' => ['FTP\Connection|false', 'hostname'=>'string', 'port='=>'int', 'timeout='=>'int'], +'ftp_systype' => ['string|false', 'ftp'=>'FTP\Connection'], +'ftruncate' => ['bool', 'stream'=>'resource', 'size'=>'int'], +'func_get_arg' => ['mixed|false', 'position'=>'int'], +'func_get_args' => ['list'], +'func_num_args' => ['int'], +'function_exists' => ['bool', 'function'=>'string'], +'fwrite' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], +'gc_collect_cycles' => ['int'], +'gc_disable' => ['void'], +'gc_enable' => ['void'], +'gc_enabled' => ['bool'], +'gc_mem_caches' => ['int'], +'gc_status' => ['array{runs:int,collected:int,threshold:int,roots:int}'], +'gd_info' => ['array'], +'gearman_bugreport' => [''], +'gearman_client_add_options' => ['', 'client_object'=>'', 'option'=>''], +'gearman_client_add_server' => ['', 'client_object'=>'', 'host'=>'', 'port'=>''], +'gearman_client_add_servers' => ['', 'client_object'=>'', 'servers'=>''], +'gearman_client_add_task' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], +'gearman_client_add_task_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], +'gearman_client_add_task_high' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], +'gearman_client_add_task_high_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], +'gearman_client_add_task_low' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], +'gearman_client_add_task_low_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], +'gearman_client_add_task_status' => ['', 'client_object'=>'', 'job_handle'=>'', 'context'=>''], +'gearman_client_clear_fn' => ['', 'client_object'=>''], +'gearman_client_clone' => ['', 'client_object'=>''], +'gearman_client_context' => ['', 'client_object'=>''], +'gearman_client_create' => ['', 'client_object'=>''], +'gearman_client_do' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], +'gearman_client_do_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], +'gearman_client_do_high' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], +'gearman_client_do_high_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], +'gearman_client_do_job_handle' => ['', 'client_object'=>''], +'gearman_client_do_low' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], +'gearman_client_do_low_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], +'gearman_client_do_normal' => ['', 'client_object'=>'', 'function_name'=>'string', 'workload'=>'string', 'unique'=>'string'], +'gearman_client_do_status' => ['', 'client_object'=>''], +'gearman_client_echo' => ['', 'client_object'=>'', 'workload'=>''], +'gearman_client_errno' => ['', 'client_object'=>''], +'gearman_client_error' => ['', 'client_object'=>''], +'gearman_client_job_status' => ['', 'client_object'=>'', 'job_handle'=>''], +'gearman_client_options' => ['', 'client_object'=>''], +'gearman_client_remove_options' => ['', 'client_object'=>'', 'option'=>''], +'gearman_client_return_code' => ['', 'client_object'=>''], +'gearman_client_run_tasks' => ['', 'data'=>''], +'gearman_client_set_complete_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_context' => ['', 'client_object'=>'', 'context'=>''], +'gearman_client_set_created_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_data_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_exception_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_fail_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_options' => ['', 'client_object'=>'', 'option'=>''], +'gearman_client_set_status_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_timeout' => ['', 'client_object'=>'', 'timeout'=>''], +'gearman_client_set_warning_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_set_workload_fn' => ['', 'client_object'=>'', 'callback'=>''], +'gearman_client_timeout' => ['', 'client_object'=>''], +'gearman_client_wait' => ['', 'client_object'=>''], +'gearman_job_function_name' => ['', 'job_object'=>''], +'gearman_job_handle' => ['string'], +'gearman_job_return_code' => ['', 'job_object'=>''], +'gearman_job_send_complete' => ['', 'job_object'=>'', 'result'=>''], +'gearman_job_send_data' => ['', 'job_object'=>'', 'data'=>''], +'gearman_job_send_exception' => ['', 'job_object'=>'', 'exception'=>''], +'gearman_job_send_fail' => ['', 'job_object'=>''], +'gearman_job_send_status' => ['', 'job_object'=>'', 'numerator'=>'', 'denominator'=>''], +'gearman_job_send_warning' => ['', 'job_object'=>'', 'warning'=>''], +'gearman_job_status' => ['array', 'job_handle'=>'string'], +'gearman_job_unique' => ['', 'job_object'=>''], +'gearman_job_workload' => ['', 'job_object'=>''], +'gearman_job_workload_size' => ['', 'job_object'=>''], +'gearman_task_data' => ['', 'task_object'=>''], +'gearman_task_data_size' => ['', 'task_object'=>''], +'gearman_task_denominator' => ['', 'task_object'=>''], +'gearman_task_function_name' => ['', 'task_object'=>''], +'gearman_task_is_known' => ['', 'task_object'=>''], +'gearman_task_is_running' => ['', 'task_object'=>''], +'gearman_task_job_handle' => ['', 'task_object'=>''], +'gearman_task_numerator' => ['', 'task_object'=>''], +'gearman_task_recv_data' => ['', 'task_object'=>'', 'data_len'=>''], +'gearman_task_return_code' => ['', 'task_object'=>''], +'gearman_task_send_workload' => ['', 'task_object'=>'', 'data'=>''], +'gearman_task_unique' => ['', 'task_object'=>''], +'gearman_verbose_name' => ['', 'verbose'=>''], +'gearman_version' => [''], +'gearman_worker_add_function' => ['', 'worker_object'=>'', 'function_name'=>'', 'function'=>'', 'data'=>'', 'timeout'=>''], +'gearman_worker_add_options' => ['', 'worker_object'=>'', 'option'=>''], +'gearman_worker_add_server' => ['', 'worker_object'=>'', 'host'=>'', 'port'=>''], +'gearman_worker_add_servers' => ['', 'worker_object'=>'', 'servers'=>''], +'gearman_worker_clone' => ['', 'worker_object'=>''], +'gearman_worker_create' => [''], +'gearman_worker_echo' => ['', 'worker_object'=>'', 'workload'=>''], +'gearman_worker_errno' => ['', 'worker_object'=>''], +'gearman_worker_error' => ['', 'worker_object'=>''], +'gearman_worker_grab_job' => ['', 'worker_object'=>''], +'gearman_worker_options' => ['', 'worker_object'=>''], +'gearman_worker_register' => ['', 'worker_object'=>'', 'function_name'=>'', 'timeout'=>''], +'gearman_worker_remove_options' => ['', 'worker_object'=>'', 'option'=>''], +'gearman_worker_return_code' => ['', 'worker_object'=>''], +'gearman_worker_set_options' => ['', 'worker_object'=>'', 'option'=>''], +'gearman_worker_set_timeout' => ['', 'worker_object'=>'', 'timeout'=>''], +'gearman_worker_timeout' => ['', 'worker_object'=>''], +'gearman_worker_unregister' => ['', 'worker_object'=>'', 'function_name'=>''], +'gearman_worker_unregister_all' => ['', 'worker_object'=>''], +'gearman_worker_wait' => ['', 'worker_object'=>''], +'gearman_worker_work' => ['', 'worker_object'=>''], +'GearmanClient::__construct' => ['void'], +'GearmanClient::addOptions' => ['bool', 'options'=>'int'], +'GearmanClient::addServer' => ['bool', 'host='=>'string', 'port='=>'int'], +'GearmanClient::addServers' => ['bool', 'servers='=>'string'], +'GearmanClient::addTask' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], +'GearmanClient::addTaskBackground' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], +'GearmanClient::addTaskHigh' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], +'GearmanClient::addTaskHighBackground' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], +'GearmanClient::addTaskLow' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], +'GearmanClient::addTaskLowBackground' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], +'GearmanClient::addTaskStatus' => ['GearmanTask', 'job_handle'=>'string', 'context='=>'string'], +'GearmanClient::clearCallbacks' => ['bool'], +'GearmanClient::clone' => ['GearmanClient'], +'GearmanClient::context' => ['string'], +'GearmanClient::data' => ['string'], +'GearmanClient::do' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doBackground' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doHigh' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doHighBackground' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doJobHandle' => ['string'], +'GearmanClient::doLow' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doLowBackground' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doNormal' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], +'GearmanClient::doStatus' => ['array'], +'GearmanClient::echo' => ['bool', 'workload'=>'string'], +'GearmanClient::error' => ['string'], +'GearmanClient::getErrno' => ['int'], +'GearmanClient::jobStatus' => ['array', 'job_handle'=>'string'], +'GearmanClient::options' => [''], +'GearmanClient::ping' => ['bool', 'workload'=>'string'], +'GearmanClient::removeOptions' => ['bool', 'options'=>'int'], +'GearmanClient::returnCode' => ['int'], +'GearmanClient::runTasks' => ['bool'], +'GearmanClient::setClientCallback' => ['void', 'callback'=>'callable'], +'GearmanClient::setCompleteCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::setContext' => ['bool', 'context'=>'string'], +'GearmanClient::setCreatedCallback' => ['bool', 'callback'=>'string'], +'GearmanClient::setData' => ['bool', 'data'=>'string'], +'GearmanClient::setDataCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::setExceptionCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::setFailCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::setOptions' => ['bool', 'options'=>'int'], +'GearmanClient::setStatusCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::setTimeout' => ['bool', 'timeout'=>'int'], +'GearmanClient::setWarningCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::setWorkloadCallback' => ['bool', 'callback'=>'callable'], +'GearmanClient::timeout' => ['int'], +'GearmanClient::wait' => [''], +'GearmanJob::__construct' => ['void'], +'GearmanJob::complete' => ['bool', 'result'=>'string'], +'GearmanJob::data' => ['bool', 'data'=>'string'], +'GearmanJob::exception' => ['bool', 'exception'=>'string'], +'GearmanJob::fail' => ['bool'], +'GearmanJob::functionName' => ['string'], +'GearmanJob::handle' => ['string'], +'GearmanJob::returnCode' => ['int'], +'GearmanJob::sendComplete' => ['bool', 'result'=>'string'], +'GearmanJob::sendData' => ['bool', 'data'=>'string'], +'GearmanJob::sendException' => ['bool', 'exception'=>'string'], +'GearmanJob::sendFail' => ['bool'], +'GearmanJob::sendStatus' => ['bool', 'numerator'=>'int', 'denominator'=>'int'], +'GearmanJob::sendWarning' => ['bool', 'warning'=>'string'], +'GearmanJob::setReturn' => ['bool', 'gearman_return_t'=>'string'], +'GearmanJob::status' => ['bool', 'numerator'=>'int', 'denominator'=>'int'], +'GearmanJob::unique' => ['string'], +'GearmanJob::warning' => ['bool', 'warning'=>'string'], +'GearmanJob::workload' => ['string'], +'GearmanJob::workloadSize' => ['int'], +'GearmanTask::__construct' => ['void'], +'GearmanTask::create' => ['GearmanTask'], +'GearmanTask::data' => ['string|false'], +'GearmanTask::dataSize' => ['int|false'], +'GearmanTask::function' => ['string'], +'GearmanTask::functionName' => ['string'], +'GearmanTask::isKnown' => ['bool'], +'GearmanTask::isRunning' => ['bool'], +'GearmanTask::jobHandle' => ['string'], +'GearmanTask::recvData' => ['array|false', 'data_len'=>'int'], +'GearmanTask::returnCode' => ['int'], +'GearmanTask::sendData' => ['int', 'data'=>'string'], +'GearmanTask::sendWorkload' => ['int|false', 'data'=>'string'], +'GearmanTask::taskDenominator' => ['int|false'], +'GearmanTask::taskNumerator' => ['int|false'], +'GearmanTask::unique' => ['string|false'], +'GearmanTask::uuid' => ['string'], +'GearmanWorker::__construct' => ['void'], +'GearmanWorker::addFunction' => ['bool', 'function_name'=>'string', 'function'=>'callable', 'context='=>'mixed', 'timeout='=>'int'], +'GearmanWorker::addOptions' => ['bool', 'option'=>'int'], +'GearmanWorker::addServer' => ['bool', 'host='=>'string', 'port='=>'int'], +'GearmanWorker::addServers' => ['bool', 'servers'=>'string'], +'GearmanWorker::clone' => ['void'], +'GearmanWorker::echo' => ['bool', 'workload'=>'string'], +'GearmanWorker::error' => ['string'], +'GearmanWorker::getErrno' => ['int'], +'GearmanWorker::grabJob' => [''], +'GearmanWorker::options' => ['int'], +'GearmanWorker::register' => ['bool', 'function_name'=>'string', 'timeout='=>'int'], +'GearmanWorker::removeOptions' => ['bool', 'option'=>'int'], +'GearmanWorker::returnCode' => ['int'], +'GearmanWorker::setId' => ['bool', 'id'=>'string'], +'GearmanWorker::setOptions' => ['bool', 'option'=>'int'], +'GearmanWorker::setTimeout' => ['bool', 'timeout'=>'int'], +'GearmanWorker::timeout' => ['int'], +'GearmanWorker::unregister' => ['bool', 'function_name'=>'string'], +'GearmanWorker::unregisterAll' => ['bool'], +'GearmanWorker::wait' => ['bool'], +'GearmanWorker::work' => ['bool'], +'Gender\Gender::__construct' => ['void', 'dsn='=>'string'], +'Gender\Gender::connect' => ['bool', 'dsn'=>'string'], +'Gender\Gender::country' => ['array', 'country'=>'int'], +'Gender\Gender::get' => ['int', 'name'=>'string', 'country='=>'int'], +'Gender\Gender::isNick' => ['array', 'name0'=>'string', 'name1'=>'string', 'country='=>'int'], +'Gender\Gender::similarNames' => ['array', 'name'=>'string', 'country='=>'int'], +'Generator::__wakeup' => ['void'], +'Generator::current' => ['mixed'], +'Generator::getReturn' => ['mixed'], +'Generator::key' => ['mixed'], +'Generator::next' => ['void'], +'Generator::rewind' => ['void'], +'Generator::send' => ['mixed', 'value'=>'mixed'], +'Generator::throw' => ['mixed', 'exception'=>'Throwable'], +'Generator::valid' => ['bool'], +'geoip_asnum_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_continent_code_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_country_code3_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_country_code_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_country_name_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_database_info' => ['string', 'database='=>'int'], +'geoip_db_avail' => ['bool', 'database'=>'int'], +'geoip_db_filename' => ['string', 'database'=>'int'], +'geoip_db_get_all_info' => ['array'], +'geoip_domain_by_name' => ['string', 'hostname'=>'string'], +'geoip_id_by_name' => ['int', 'hostname'=>'string'], +'geoip_isp_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_netspeedcell_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_org_by_name' => ['string|false', 'hostname'=>'string'], +'geoip_record_by_name' => ['array|false', 'hostname'=>'string'], +'geoip_region_by_name' => ['array|false', 'hostname'=>'string'], +'geoip_region_name_by_code' => ['string|false', 'country_code'=>'string', 'region_code'=>'string'], +'geoip_setup_custom_directory' => ['void', 'path'=>'string'], +'geoip_time_zone_by_country_and_region' => ['string|false', 'country_code'=>'string', 'region_code='=>'string'], +'GEOSGeometry::__toString' => ['string'], +'GEOSGeometry::project' => ['float', 'other'=>'GEOSGeometry', 'normalized'=>'bool'], +'GEOSGeometry::interpolate' => ['GEOSGeometry', 'dist'=>'float', 'normalized'=>'bool'], +'GEOSGeometry::buffer' => ['GEOSGeometry', 'dist'=>'float', 'styleArray='=>'array'], +'GEOSGeometry::offsetCurve' => ['GEOSGeometry', 'dist'=>'float', 'styleArray'=>'array'], +'GEOSGeometry::envelope' => ['GEOSGeometry'], +'GEOSGeometry::intersection' => ['GEOSGeometry', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::convexHull' => ['GEOSGeometry'], +'GEOSGeometry::difference' => ['GEOSGeometry', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::symDifference' => ['GEOSGeometry', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::boundary' => ['GEOSGeometry'], +'GEOSGeometry::union' => ['GEOSGeometry', 'otherGeom='=>'GEOSGeometry'], +'GEOSGeometry::pointOnSurface' => ['GEOSGeometry'], +'GEOSGeometry::centroid' => ['GEOSGeometry'], +'GEOSGeometry::relate' => ['string|bool', 'otherGeom'=>'GEOSGeometry', 'pattern'=>'string'], +'GEOSGeometry::relateBoundaryNodeRule' => ['string', 'otherGeom'=>'GEOSGeometry', 'rule'=>'int'], +'GEOSGeometry::simplify' => ['GEOSGeometry', 'tolerance'=>'float', 'preserveTopology='=>'bool'], +'GEOSGeometry::normalize' => ['GEOSGeometry'], +'GEOSGeometry::extractUniquePoints' => ['GEOSGeometry'], +'GEOSGeometry::disjoint' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::touches' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::intersects' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::crosses' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::within' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::contains' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::overlaps' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::covers' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::coveredBy' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::equals' => ['bool', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::equalsExact' => ['bool', 'geom'=>'GEOSGeometry', 'tolerance'=>'float'], +'GEOSGeometry::isEmpty' => ['bool'], +'GEOSGeometry::checkValidity' => ['array{valid: bool, reason?: string, location?: GEOSGeometry}'], +'GEOSGeometry::isSimple' => ['bool'], +'GEOSGeometry::isRing' => ['bool'], +'GEOSGeometry::hasZ' => ['bool'], +'GEOSGeometry::isClosed' => ['bool'], +'GEOSGeometry::typeName' => ['string'], +'GEOSGeometry::typeId' => ['int'], +'GEOSGeometry::getSRID' => ['int'], +'GEOSGeometry::setSRID' => ['void', 'srid'=>'int'], +'GEOSGeometry::numGeometries' => ['int'], +'GEOSGeometry::geometryN' => ['GEOSGeometry', 'num'=>'int'], +'GEOSGeometry::numInteriorRings' => ['int'], +'GEOSGeometry::numPoints' => ['int'], +'GEOSGeometry::getX' => ['float'], +'GEOSGeometry::getY' => ['float'], +'GEOSGeometry::interiorRingN' => ['GEOSGeometry', 'num'=>'int'], +'GEOSGeometry::exteriorRing' => ['GEOSGeometry'], +'GEOSGeometry::numCoordinates' => ['int'], +'GEOSGeometry::dimension' => ['int'], +'GEOSGeometry::coordinateDimension' => ['int'], +'GEOSGeometry::pointN' => ['GEOSGeometry', 'num'=>'int'], +'GEOSGeometry::startPoint' => ['GEOSGeometry'], +'GEOSGeometry::endPoint' => ['GEOSGeometry'], +'GEOSGeometry::area' => ['float'], +'GEOSGeometry::length' => ['float'], +'GEOSGeometry::distance' => ['float', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::hausdorffDistance' => ['float', 'geom'=>'GEOSGeometry'], +'GEOSGeometry::snapTo' => ['GEOSGeometry', 'geom'=>'GEOSGeometry', 'tolerance'=>'float'], +'GEOSGeometry::node' => ['GEOSGeometry'], +'GEOSGeometry::delaunayTriangulation' => ['GEOSGeometry', 'tolerance'=>'float', 'onlyEdges'=>'bool'], +'GEOSGeometry::voronoiDiagram' => ['GEOSGeometry', 'tolerance'=>'float', 'onlyEdges'=>'bool', 'extent'=>'GEOSGeometry|null'], +'GEOSLineMerge' => ['array', 'geom'=>'GEOSGeometry'], +'GEOSPolygonize' => ['array{rings: GEOSGeometry[], cut_edges?: GEOSGeometry[], dangles: GEOSGeometry[], invalid_rings: GEOSGeometry[]}', 'geom'=>'GEOSGeometry'], +'GEOSRelateMatch' => ['bool', 'matrix'=>'string', 'pattern'=>'string'], +'GEOSSharedPaths' => ['GEOSGeometry', 'geom1'=>'GEOSGeometry', 'geom2'=>'GEOSGeometry'], +'GEOSVersion' => ['string'], +'GEOSWKBReader::__construct' => ['void'], +'GEOSWKBReader::read' => ['GEOSGeometry', 'wkb'=>'string'], +'GEOSWKBReader::readHEX' => ['GEOSGeometry', 'wkb'=>'string'], +'GEOSWKBWriter::__construct' => ['void'], +'GEOSWKBWriter::getOutputDimension' => ['int'], +'GEOSWKBWriter::setOutputDimension' => ['void', 'dim'=>'int'], +'GEOSWKBWriter::getByteOrder' => ['int'], +'GEOSWKBWriter::setByteOrder' => ['void', 'byteOrder'=>'int'], +'GEOSWKBWriter::getIncludeSRID' => ['bool'], +'GEOSWKBWriter::setIncludeSRID' => ['void', 'inc'=>'bool'], +'GEOSWKBWriter::write' => ['string', 'geom'=>'GEOSGeometry'], +'GEOSWKBWriter::writeHEX' => ['string', 'geom'=>'GEOSGeometry'], +'GEOSWKTReader::__construct' => ['void'], +'GEOSWKTReader::read' => ['GEOSGeometry', 'wkt'=>'string'], +'GEOSWKTWriter::__construct' => ['void'], +'GEOSWKTWriter::write' => ['string', 'geom'=>'GEOSGeometry'], +'GEOSWKTWriter::setTrim' => ['void', 'trim'=>'bool'], +'GEOSWKTWriter::setRoundingPrecision' => ['void', 'prec'=>'int'], +'GEOSWKTWriter::setOutputDimension' => ['void', 'dim'=>'int'], +'GEOSWKTWriter::getOutputDimension' => ['int'], +'GEOSWKTWriter::setOld3D' => ['void', 'val'=>'bool'], +'get_browser' => ['array|object|false', 'user_agent='=>'?string', 'return_array='=>'bool'], +'get_call_stack' => [''], +'get_called_class' => ['class-string'], +'get_cfg_var' => ['string|false', 'option'=>'string'], +'get_class' => ['class-string', 'object='=>'object'], +'get_class_methods' => ['list', 'object_or_class'=>'object|class-string'], +'get_class_vars' => ['array', 'class'=>'string'], +'get_current_user' => ['string'], +'get_debug_type' => ['string', 'value'=>'mixed'], +'get_declared_classes' => ['list'], +'get_declared_interfaces' => ['list'], +'get_declared_traits' => ['list'], +'get_defined_constants' => ['array', 'categorize='=>'bool'], +'get_defined_functions' => ['array{internal: list, user: list}', 'exclude_disabled='=>'bool'], +'get_defined_vars' => ['array'], +'get_extension_funcs' => ['list|false', 'extension'=>'string'], +'get_headers' => ['array|false', 'url'=>'string', 'associative='=>'bool', 'context='=>'?resource'], +'get_html_translation_table' => ['array', 'table='=>'int', 'flags='=>'int', 'encoding='=>'string'], +'get_include_path' => ['string'], +'get_included_files' => ['list'], +'get_loaded_extensions' => ['list', 'zend_extensions='=>'bool'], +'get_magic_quotes_gpc' => ['int|false'], +'get_magic_quotes_runtime' => ['int|false'], +'get_meta_tags' => ['array', 'filename'=>'string', 'use_include_path='=>'bool'], +'get_object_vars' => ['array', 'object'=>'object'], +'get_parent_class' => ['class-string|false', 'object_or_class='=>'object|class-string'], +'get_required_files' => ['list'], +'get_resource_id' => ['int', 'resource'=>'resource'], +'get_resource_type' => ['string', 'resource'=>'resource'], +'get_resources' => ['array', 'type='=>'?string'], +'getallheaders' => ['array|false'], +'getcwd' => ['string|false'], +'getdate' => ['array{seconds: int<0, 59>, minutes: int<0, 59>, hours: int<0, 23>, mday: int<1, 31>, wday: int<0, 6>, mon: int<1, 12>, year: int, yday: int<0, 365>, weekday: "Monday"|"Tuesday"|"Wednesday"|"Thursday"|"Friday"|"Saturday"|"Sunday", month: "January"|"February"|"March"|"April"|"May"|"June"|"July"|"August"|"September"|"October"|"November"|"December", 0: int}', 'timestamp='=>'?int'], +'getenv' => ['string|false', 'name'=>'string', 'local_only='=>'bool'], +'getenv\'1' => ['array'], +'gethostbyaddr' => ['string|false', 'ip'=>'string'], +'gethostbyname' => ['string', 'hostname'=>'string'], +'gethostbynamel' => ['list|false', 'hostname'=>'string'], +'gethostname' => ['string|false'], +'getimagesize' => ['array|false', 'filename'=>'string', '&w_image_info='=>'array'], +'getimagesizefromstring' => ['array|false', 'string'=>'string', '&w_image_info='=>'array'], +'getlastmod' => ['int|false'], +'getmxrr' => ['bool', 'hostname'=>'string', '&w_hosts'=>'array', '&w_weights='=>'array'], +'getmygid' => ['int|false'], +'getmyinode' => ['int|false'], +'getmypid' => ['int|false'], +'getmyuid' => ['int|false'], +'getopt' => ['array>|false', 'short_options'=>'string', 'long_options='=>'array', '&w_rest_index='=>'int'], +'getprotobyname' => ['int|false', 'protocol'=>'string'], +'getprotobynumber' => ['string', 'protocol'=>'int'], +'getrandmax' => ['int'], +'getrusage' => ['array', 'mode='=>'int'], +'getservbyname' => ['int|false', 'service'=>'string', 'protocol'=>'string'], +'getservbyport' => ['string|false', 'port'=>'int', 'protocol'=>'string'], +'gettext' => ['string', 'message'=>'string'], +'gettimeofday' => ['array'], +'gettimeofday\'1' => ['float', 'as_float='=>'true'], +'gettype' => ['string', 'value'=>'mixed'], +'glob' => ['list|false', 'pattern'=>'string', 'flags='=>'int'], +'GlobIterator::__construct' => ['void', 'path'=>'string', 'flags='=>'int'], +'GlobIterator::count' => ['int'], +'GlobIterator::current' => ['FilesystemIterator|SplFileInfo|string'], +'GlobIterator::getATime' => ['int'], +'GlobIterator::getBasename' => ['string', 'suffix='=>'string'], +'GlobIterator::getCTime' => ['int'], +'GlobIterator::getExtension' => ['string'], +'GlobIterator::getFileInfo' => ['SplFileInfo'], +'GlobIterator::getFilename' => ['string'], +'GlobIterator::getFlags' => ['int'], +'GlobIterator::getGroup' => ['int'], +'GlobIterator::getInode' => ['int'], +'GlobIterator::getLinkTarget' => ['string|false'], +'GlobIterator::getMTime' => ['int'], +'GlobIterator::getOwner' => ['int'], +'GlobIterator::getPath' => ['string'], +'GlobIterator::getPathInfo' => ['?SplFileInfo'], +'GlobIterator::getPathname' => ['string'], +'GlobIterator::getPerms' => ['int'], +'GlobIterator::getRealPath' => ['string|false'], +'GlobIterator::getSize' => ['int'], +'GlobIterator::getType' => ['string|false'], +'GlobIterator::isDir' => ['bool'], +'GlobIterator::isDot' => ['bool'], +'GlobIterator::isExecutable' => ['bool'], +'GlobIterator::isFile' => ['bool'], +'GlobIterator::isLink' => ['bool'], +'GlobIterator::isReadable' => ['bool'], +'GlobIterator::isWritable' => ['bool'], +'GlobIterator::key' => ['string'], +'GlobIterator::next' => ['void'], +'GlobIterator::openFile' => ['SplFileObject'], +'GlobIterator::rewind' => ['void'], +'GlobIterator::seek' => ['void', 'position'=>'int'], +'GlobIterator::setFileClass' => ['void'], +'GlobIterator::setFlags' => ['void', 'flags='=>'int'], +'GlobIterator::setInfoClass' => ['void'], +'GlobIterator::valid' => ['bool'], +'Gmagick::__construct' => ['void', 'filename='=>'string'], +'Gmagick::addimage' => ['Gmagick', 'gmagick'=>'gmagick'], +'Gmagick::addnoiseimage' => ['Gmagick', 'noise'=>'int'], +'Gmagick::annotateimage' => ['Gmagick', 'gmagickdraw'=>'gmagickdraw', 'x'=>'float', 'y'=>'float', 'angle'=>'float', 'text'=>'string'], +'Gmagick::blurimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], +'Gmagick::borderimage' => ['Gmagick', 'color'=>'gmagickpixel', 'width'=>'int', 'height'=>'int'], +'Gmagick::charcoalimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float'], +'Gmagick::chopimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Gmagick::clear' => ['Gmagick'], +'Gmagick::commentimage' => ['Gmagick', 'comment'=>'string'], +'Gmagick::compositeimage' => ['Gmagick', 'source'=>'gmagick', 'compose'=>'int', 'x'=>'int', 'y'=>'int'], +'Gmagick::cropimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Gmagick::cropthumbnailimage' => ['Gmagick', 'width'=>'int', 'height'=>'int'], +'Gmagick::current' => ['Gmagick'], +'Gmagick::cyclecolormapimage' => ['Gmagick', 'displace'=>'int'], +'Gmagick::deconstructimages' => ['Gmagick'], +'Gmagick::despeckleimage' => ['Gmagick'], +'Gmagick::destroy' => ['bool'], +'Gmagick::drawimage' => ['Gmagick', 'gmagickdraw'=>'gmagickdraw'], +'Gmagick::edgeimage' => ['Gmagick', 'radius'=>'float'], +'Gmagick::embossimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float'], +'Gmagick::enhanceimage' => ['Gmagick'], +'Gmagick::equalizeimage' => ['Gmagick'], +'Gmagick::flipimage' => ['Gmagick'], +'Gmagick::flopimage' => ['Gmagick'], +'Gmagick::frameimage' => ['Gmagick', 'color'=>'gmagickpixel', 'width'=>'int', 'height'=>'int', 'inner_bevel'=>'int', 'outer_bevel'=>'int'], +'Gmagick::gammaimage' => ['Gmagick', 'gamma'=>'float'], +'Gmagick::getcopyright' => ['string'], +'Gmagick::getfilename' => ['string'], +'Gmagick::getimagebackgroundcolor' => ['GmagickPixel'], +'Gmagick::getimageblueprimary' => ['array'], +'Gmagick::getimagebordercolor' => ['GmagickPixel'], +'Gmagick::getimagechanneldepth' => ['int', 'channel_type'=>'int'], +'Gmagick::getimagecolors' => ['int'], +'Gmagick::getimagecolorspace' => ['int'], +'Gmagick::getimagecompose' => ['int'], +'Gmagick::getimagedelay' => ['int'], +'Gmagick::getimagedepth' => ['int'], +'Gmagick::getimagedispose' => ['int'], +'Gmagick::getimageextrema' => ['array'], +'Gmagick::getimagefilename' => ['string'], +'Gmagick::getimageformat' => ['string'], +'Gmagick::getimagegamma' => ['float'], +'Gmagick::getimagegreenprimary' => ['array'], +'Gmagick::getimageheight' => ['int'], +'Gmagick::getimagehistogram' => ['array'], +'Gmagick::getimageindex' => ['int'], +'Gmagick::getimageinterlacescheme' => ['int'], +'Gmagick::getimageiterations' => ['int'], +'Gmagick::getimagematte' => ['int'], +'Gmagick::getimagemattecolor' => ['GmagickPixel'], +'Gmagick::getimageprofile' => ['string', 'name'=>'string'], +'Gmagick::getimageredprimary' => ['array'], +'Gmagick::getimagerenderingintent' => ['int'], +'Gmagick::getimageresolution' => ['array'], +'Gmagick::getimagescene' => ['int'], +'Gmagick::getimagesignature' => ['string'], +'Gmagick::getimagetype' => ['int'], +'Gmagick::getimageunits' => ['int'], +'Gmagick::getimagewhitepoint' => ['array'], +'Gmagick::getimagewidth' => ['int'], +'Gmagick::getpackagename' => ['string'], +'Gmagick::getquantumdepth' => ['array'], +'Gmagick::getreleasedate' => ['string'], +'Gmagick::getsamplingfactors' => ['array'], +'Gmagick::getsize' => ['array'], +'Gmagick::getversion' => ['array'], +'Gmagick::hasnextimage' => ['bool'], +'Gmagick::haspreviousimage' => ['bool'], +'Gmagick::implodeimage' => ['mixed', 'radius'=>'float'], +'Gmagick::labelimage' => ['mixed', 'label'=>'string'], +'Gmagick::levelimage' => ['mixed', 'blackpoint'=>'float', 'gamma'=>'float', 'whitepoint'=>'float', 'channel='=>'int'], +'Gmagick::magnifyimage' => ['mixed'], +'Gmagick::mapimage' => ['Gmagick', 'gmagick'=>'gmagick', 'dither'=>'bool'], +'Gmagick::medianfilterimage' => ['void', 'radius'=>'float'], +'Gmagick::minifyimage' => ['Gmagick'], +'Gmagick::modulateimage' => ['Gmagick', 'brightness'=>'float', 'saturation'=>'float', 'hue'=>'float'], +'Gmagick::motionblurimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float', 'angle'=>'float'], +'Gmagick::newimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'background'=>'string', 'format='=>'string'], +'Gmagick::nextimage' => ['bool'], +'Gmagick::normalizeimage' => ['Gmagick', 'channel='=>'int'], +'Gmagick::oilpaintimage' => ['Gmagick', 'radius'=>'float'], +'Gmagick::previousimage' => ['bool'], +'Gmagick::profileimage' => ['Gmagick', 'name'=>'string', 'profile'=>'string'], +'Gmagick::quantizeimage' => ['Gmagick', 'numcolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], +'Gmagick::quantizeimages' => ['Gmagick', 'numcolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], +'Gmagick::queryfontmetrics' => ['array', 'draw'=>'gmagickdraw', 'text'=>'string'], +'Gmagick::queryfonts' => ['array', 'pattern='=>'string'], +'Gmagick::queryformats' => ['array', 'pattern='=>'string'], +'Gmagick::radialblurimage' => ['Gmagick', 'angle'=>'float', 'channel='=>'int'], +'Gmagick::raiseimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int', 'raise'=>'bool'], +'Gmagick::read' => ['Gmagick', 'filename'=>'string'], +'Gmagick::readimage' => ['Gmagick', 'filename'=>'string'], +'Gmagick::readimageblob' => ['Gmagick', 'imagecontents'=>'string', 'filename='=>'string'], +'Gmagick::readimagefile' => ['Gmagick', 'fp'=>'resource', 'filename='=>'string'], +'Gmagick::reducenoiseimage' => ['Gmagick', 'radius'=>'float'], +'Gmagick::removeimage' => ['Gmagick'], +'Gmagick::removeimageprofile' => ['string', 'name'=>'string'], +'Gmagick::resampleimage' => ['Gmagick', 'xresolution'=>'float', 'yresolution'=>'float', 'filter'=>'int', 'blur'=>'float'], +'Gmagick::resizeimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'filter'=>'int', 'blur'=>'float', 'fit='=>'bool'], +'Gmagick::rollimage' => ['Gmagick', 'x'=>'int', 'y'=>'int'], +'Gmagick::rotateimage' => ['Gmagick', 'color'=>'mixed', 'degrees'=>'float'], +'Gmagick::scaleimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'fit='=>'bool'], +'Gmagick::separateimagechannel' => ['Gmagick', 'channel'=>'int'], +'Gmagick::setCompressionQuality' => ['Gmagick', 'quality'=>'int'], +'Gmagick::setfilename' => ['Gmagick', 'filename'=>'string'], +'Gmagick::setimagebackgroundcolor' => ['Gmagick', 'color'=>'gmagickpixel'], +'Gmagick::setimageblueprimary' => ['Gmagick', 'x'=>'float', 'y'=>'float'], +'Gmagick::setimagebordercolor' => ['Gmagick', 'color'=>'gmagickpixel'], +'Gmagick::setimagechanneldepth' => ['Gmagick', 'channel'=>'int', 'depth'=>'int'], +'Gmagick::setimagecolorspace' => ['Gmagick', 'colorspace'=>'int'], +'Gmagick::setimagecompose' => ['Gmagick', 'composite'=>'int'], +'Gmagick::setimagedelay' => ['Gmagick', 'delay'=>'int'], +'Gmagick::setimagedepth' => ['Gmagick', 'depth'=>'int'], +'Gmagick::setimagedispose' => ['Gmagick', 'disposetype'=>'int'], +'Gmagick::setimagefilename' => ['Gmagick', 'filename'=>'string'], +'Gmagick::setimageformat' => ['Gmagick', 'imageformat'=>'string'], +'Gmagick::setimagegamma' => ['Gmagick', 'gamma'=>'float'], +'Gmagick::setimagegreenprimary' => ['Gmagick', 'x'=>'float', 'y'=>'float'], +'Gmagick::setimageindex' => ['Gmagick', 'index'=>'int'], +'Gmagick::setimageinterlacescheme' => ['Gmagick', 'interlace'=>'int'], +'Gmagick::setimageiterations' => ['Gmagick', 'iterations'=>'int'], +'Gmagick::setimageprofile' => ['Gmagick', 'name'=>'string', 'profile'=>'string'], +'Gmagick::setimageredprimary' => ['Gmagick', 'x'=>'float', 'y'=>'float'], +'Gmagick::setimagerenderingintent' => ['Gmagick', 'rendering_intent'=>'int'], +'Gmagick::setimageresolution' => ['Gmagick', 'xresolution'=>'float', 'yresolution'=>'float'], +'Gmagick::setimagescene' => ['Gmagick', 'scene'=>'int'], +'Gmagick::setimagetype' => ['Gmagick', 'imgtype'=>'int'], +'Gmagick::setimageunits' => ['Gmagick', 'resolution'=>'int'], +'Gmagick::setimagewhitepoint' => ['Gmagick', 'x'=>'float', 'y'=>'float'], +'Gmagick::setsamplingfactors' => ['Gmagick', 'factors'=>'array'], +'Gmagick::setsize' => ['Gmagick', 'columns'=>'int', 'rows'=>'int'], +'Gmagick::shearimage' => ['Gmagick', 'color'=>'mixed', 'xshear'=>'float', 'yshear'=>'float'], +'Gmagick::solarizeimage' => ['Gmagick', 'threshold'=>'int'], +'Gmagick::spreadimage' => ['Gmagick', 'radius'=>'float'], +'Gmagick::stripimage' => ['Gmagick'], +'Gmagick::swirlimage' => ['Gmagick', 'degrees'=>'float'], +'Gmagick::thumbnailimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'fit='=>'bool'], +'Gmagick::trimimage' => ['Gmagick', 'fuzz'=>'float'], +'Gmagick::write' => ['Gmagick', 'filename'=>'string'], +'Gmagick::writeimage' => ['Gmagick', 'filename'=>'string', 'all_frames='=>'bool'], +'GmagickDraw::annotate' => ['GmagickDraw', 'x'=>'float', 'y'=>'float', 'text'=>'string'], +'GmagickDraw::arc' => ['GmagickDraw', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float', 'sd'=>'float', 'ed'=>'float'], +'GmagickDraw::bezier' => ['GmagickDraw', 'coordinate_array'=>'array'], +'GmagickDraw::ellipse' => ['GmagickDraw', 'ox'=>'float', 'oy'=>'float', 'rx'=>'float', 'ry'=>'float', 'start'=>'float', 'end'=>'float'], +'GmagickDraw::getfillcolor' => ['GmagickPixel'], +'GmagickDraw::getfillopacity' => ['float'], +'GmagickDraw::getfont' => ['string|false'], +'GmagickDraw::getfontsize' => ['float'], +'GmagickDraw::getfontstyle' => ['int'], +'GmagickDraw::getfontweight' => ['int'], +'GmagickDraw::getstrokecolor' => ['GmagickPixel'], +'GmagickDraw::getstrokeopacity' => ['float'], +'GmagickDraw::getstrokewidth' => ['float'], +'GmagickDraw::gettextdecoration' => ['int'], +'GmagickDraw::gettextencoding' => ['string|false'], +'GmagickDraw::line' => ['GmagickDraw', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float'], +'GmagickDraw::point' => ['GmagickDraw', 'x'=>'float', 'y'=>'float'], +'GmagickDraw::polygon' => ['GmagickDraw', 'coordinates'=>'array'], +'GmagickDraw::polyline' => ['GmagickDraw', 'coordinate_array'=>'array'], +'GmagickDraw::rectangle' => ['GmagickDraw', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float'], +'GmagickDraw::rotate' => ['GmagickDraw', 'degrees'=>'float'], +'GmagickDraw::roundrectangle' => ['GmagickDraw', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'rx'=>'float', 'ry'=>'float'], +'GmagickDraw::scale' => ['GmagickDraw', 'x'=>'float', 'y'=>'float'], +'GmagickDraw::setfillcolor' => ['GmagickDraw', 'color'=>'string'], +'GmagickDraw::setfillopacity' => ['GmagickDraw', 'fill_opacity'=>'float'], +'GmagickDraw::setfont' => ['GmagickDraw', 'font'=>'string'], +'GmagickDraw::setfontsize' => ['GmagickDraw', 'pointsize'=>'float'], +'GmagickDraw::setfontstyle' => ['GmagickDraw', 'style'=>'int'], +'GmagickDraw::setfontweight' => ['GmagickDraw', 'weight'=>'int'], +'GmagickDraw::setstrokecolor' => ['GmagickDraw', 'color'=>'gmagickpixel'], +'GmagickDraw::setstrokeopacity' => ['GmagickDraw', 'stroke_opacity'=>'float'], +'GmagickDraw::setstrokewidth' => ['GmagickDraw', 'width'=>'float'], +'GmagickDraw::settextdecoration' => ['GmagickDraw', 'decoration'=>'int'], +'GmagickDraw::settextencoding' => ['GmagickDraw', 'encoding'=>'string'], +'GmagickPixel::__construct' => ['void', 'color='=>'string'], +'GmagickPixel::getcolor' => ['mixed', 'as_array='=>'bool', 'normalize_array='=>'bool'], +'GmagickPixel::getcolorcount' => ['int'], +'GmagickPixel::getcolorvalue' => ['float', 'color'=>'int'], +'GmagickPixel::setcolor' => ['GmagickPixel', 'color'=>'string'], +'GmagickPixel::setcolorvalue' => ['GmagickPixel', 'color'=>'int', 'value'=>'float'], +'gmdate' => ['string', 'format'=>'string', 'timestamp='=>'int|null'], +'gmmktime' => ['int|false', 'hour'=>'int', 'minute='=>'int|null', 'second='=>'int|null', 'month='=>'int|null', 'day='=>'int|null', 'year='=>'int|null'], +'GMP::__construct' => ['void'], +'GMP::__serialize' => ['array'], +'GMP::__toString' => ['numeric-string'], +'GMP::__unserialize' => ['void', 'data'=>'array'], +'gmp_abs' => ['GMP', 'num'=>'GMP|string|int'], +'gmp_add' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_and' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_binomial' => ['GMP', 'n'=>'GMP|string|int', 'k'=>'int'], +'gmp_clrbit' => ['void', 'num'=>'GMP', 'index'=>'int'], +'gmp_cmp' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_com' => ['GMP', 'num'=>'GMP|string|int'], +'gmp_div' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], +'gmp_div_q' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], +'gmp_div_qr' => ['array{0: GMP, 1: GMP}', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], +'gmp_div_r' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], +'gmp_divexact' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_export' => ['string', 'num'=>'GMP|string|int', 'word_size='=>'int', 'flags='=>'int'], +'gmp_fact' => ['GMP', 'num'=>'int'], +'gmp_gcd' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_gcdext' => ['array', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_hamdist' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_import' => ['GMP', 'data'=>'string', 'word_size='=>'int', 'flags='=>'int'], +'gmp_init' => ['GMP', 'num'=>'int|string', 'base='=>'int'], +'gmp_intval' => ['int', 'num'=>'GMP|string|int'], +'gmp_invert' => ['GMP|false', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_jacobi' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_kronecker' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_lcm' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_legendre' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_mod' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_mul' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_neg' => ['GMP', 'num'=>'GMP|string|int'], +'gmp_nextprime' => ['GMP', 'num'=>'GMP|string|int'], +'gmp_or' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_perfect_power' => ['bool', 'num'=>'GMP|string|int'], +'gmp_perfect_square' => ['bool', 'num'=>'GMP|string|int'], +'gmp_popcount' => ['int', 'num'=>'GMP|string|int'], +'gmp_pow' => ['GMP', 'num'=>'GMP|string|int', 'exponent'=>'int'], +'gmp_powm' => ['GMP', 'num'=>'GMP|string|int', 'exponent'=>'GMP|string|int', 'modulus'=>'GMP|string|int'], +'gmp_prob_prime' => ['int', 'num'=>'GMP|string|int', 'repetitions='=>'int'], +'gmp_random_bits' => ['GMP', 'bits'=>'int'], +'gmp_random_range' => ['GMP', 'min'=>'GMP|string|int', 'max'=>'GMP|string|int'], +'gmp_random_seed' => ['void', 'seed'=>'GMP|string|int'], +'gmp_root' => ['GMP', 'num'=>'GMP|string|int', 'nth'=>'int'], +'gmp_rootrem' => ['array{0: GMP, 1: GMP}', 'num'=>'GMP|string|int', 'nth'=>'int'], +'gmp_scan0' => ['int', 'num1'=>'GMP|string|int', 'start'=>'int'], +'gmp_scan1' => ['int', 'num1'=>'GMP|string|int', 'start'=>'int'], +'gmp_setbit' => ['void', 'num'=>'GMP', 'index'=>'int', 'value='=>'bool'], +'gmp_sign' => ['int', 'num'=>'GMP|string|int'], +'gmp_sqrt' => ['GMP', 'num'=>'GMP|string|int'], +'gmp_sqrtrem' => ['array{0: GMP, 1: GMP}', 'num'=>'GMP|string|int'], +'gmp_strval' => ['numeric-string', 'num'=>'GMP|string|int', 'base='=>'int'], +'gmp_sub' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmp_testbit' => ['bool', 'num'=>'GMP|string|int', 'index'=>'int'], +'gmp_xor' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], +'gmstrftime' => ['string|false', 'format'=>'string', 'timestamp='=>'?int'], +'gnupg::adddecryptkey' => ['bool', 'fingerprint'=>'string', 'passphrase'=>'string'], +'gnupg::addencryptkey' => ['bool', 'fingerprint'=>'string'], +'gnupg::addsignkey' => ['bool', 'fingerprint'=>'string', 'passphrase='=>'string'], +'gnupg::cleardecryptkeys' => ['bool'], +'gnupg::clearencryptkeys' => ['bool'], +'gnupg::clearsignkeys' => ['bool'], +'gnupg::decrypt' => ['string|false', 'text'=>'string'], +'gnupg::decryptverify' => ['array|false', 'text'=>'string', '&plaintext'=>'string'], +'gnupg::encrypt' => ['string|false', 'plaintext'=>'string'], +'gnupg::encryptsign' => ['string|false', 'plaintext'=>'string'], +'gnupg::export' => ['string|false', 'fingerprint'=>'string'], +'gnupg::geterror' => ['string|false'], +'gnupg::getprotocol' => ['int'], +'gnupg::import' => ['array|false', 'keydata'=>'string'], +'gnupg::keyinfo' => ['array', 'pattern'=>'string'], +'gnupg::setarmor' => ['bool', 'armor'=>'int'], +'gnupg::seterrormode' => ['void', 'errormode'=>'int'], +'gnupg::setsignmode' => ['bool', 'signmode'=>'int'], +'gnupg::sign' => ['string|false', 'plaintext'=>'string'], +'gnupg::verify' => ['array|false', 'signed_text'=>'string', 'signature'=>'string', '&plaintext='=>'string'], +'gnupg_adddecryptkey' => ['bool', 'identifier'=>'resource', 'fingerprint'=>'string', 'passphrase'=>'string'], +'gnupg_addencryptkey' => ['bool', 'identifier'=>'resource', 'fingerprint'=>'string'], +'gnupg_addsignkey' => ['bool', 'identifier'=>'resource', 'fingerprint'=>'string', 'passphrase='=>'string'], +'gnupg_cleardecryptkeys' => ['bool', 'identifier'=>'resource'], +'gnupg_clearencryptkeys' => ['bool', 'identifier'=>'resource'], +'gnupg_clearsignkeys' => ['bool', 'identifier'=>'resource'], +'gnupg_decrypt' => ['string', 'identifier'=>'resource', 'text'=>'string'], +'gnupg_decryptverify' => ['array', 'identifier'=>'resource', 'text'=>'string', 'plaintext'=>'string'], +'gnupg_encrypt' => ['string', 'identifier'=>'resource', 'plaintext'=>'string'], +'gnupg_encryptsign' => ['string', 'identifier'=>'resource', 'plaintext'=>'string'], +'gnupg_export' => ['string', 'identifier'=>'resource', 'fingerprint'=>'string'], +'gnupg_geterror' => ['string', 'identifier'=>'resource'], +'gnupg_getprotocol' => ['int', 'identifier'=>'resource'], +'gnupg_import' => ['array', 'identifier'=>'resource', 'keydata'=>'string'], +'gnupg_init' => ['resource'], +'gnupg_keyinfo' => ['array', 'identifier'=>'resource', 'pattern'=>'string'], +'gnupg_setarmor' => ['bool', 'identifier'=>'resource', 'armor'=>'int'], +'gnupg_seterrormode' => ['void', 'identifier'=>'resource', 'errormode'=>'int'], +'gnupg_setsignmode' => ['bool', 'identifier'=>'resource', 'signmode'=>'int'], +'gnupg_sign' => ['string', 'identifier'=>'resource', 'plaintext'=>'string'], +'gnupg_verify' => ['array', 'identifier'=>'resource', 'signed_text'=>'string', 'signature'=>'string', 'plaintext='=>'string'], +'gopher_parsedir' => ['array', 'dirent'=>'string'], +'grapheme_extract' => ['string|false', 'haystack'=>'string', 'size'=>'int', 'type='=>'int', 'offset='=>'int', '&w_next='=>'int'], +'grapheme_stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'grapheme_stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'beforeNeedle='=>'bool'], +'grapheme_strlen' => ['0|positive-int|false|null', 'string'=>'string'], +'grapheme_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'grapheme_strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'grapheme_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'grapheme_strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'beforeNeedle='=>'bool'], +'grapheme_substr' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'?int'], +'gregoriantojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], +'gridObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'Grpc\Call::__construct' => ['void', 'channel'=>'Grpc\Channel', 'method'=>'string', 'absolute_deadline'=>'Grpc\Timeval', 'host_override='=>'mixed'], +'Grpc\Call::cancel' => [''], +'Grpc\Call::getPeer' => ['string'], +'Grpc\Call::setCredentials' => ['int', 'creds_obj'=>'Grpc\CallCredentials'], +'Grpc\Call::startBatch' => ['object', 'batch'=>'array'], +'Grpc\CallCredentials::createComposite' => ['Grpc\CallCredentials', 'cred1'=>'Grpc\CallCredentials', 'cred2'=>'Grpc\CallCredentials'], +'Grpc\CallCredentials::createFromPlugin' => ['Grpc\CallCredentials', 'callback'=>'Closure'], +'Grpc\Channel::__construct' => ['void', 'target'=>'string', 'args='=>'array'], +'Grpc\Channel::close' => [''], +'Grpc\Channel::getConnectivityState' => ['int', 'try_to_connect='=>'bool'], +'Grpc\Channel::getTarget' => ['string'], +'Grpc\Channel::watchConnectivityState' => ['bool', 'last_state'=>'int', 'deadline_obj'=>'Grpc\Timeval'], +'Grpc\ChannelCredentials::createComposite' => ['Grpc\ChannelCredentials', 'cred1'=>'Grpc\ChannelCredentials', 'cred2'=>'Grpc\CallCredentials'], +'Grpc\ChannelCredentials::createDefault' => ['Grpc\ChannelCredentials'], +'Grpc\ChannelCredentials::createInsecure' => ['null'], +'Grpc\ChannelCredentials::createSsl' => ['Grpc\ChannelCredentials', 'pem_root_certs'=>'string', 'pem_private_key='=>'string', 'pem_cert_chain='=>'string'], +'Grpc\ChannelCredentials::setDefaultRootsPem' => ['', 'pem_roots'=>'string'], +'Grpc\Server::__construct' => ['void', 'args'=>'array'], +'Grpc\Server::addHttp2Port' => ['bool', 'addr'=>'string'], +'Grpc\Server::addSecureHttp2Port' => ['bool', 'addr'=>'string', 'creds_obj'=>'Grpc\ServerCredentials'], +'Grpc\Server::requestCall' => ['', 'tag_new'=>'int', 'tag_cancel'=>'int'], +'Grpc\Server::start' => [''], +'Grpc\ServerCredentials::createSsl' => ['object', 'pem_root_certs'=>'string', 'pem_private_key'=>'string', 'pem_cert_chain'=>'string'], +'Grpc\Timeval::__construct' => ['void', 'usec'=>'int'], +'Grpc\Timeval::add' => ['Grpc\Timeval', 'other'=>'Grpc\Timeval'], +'Grpc\Timeval::compare' => ['int', 'a'=>'Grpc\Timeval', 'b'=>'Grpc\Timeval'], +'Grpc\Timeval::infFuture' => ['Grpc\Timeval'], +'Grpc\Timeval::infPast' => ['Grpc\Timeval'], +'Grpc\Timeval::now' => ['Grpc\Timeval'], +'Grpc\Timeval::similar' => ['bool', 'a'=>'Grpc\Timeval', 'b'=>'Grpc\Timeval', 'threshold'=>'Grpc\Timeval'], +'Grpc\Timeval::sleepUntil' => [''], +'Grpc\Timeval::subtract' => ['Grpc\Timeval', 'other'=>'Grpc\Timeval'], +'Grpc\Timeval::zero' => ['Grpc\Timeval'], +'gupnp_context_get_host_ip' => ['string', 'context'=>'resource'], +'gupnp_context_get_port' => ['int', 'context'=>'resource'], +'gupnp_context_get_subscription_timeout' => ['int', 'context'=>'resource'], +'gupnp_context_host_path' => ['bool', 'context'=>'resource', 'local_path'=>'string', 'server_path'=>'string'], +'gupnp_context_new' => ['resource', 'host_ip='=>'string', 'port='=>'int'], +'gupnp_context_set_subscription_timeout' => ['void', 'context'=>'resource', 'timeout'=>'int'], +'gupnp_context_timeout_add' => ['bool', 'context'=>'resource', 'timeout'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], +'gupnp_context_unhost_path' => ['bool', 'context'=>'resource', 'server_path'=>'string'], +'gupnp_control_point_browse_start' => ['bool', 'cpoint'=>'resource'], +'gupnp_control_point_browse_stop' => ['bool', 'cpoint'=>'resource'], +'gupnp_control_point_callback_set' => ['bool', 'cpoint'=>'resource', 'signal'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], +'gupnp_control_point_new' => ['resource', 'context'=>'resource', 'target'=>'string'], +'gupnp_device_action_callback_set' => ['bool', 'root_device'=>'resource', 'signal'=>'int', 'action_name'=>'string', 'callback'=>'mixed', 'arg='=>'mixed'], +'gupnp_device_info_get' => ['array', 'root_device'=>'resource'], +'gupnp_device_info_get_service' => ['resource', 'root_device'=>'resource', 'type'=>'string'], +'gupnp_root_device_get_available' => ['bool', 'root_device'=>'resource'], +'gupnp_root_device_get_relative_location' => ['string', 'root_device'=>'resource'], +'gupnp_root_device_new' => ['resource', 'context'=>'resource', 'location'=>'string', 'description_dir'=>'string'], +'gupnp_root_device_set_available' => ['bool', 'root_device'=>'resource', 'available'=>'bool'], +'gupnp_root_device_start' => ['bool', 'root_device'=>'resource'], +'gupnp_root_device_stop' => ['bool', 'root_device'=>'resource'], +'gupnp_service_action_get' => ['mixed', 'action'=>'resource', 'name'=>'string', 'type'=>'int'], +'gupnp_service_action_return' => ['bool', 'action'=>'resource'], +'gupnp_service_action_return_error' => ['bool', 'action'=>'resource', 'error_code'=>'int', 'error_description='=>'string'], +'gupnp_service_action_set' => ['bool', 'action'=>'resource', 'name'=>'string', 'type'=>'int', 'value'=>'mixed'], +'gupnp_service_freeze_notify' => ['bool', 'service'=>'resource'], +'gupnp_service_info_get' => ['array', 'proxy'=>'resource'], +'gupnp_service_info_get_introspection' => ['mixed', 'proxy'=>'resource', 'callback='=>'mixed', 'arg='=>'mixed'], +'gupnp_service_introspection_get_state_variable' => ['array', 'introspection'=>'resource', 'variable_name'=>'string'], +'gupnp_service_notify' => ['bool', 'service'=>'resource', 'name'=>'string', 'type'=>'int', 'value'=>'mixed'], +'gupnp_service_proxy_action_get' => ['mixed', 'proxy'=>'resource', 'action'=>'string', 'name'=>'string', 'type'=>'int'], +'gupnp_service_proxy_action_set' => ['bool', 'proxy'=>'resource', 'action'=>'string', 'name'=>'string', 'value'=>'mixed', 'type'=>'int'], +'gupnp_service_proxy_add_notify' => ['bool', 'proxy'=>'resource', 'value'=>'string', 'type'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], +'gupnp_service_proxy_callback_set' => ['bool', 'proxy'=>'resource', 'signal'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], +'gupnp_service_proxy_get_subscribed' => ['bool', 'proxy'=>'resource'], +'gupnp_service_proxy_remove_notify' => ['bool', 'proxy'=>'resource', 'value'=>'string'], +'gupnp_service_proxy_send_action' => ['array', 'proxy'=>'resource', 'action'=>'string', 'in_params'=>'array', 'out_params'=>'array'], +'gupnp_service_proxy_set_subscribed' => ['bool', 'proxy'=>'resource', 'subscribed'=>'bool'], +'gupnp_service_thaw_notify' => ['bool', 'service'=>'resource'], +'gzclose' => ['bool', 'stream'=>'resource'], +'gzcompress' => ['string|false', 'data'=>'string', 'level='=>'int', 'encoding='=>'int'], +'gzdecode' => ['string|false', 'data'=>'string', 'max_length='=>'int'], +'gzdeflate' => ['string|false', 'data'=>'string', 'level='=>'int', 'encoding='=>'int'], +'gzencode' => ['string|false', 'data'=>'string', 'level='=>'int', 'encoding='=>'int'], +'gzeof' => ['bool', 'stream'=>'resource'], +'gzfile' => ['list', 'filename'=>'string', 'use_include_path='=>'int'], +'gzgetc' => ['string|false', 'stream'=>'resource'], +'gzgets' => ['string|false', 'stream'=>'resource', 'length='=>'?int'], +'gzinflate' => ['string|false', 'data'=>'string', 'max_length='=>'int'], +'gzopen' => ['resource|false', 'filename'=>'string', 'mode'=>'string', 'use_include_path='=>'int'], +'gzpassthru' => ['int', 'stream'=>'resource'], +'gzputs' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], +'gzread' => ['string|false', 'stream'=>'resource', 'length'=>'int'], +'gzrewind' => ['bool', 'stream'=>'resource'], +'gzseek' => ['int', 'stream'=>'resource', 'offset'=>'int', 'whence='=>'int'], +'gztell' => ['int|false', 'stream'=>'resource'], +'gzuncompress' => ['string|false', 'data'=>'string', 'max_length='=>'int'], +'gzwrite' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], +'HaruAnnotation::setBorderStyle' => ['bool', 'width'=>'float', 'dash_on'=>'int', 'dash_off'=>'int'], +'HaruAnnotation::setHighlightMode' => ['bool', 'mode'=>'int'], +'HaruAnnotation::setIcon' => ['bool', 'icon'=>'int'], +'HaruAnnotation::setOpened' => ['bool', 'opened'=>'bool'], +'HaruDestination::setFit' => ['bool'], +'HaruDestination::setFitB' => ['bool'], +'HaruDestination::setFitBH' => ['bool', 'top'=>'float'], +'HaruDestination::setFitBV' => ['bool', 'left'=>'float'], +'HaruDestination::setFitH' => ['bool', 'top'=>'float'], +'HaruDestination::setFitR' => ['bool', 'left'=>'float', 'bottom'=>'float', 'right'=>'float', 'top'=>'float'], +'HaruDestination::setFitV' => ['bool', 'left'=>'float'], +'HaruDestination::setXYZ' => ['bool', 'left'=>'float', 'top'=>'float', 'zoom'=>'float'], +'HaruDoc::__construct' => ['void'], +'HaruDoc::addPage' => ['object'], +'HaruDoc::addPageLabel' => ['bool', 'first_page'=>'int', 'style'=>'int', 'first_num'=>'int', 'prefix='=>'string'], +'HaruDoc::createOutline' => ['object', 'title'=>'string', 'parent_outline='=>'object', 'encoder='=>'object'], +'HaruDoc::getCurrentEncoder' => ['object'], +'HaruDoc::getCurrentPage' => ['object'], +'HaruDoc::getEncoder' => ['object', 'encoding'=>'string'], +'HaruDoc::getFont' => ['object', 'fontname'=>'string', 'encoding='=>'string'], +'HaruDoc::getInfoAttr' => ['string', 'type'=>'int'], +'HaruDoc::getPageLayout' => ['int'], +'HaruDoc::getPageMode' => ['int'], +'HaruDoc::getStreamSize' => ['int'], +'HaruDoc::insertPage' => ['object', 'page'=>'object'], +'HaruDoc::loadJPEG' => ['object', 'filename'=>'string'], +'HaruDoc::loadPNG' => ['object', 'filename'=>'string', 'deferred='=>'bool'], +'HaruDoc::loadRaw' => ['object', 'filename'=>'string', 'width'=>'int', 'height'=>'int', 'color_space'=>'int'], +'HaruDoc::loadTTC' => ['string', 'fontfile'=>'string', 'index'=>'int', 'embed='=>'bool'], +'HaruDoc::loadTTF' => ['string', 'fontfile'=>'string', 'embed='=>'bool'], +'HaruDoc::loadType1' => ['string', 'afmfile'=>'string', 'pfmfile='=>'string'], +'HaruDoc::output' => ['bool'], +'HaruDoc::readFromStream' => ['string', 'bytes'=>'int'], +'HaruDoc::resetError' => ['bool'], +'HaruDoc::resetStream' => ['bool'], +'HaruDoc::save' => ['bool', 'file'=>'string'], +'HaruDoc::saveToStream' => ['bool'], +'HaruDoc::setCompressionMode' => ['bool', 'mode'=>'int'], +'HaruDoc::setCurrentEncoder' => ['bool', 'encoding'=>'string'], +'HaruDoc::setEncryptionMode' => ['bool', 'mode'=>'int', 'key_len='=>'int'], +'HaruDoc::setInfoAttr' => ['bool', 'type'=>'int', 'info'=>'string'], +'HaruDoc::setInfoDateAttr' => ['bool', 'type'=>'int', 'year'=>'int', 'month'=>'int', 'day'=>'int', 'hour'=>'int', 'min'=>'int', 'sec'=>'int', 'ind'=>'string', 'off_hour'=>'int', 'off_min'=>'int'], +'HaruDoc::setOpenAction' => ['bool', 'destination'=>'object'], +'HaruDoc::setPageLayout' => ['bool', 'layout'=>'int'], +'HaruDoc::setPageMode' => ['bool', 'mode'=>'int'], +'HaruDoc::setPagesConfiguration' => ['bool', 'page_per_pages'=>'int'], +'HaruDoc::setPassword' => ['bool', 'owner_password'=>'string', 'user_password'=>'string'], +'HaruDoc::setPermission' => ['bool', 'permission'=>'int'], +'HaruDoc::useCNSEncodings' => ['bool'], +'HaruDoc::useCNSFonts' => ['bool'], +'HaruDoc::useCNTEncodings' => ['bool'], +'HaruDoc::useCNTFonts' => ['bool'], +'HaruDoc::useJPEncodings' => ['bool'], +'HaruDoc::useJPFonts' => ['bool'], +'HaruDoc::useKREncodings' => ['bool'], +'HaruDoc::useKRFonts' => ['bool'], +'HaruEncoder::getByteType' => ['int', 'text'=>'string', 'index'=>'int'], +'HaruEncoder::getType' => ['int'], +'HaruEncoder::getUnicode' => ['int', 'character'=>'int'], +'HaruEncoder::getWritingMode' => ['int'], +'HaruFont::getAscent' => ['int'], +'HaruFont::getCapHeight' => ['int'], +'HaruFont::getDescent' => ['int'], +'HaruFont::getEncodingName' => ['string'], +'HaruFont::getFontName' => ['string'], +'HaruFont::getTextWidth' => ['array', 'text'=>'string'], +'HaruFont::getUnicodeWidth' => ['int', 'character'=>'int'], +'HaruFont::getXHeight' => ['int'], +'HaruFont::measureText' => ['int', 'text'=>'string', 'width'=>'float', 'font_size'=>'float', 'char_space'=>'float', 'word_space'=>'float', 'word_wrap='=>'bool'], +'HaruImage::getBitsPerComponent' => ['int'], +'HaruImage::getColorSpace' => ['string'], +'HaruImage::getHeight' => ['int'], +'HaruImage::getSize' => ['array'], +'HaruImage::getWidth' => ['int'], +'HaruImage::setColorMask' => ['bool', 'rmin'=>'int', 'rmax'=>'int', 'gmin'=>'int', 'gmax'=>'int', 'bmin'=>'int', 'bmax'=>'int'], +'HaruImage::setMaskImage' => ['bool', 'mask_image'=>'object'], +'HaruOutline::setDestination' => ['bool', 'destination'=>'object'], +'HaruOutline::setOpened' => ['bool', 'opened'=>'bool'], +'HaruPage::arc' => ['bool', 'x'=>'float', 'y'=>'float', 'ray'=>'float', 'ang1'=>'float', 'ang2'=>'float'], +'HaruPage::beginText' => ['bool'], +'HaruPage::circle' => ['bool', 'x'=>'float', 'y'=>'float', 'ray'=>'float'], +'HaruPage::closePath' => ['bool'], +'HaruPage::concat' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'x'=>'float', 'y'=>'float'], +'HaruPage::createDestination' => ['object'], +'HaruPage::createLinkAnnotation' => ['object', 'rectangle'=>'array', 'destination'=>'object'], +'HaruPage::createTextAnnotation' => ['object', 'rectangle'=>'array', 'text'=>'string', 'encoder='=>'object'], +'HaruPage::createURLAnnotation' => ['object', 'rectangle'=>'array', 'url'=>'string'], +'HaruPage::curveTo' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], +'HaruPage::curveTo2' => ['bool', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], +'HaruPage::curveTo3' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x3'=>'float', 'y3'=>'float'], +'HaruPage::drawImage' => ['bool', 'image'=>'object', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], +'HaruPage::ellipse' => ['bool', 'x'=>'float', 'y'=>'float', 'xray'=>'float', 'yray'=>'float'], +'HaruPage::endPath' => ['bool'], +'HaruPage::endText' => ['bool'], +'HaruPage::eofill' => ['bool'], +'HaruPage::eoFillStroke' => ['bool', 'close_path='=>'bool'], +'HaruPage::fill' => ['bool'], +'HaruPage::fillStroke' => ['bool', 'close_path='=>'bool'], +'HaruPage::getCharSpace' => ['float'], +'HaruPage::getCMYKFill' => ['array'], +'HaruPage::getCMYKStroke' => ['array'], +'HaruPage::getCurrentFont' => ['object'], +'HaruPage::getCurrentFontSize' => ['float'], +'HaruPage::getCurrentPos' => ['array'], +'HaruPage::getCurrentTextPos' => ['array'], +'HaruPage::getDash' => ['array'], +'HaruPage::getFillingColorSpace' => ['int'], +'HaruPage::getFlatness' => ['float'], +'HaruPage::getGMode' => ['int'], +'HaruPage::getGrayFill' => ['float'], +'HaruPage::getGrayStroke' => ['float'], +'HaruPage::getHeight' => ['float'], +'HaruPage::getHorizontalScaling' => ['float'], +'HaruPage::getLineCap' => ['int'], +'HaruPage::getLineJoin' => ['int'], +'HaruPage::getLineWidth' => ['float'], +'HaruPage::getMiterLimit' => ['float'], +'HaruPage::getRGBFill' => ['array'], +'HaruPage::getRGBStroke' => ['array'], +'HaruPage::getStrokingColorSpace' => ['int'], +'HaruPage::getTextLeading' => ['float'], +'HaruPage::getTextMatrix' => ['array'], +'HaruPage::getTextRenderingMode' => ['int'], +'HaruPage::getTextRise' => ['float'], +'HaruPage::getTextWidth' => ['float', 'text'=>'string'], +'HaruPage::getTransMatrix' => ['array'], +'HaruPage::getWidth' => ['float'], +'HaruPage::getWordSpace' => ['float'], +'HaruPage::lineTo' => ['bool', 'x'=>'float', 'y'=>'float'], +'HaruPage::measureText' => ['int', 'text'=>'string', 'width'=>'float', 'wordwrap='=>'bool'], +'HaruPage::moveTextPos' => ['bool', 'x'=>'float', 'y'=>'float', 'set_leading='=>'bool'], +'HaruPage::moveTo' => ['bool', 'x'=>'float', 'y'=>'float'], +'HaruPage::moveToNextLine' => ['bool'], +'HaruPage::rectangle' => ['bool', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], +'HaruPage::setCharSpace' => ['bool', 'char_space'=>'float'], +'HaruPage::setCMYKFill' => ['bool', 'c'=>'float', 'm'=>'float', 'y'=>'float', 'k'=>'float'], +'HaruPage::setCMYKStroke' => ['bool', 'c'=>'float', 'm'=>'float', 'y'=>'float', 'k'=>'float'], +'HaruPage::setDash' => ['bool', 'pattern'=>'array', 'phase'=>'int'], +'HaruPage::setFlatness' => ['bool', 'flatness'=>'float'], +'HaruPage::setFontAndSize' => ['bool', 'font'=>'object', 'size'=>'float'], +'HaruPage::setGrayFill' => ['bool', 'value'=>'float'], +'HaruPage::setGrayStroke' => ['bool', 'value'=>'float'], +'HaruPage::setHeight' => ['bool', 'height'=>'float'], +'HaruPage::setHorizontalScaling' => ['bool', 'scaling'=>'float'], +'HaruPage::setLineCap' => ['bool', 'cap'=>'int'], +'HaruPage::setLineJoin' => ['bool', 'join'=>'int'], +'HaruPage::setLineWidth' => ['bool', 'width'=>'float'], +'HaruPage::setMiterLimit' => ['bool', 'limit'=>'float'], +'HaruPage::setRGBFill' => ['bool', 'r'=>'float', 'g'=>'float', 'b'=>'float'], +'HaruPage::setRGBStroke' => ['bool', 'r'=>'float', 'g'=>'float', 'b'=>'float'], +'HaruPage::setRotate' => ['bool', 'angle'=>'int'], +'HaruPage::setSize' => ['bool', 'size'=>'int', 'direction'=>'int'], +'HaruPage::setSlideShow' => ['bool', 'type'=>'int', 'disp_time'=>'float', 'trans_time'=>'float'], +'HaruPage::setTextLeading' => ['bool', 'text_leading'=>'float'], +'HaruPage::setTextMatrix' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'x'=>'float', 'y'=>'float'], +'HaruPage::setTextRenderingMode' => ['bool', 'mode'=>'int'], +'HaruPage::setTextRise' => ['bool', 'rise'=>'float'], +'HaruPage::setWidth' => ['bool', 'width'=>'float'], +'HaruPage::setWordSpace' => ['bool', 'word_space'=>'float'], +'HaruPage::showText' => ['bool', 'text'=>'string'], +'HaruPage::showTextNextLine' => ['bool', 'text'=>'string', 'word_space='=>'float', 'char_space='=>'float'], +'HaruPage::stroke' => ['bool', 'close_path='=>'bool'], +'HaruPage::textOut' => ['bool', 'x'=>'float', 'y'=>'float', 'text'=>'string'], +'HaruPage::textRect' => ['bool', 'left'=>'float', 'top'=>'float', 'right'=>'float', 'bottom'=>'float', 'text'=>'string', 'align='=>'int'], +'hash' => ['non-empty-string', 'algo'=>'string', 'data'=>'string', 'binary='=>'bool', 'options='=>'array{seed:scalar}'], +'hash_algos' => ['list'], +'hash_copy' => ['HashContext', 'context'=>'HashContext'], +'hash_equals' => ['bool', 'known_string'=>'string', 'user_string'=>'string'], +'hash_file' => ['non-empty-string|false', 'algo'=>'string', 'filename'=>'string', 'binary='=>'bool', 'options='=>'array{seed:scalar}'], +'hash_final' => ['non-empty-string', 'context'=>'HashContext', 'binary='=>'bool'], +'hash_hkdf' => ['non-empty-string', 'algo'=>'string', 'key'=>'string', 'length='=>'int', 'info='=>'string', 'salt='=>'string'], +'hash_hmac' => ['non-empty-string', 'algo'=>'string', 'data'=>'string', 'key'=>'string', 'binary='=>'bool'], +'hash_hmac_algos' => ['list'], +'hash_hmac_file' => ['non-empty-string', 'algo'=>'string', 'filename'=>'string', 'key'=>'string', 'binary='=>'bool'], +'hash_init' => ['HashContext', 'algo'=>'string', 'flags='=>'int', 'key='=>'string', 'options='=>'array{seed:scalar}'], +'hash_pbkdf2' => ['non-empty-string', 'algo'=>'string', 'password'=>'string', 'salt'=>'string', 'iterations'=>'int', 'length='=>'int', 'binary='=>'bool'], +'hash_update' => ['bool', 'context'=>'HashContext', 'data'=>'string'], +'hash_update_file' => ['bool', 'context'=>'HashContext', 'filename'=>'string', 'stream_context='=>'?resource'], +'hash_update_stream' => ['int', 'context'=>'HashContext', 'stream'=>'resource', 'length='=>'int'], +'hashTableObj::clear' => ['void'], +'hashTableObj::get' => ['string', 'key'=>'string'], +'hashTableObj::nextkey' => ['string', 'previousKey'=>'string'], +'hashTableObj::remove' => ['int', 'key'=>'string'], +'hashTableObj::set' => ['int', 'key'=>'string', 'value'=>'string'], +'header' => ['void', 'header'=>'string', 'replace='=>'bool', 'response_code='=>'int'], +'header_register_callback' => ['bool', 'callback'=>'callable():void'], +'header_remove' => ['void', 'name='=>'?string'], +'headers_list' => ['list'], +'headers_sent' => ['bool', '&w_filename='=>'string', '&w_line='=>'int'], +'hebrev' => ['string', 'string'=>'string', 'max_chars_per_line='=>'int'], +'hebrevc' => ['string', 'string'=>'string', 'max_chars_per_line='=>'int'], +'hex2bin' => ['string|false', 'string'=>'string'], +'hexdec' => ['int|float', 'hex_string'=>'string'], +'highlight_file' => ['string|bool', 'filename'=>'string', 'return='=>'bool'], +'highlight_string' => ['string|bool', 'string'=>'string', 'return='=>'bool'], +'hrtime' => ['array{0:int,1:int}|false', 'as_number='=>'false'], +'hrtime\'1' => ['int|float|false', 'as_number='=>'true'], +'HRTime\PerformanceCounter::getElapsedTicks' => ['int'], +'HRTime\PerformanceCounter::getFrequency' => ['int'], +'HRTime\PerformanceCounter::getLastElapsedTicks' => ['int'], +'HRTime\PerformanceCounter::getTicks' => ['int'], +'HRTime\PerformanceCounter::getTicksSince' => ['int', 'start'=>'int'], +'HRTime\PerformanceCounter::isRunning' => ['bool'], +'HRTime\PerformanceCounter::start' => ['void'], +'HRTime\PerformanceCounter::stop' => ['void'], +'HRTime\StopWatch::getElapsedTicks' => ['int'], +'HRTime\StopWatch::getElapsedTime' => ['float', 'unit='=>'int'], +'HRTime\StopWatch::getLastElapsedTicks' => ['int'], +'HRTime\StopWatch::getLastElapsedTime' => ['float', 'unit='=>'int'], +'HRTime\StopWatch::isRunning' => ['bool'], +'HRTime\StopWatch::start' => ['void'], +'HRTime\StopWatch::stop' => ['void'], +'html_entity_decode' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'?string'], +'htmlentities' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'?string', 'double_encode='=>'bool'], +'htmlspecialchars' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'string|null', 'double_encode='=>'bool'], +'htmlspecialchars_decode' => ['string', 'string'=>'string', 'flags='=>'int'], +'http\Client::__construct' => ['void', 'driver='=>'string', 'persistent_handle_id='=>'string'], +'http\Client::addCookies' => ['http\Client', 'cookies='=>'?array'], +'http\Client::addSslOptions' => ['http\Client', 'ssl_options='=>'?array'], +'http\Client::attach' => ['void', 'observer'=>'SplObserver'], +'http\Client::configure' => ['http\Client', 'settings'=>'array'], +'http\Client::count' => ['int'], +'http\Client::dequeue' => ['http\Client', 'request'=>'http\Client\Request'], +'http\Client::detach' => ['void', 'observer'=>'SplObserver'], +'http\Client::enableEvents' => ['http\Client', 'enable='=>'mixed'], +'http\Client::enablePipelining' => ['http\Client', 'enable='=>'mixed'], +'http\Client::enqueue' => ['http\Client', 'request'=>'http\Client\Request', 'callable='=>'mixed'], +'http\Client::getAvailableConfiguration' => ['array'], +'http\Client::getAvailableDrivers' => ['array'], +'http\Client::getAvailableOptions' => ['array'], +'http\Client::getCookies' => ['array'], +'http\Client::getHistory' => ['http\Message'], +'http\Client::getObservers' => ['SplObjectStorage'], +'http\Client::getOptions' => ['array'], +'http\Client::getProgressInfo' => ['null|object', 'request'=>'http\Client\Request'], +'http\Client::getResponse' => ['http\Client\Response|null', 'request='=>'?http\Client\Request'], +'http\Client::getSslOptions' => ['array'], +'http\Client::getTransferInfo' => ['object', 'request'=>'http\Client\Request'], +'http\Client::notify' => ['void', 'request='=>'?http\Client\Request'], +'http\Client::once' => ['bool'], +'http\Client::requeue' => ['http\Client', 'request'=>'http\Client\Request', 'callable='=>'mixed'], +'http\Client::reset' => ['http\Client'], +'http\Client::send' => ['http\Client'], +'http\Client::setCookies' => ['http\Client', 'cookies='=>'?array'], +'http\Client::setDebug' => ['http\Client', 'callback'=>'callable'], +'http\Client::setOptions' => ['http\Client', 'options='=>'?array'], +'http\Client::setSslOptions' => ['http\Client', 'ssl_option='=>'?array'], +'http\Client::wait' => ['bool', 'timeout='=>'mixed'], +'http\Client\Curl\User::init' => ['', 'run'=>'callable'], +'http\Client\Curl\User::once' => [''], +'http\Client\Curl\User::send' => [''], +'http\Client\Curl\User::socket' => ['', 'socket'=>'resource', 'action'=>'int'], +'http\Client\Curl\User::timer' => ['', 'timeout_ms'=>'int'], +'http\Client\Curl\User::wait' => ['', 'timeout_ms='=>'mixed'], +'http\Client\Request::__construct' => ['void', 'method='=>'mixed', 'url='=>'mixed', 'headers='=>'?array', 'body='=>'?http\Message\Body'], +'http\Client\Request::__toString' => ['string'], +'http\Client\Request::addBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Client\Request::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], +'http\Client\Request::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], +'http\Client\Request::addQuery' => ['http\Client\Request', 'query_data'=>'mixed'], +'http\Client\Request::addSslOptions' => ['http\Client\Request', 'ssl_options='=>'?array'], +'http\Client\Request::count' => ['int'], +'http\Client\Request::current' => ['mixed'], +'http\Client\Request::detach' => ['http\Message'], +'http\Client\Request::getBody' => ['http\Message\Body'], +'http\Client\Request::getContentType' => ['null|string'], +'http\Client\Request::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], +'http\Client\Request::getHeaders' => ['array'], +'http\Client\Request::getHttpVersion' => ['string'], +'http\Client\Request::getInfo' => ['null|string'], +'http\Client\Request::getOptions' => ['array'], +'http\Client\Request::getParentMessage' => ['http\Message'], +'http\Client\Request::getQuery' => ['null|string'], +'http\Client\Request::getRequestMethod' => ['false|string'], +'http\Client\Request::getRequestUrl' => ['false|string'], +'http\Client\Request::getResponseCode' => ['false|int'], +'http\Client\Request::getResponseStatus' => ['false|string'], +'http\Client\Request::getSslOptions' => ['array'], +'http\Client\Request::getType' => ['int'], +'http\Client\Request::isMultipart' => ['bool', '&boundary='=>'mixed'], +'http\Client\Request::key' => ['int|string'], +'http\Client\Request::next' => ['void'], +'http\Client\Request::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], +'http\Client\Request::reverse' => ['http\Message'], +'http\Client\Request::rewind' => ['void'], +'http\Client\Request::serialize' => ['string'], +'http\Client\Request::setBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Client\Request::setContentType' => ['http\Client\Request', 'content_type'=>'string'], +'http\Client\Request::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], +'http\Client\Request::setHeaders' => ['http\Message', 'headers'=>'array'], +'http\Client\Request::setHttpVersion' => ['http\Message', 'http_version'=>'string'], +'http\Client\Request::setInfo' => ['http\Message', 'http_info'=>'string'], +'http\Client\Request::setOptions' => ['http\Client\Request', 'options='=>'?array'], +'http\Client\Request::setQuery' => ['http\Client\Request', 'query_data='=>'mixed'], +'http\Client\Request::setRequestMethod' => ['http\Message', 'request_method'=>'string'], +'http\Client\Request::setRequestUrl' => ['http\Message', 'url'=>'string'], +'http\Client\Request::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], +'http\Client\Request::setResponseStatus' => ['http\Message', 'response_status'=>'string'], +'http\Client\Request::setSslOptions' => ['http\Client\Request', 'ssl_options='=>'?array'], +'http\Client\Request::setType' => ['http\Message', 'type'=>'int'], +'http\Client\Request::splitMultipartBody' => ['http\Message'], +'http\Client\Request::toCallback' => ['http\Message', 'callback'=>'callable'], +'http\Client\Request::toStream' => ['http\Message', 'stream'=>'resource'], +'http\Client\Request::toString' => ['string', 'include_parent='=>'mixed'], +'http\Client\Request::unserialize' => ['void', 'serialized'=>'string'], +'http\Client\Request::valid' => ['bool'], +'http\Client\Response::__construct' => ['Iterator'], +'http\Client\Response::__toString' => ['string'], +'http\Client\Response::addBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Client\Response::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], +'http\Client\Response::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], +'http\Client\Response::count' => ['int'], +'http\Client\Response::current' => ['mixed'], +'http\Client\Response::detach' => ['http\Message'], +'http\Client\Response::getBody' => ['http\Message\Body'], +'http\Client\Response::getCookies' => ['array', 'flags='=>'mixed', 'allowed_extras='=>'mixed'], +'http\Client\Response::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], +'http\Client\Response::getHeaders' => ['array'], +'http\Client\Response::getHttpVersion' => ['string'], +'http\Client\Response::getInfo' => ['null|string'], +'http\Client\Response::getParentMessage' => ['http\Message'], +'http\Client\Response::getRequestMethod' => ['false|string'], +'http\Client\Response::getRequestUrl' => ['false|string'], +'http\Client\Response::getResponseCode' => ['false|int'], +'http\Client\Response::getResponseStatus' => ['false|string'], +'http\Client\Response::getTransferInfo' => ['mixed|object', 'element='=>'mixed'], +'http\Client\Response::getType' => ['int'], +'http\Client\Response::isMultipart' => ['bool', '&boundary='=>'mixed'], +'http\Client\Response::key' => ['int|string'], +'http\Client\Response::next' => ['void'], +'http\Client\Response::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], +'http\Client\Response::reverse' => ['http\Message'], +'http\Client\Response::rewind' => ['void'], +'http\Client\Response::serialize' => ['string'], +'http\Client\Response::setBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Client\Response::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], +'http\Client\Response::setHeaders' => ['http\Message', 'headers'=>'array'], +'http\Client\Response::setHttpVersion' => ['http\Message', 'http_version'=>'string'], +'http\Client\Response::setInfo' => ['http\Message', 'http_info'=>'string'], +'http\Client\Response::setRequestMethod' => ['http\Message', 'request_method'=>'string'], +'http\Client\Response::setRequestUrl' => ['http\Message', 'url'=>'string'], +'http\Client\Response::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], +'http\Client\Response::setResponseStatus' => ['http\Message', 'response_status'=>'string'], +'http\Client\Response::setType' => ['http\Message', 'type'=>'int'], +'http\Client\Response::splitMultipartBody' => ['http\Message'], +'http\Client\Response::toCallback' => ['http\Message', 'callback'=>'callable'], +'http\Client\Response::toStream' => ['http\Message', 'stream'=>'resource'], +'http\Client\Response::toString' => ['string', 'include_parent='=>'mixed'], +'http\Client\Response::unserialize' => ['void', 'serialized'=>'string'], +'http\Client\Response::valid' => ['bool'], +'http\Cookie::__construct' => ['void', 'cookie_string='=>'mixed', 'parser_flags='=>'int', 'allowed_extras='=>'array'], +'http\Cookie::__toString' => ['string'], +'http\Cookie::addCookie' => ['http\Cookie', 'cookie_name'=>'string', 'cookie_value'=>'string'], +'http\Cookie::addCookies' => ['http\Cookie', 'cookies'=>'array'], +'http\Cookie::addExtra' => ['http\Cookie', 'extra_name'=>'string', 'extra_value'=>'string'], +'http\Cookie::addExtras' => ['http\Cookie', 'extras'=>'array'], +'http\Cookie::getCookie' => ['null|string', 'name'=>'string'], +'http\Cookie::getCookies' => ['array'], +'http\Cookie::getDomain' => ['string'], +'http\Cookie::getExpires' => ['int'], +'http\Cookie::getExtra' => ['string', 'name'=>'string'], +'http\Cookie::getExtras' => ['array'], +'http\Cookie::getFlags' => ['int'], +'http\Cookie::getMaxAge' => ['int'], +'http\Cookie::getPath' => ['string'], +'http\Cookie::setCookie' => ['http\Cookie', 'cookie_name'=>'string', 'cookie_value='=>'mixed'], +'http\Cookie::setCookies' => ['http\Cookie', 'cookies='=>'mixed'], +'http\Cookie::setDomain' => ['http\Cookie', 'value='=>'mixed'], +'http\Cookie::setExpires' => ['http\Cookie', 'value='=>'mixed'], +'http\Cookie::setExtra' => ['http\Cookie', 'extra_name'=>'string', 'extra_value='=>'mixed'], +'http\Cookie::setExtras' => ['http\Cookie', 'extras='=>'mixed'], +'http\Cookie::setFlags' => ['http\Cookie', 'value='=>'mixed'], +'http\Cookie::setMaxAge' => ['http\Cookie', 'value='=>'mixed'], +'http\Cookie::setPath' => ['http\Cookie', 'value='=>'mixed'], +'http\Cookie::toArray' => ['array'], +'http\Cookie::toString' => ['string'], +'http\Encoding\Stream::__construct' => ['void', 'flags='=>'mixed'], +'http\Encoding\Stream::done' => ['bool'], +'http\Encoding\Stream::finish' => ['string'], +'http\Encoding\Stream::flush' => ['string'], +'http\Encoding\Stream::update' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Debrotli::__construct' => ['void', 'flags='=>'int'], +'http\Encoding\Stream\Debrotli::decode' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Debrotli::done' => ['bool'], +'http\Encoding\Stream\Debrotli::finish' => ['string'], +'http\Encoding\Stream\Debrotli::flush' => ['string'], +'http\Encoding\Stream\Debrotli::update' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Dechunk::__construct' => ['void', 'flags='=>'mixed'], +'http\Encoding\Stream\Dechunk::decode' => ['false|string', 'data'=>'string', '&decoded_len='=>'mixed'], +'http\Encoding\Stream\Dechunk::done' => ['bool'], +'http\Encoding\Stream\Dechunk::finish' => ['string'], +'http\Encoding\Stream\Dechunk::flush' => ['string'], +'http\Encoding\Stream\Dechunk::update' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Deflate::__construct' => ['void', 'flags='=>'mixed'], +'http\Encoding\Stream\Deflate::done' => ['bool'], +'http\Encoding\Stream\Deflate::encode' => ['string', 'data'=>'string', 'flags='=>'mixed'], +'http\Encoding\Stream\Deflate::finish' => ['string'], +'http\Encoding\Stream\Deflate::flush' => ['string'], +'http\Encoding\Stream\Deflate::update' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Enbrotli::__construct' => ['void', 'flags='=>'int'], +'http\Encoding\Stream\Enbrotli::done' => ['bool'], +'http\Encoding\Stream\Enbrotli::encode' => ['string', 'data'=>'string', 'flags='=>'int'], +'http\Encoding\Stream\Enbrotli::finish' => ['string'], +'http\Encoding\Stream\Enbrotli::flush' => ['string'], +'http\Encoding\Stream\Enbrotli::update' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Inflate::__construct' => ['void', 'flags='=>'mixed'], +'http\Encoding\Stream\Inflate::decode' => ['string', 'data'=>'string'], +'http\Encoding\Stream\Inflate::done' => ['bool'], +'http\Encoding\Stream\Inflate::finish' => ['string'], +'http\Encoding\Stream\Inflate::flush' => ['string'], +'http\Encoding\Stream\Inflate::update' => ['string', 'data'=>'string'], +'http\Env::getRequestBody' => ['http\Message\Body', 'body_class_name='=>'mixed'], +'http\Env::getRequestHeader' => ['array|null|string', 'header_name='=>'mixed'], +'http\Env::getResponseCode' => ['int'], +'http\Env::getResponseHeader' => ['array|null|string', 'header_name='=>'mixed'], +'http\Env::getResponseStatusForAllCodes' => ['array'], +'http\Env::getResponseStatusForCode' => ['string', 'code'=>'int'], +'http\Env::negotiate' => ['null|string', 'params'=>'string', 'supported'=>'array', 'primary_type_separator='=>'mixed', '&result_array='=>'mixed'], +'http\Env::negotiateCharset' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], +'http\Env::negotiateContentType' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], +'http\Env::negotiateEncoding' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], +'http\Env::negotiateLanguage' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], +'http\Env::setResponseCode' => ['bool', 'code'=>'int'], +'http\Env::setResponseHeader' => ['bool', 'header_name'=>'string', 'header_value='=>'mixed', 'response_code='=>'mixed', 'replace_header='=>'mixed'], +'http\Env\Request::__construct' => ['void'], +'http\Env\Request::__toString' => ['string'], +'http\Env\Request::addBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Env\Request::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], +'http\Env\Request::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], +'http\Env\Request::count' => ['int'], +'http\Env\Request::current' => ['mixed'], +'http\Env\Request::detach' => ['http\Message'], +'http\Env\Request::getBody' => ['http\Message\Body'], +'http\Env\Request::getCookie' => ['mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], +'http\Env\Request::getFiles' => ['array'], +'http\Env\Request::getForm' => ['mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], +'http\Env\Request::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], +'http\Env\Request::getHeaders' => ['array'], +'http\Env\Request::getHttpVersion' => ['string'], +'http\Env\Request::getInfo' => ['null|string'], +'http\Env\Request::getParentMessage' => ['http\Message'], +'http\Env\Request::getQuery' => ['mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], +'http\Env\Request::getRequestMethod' => ['false|string'], +'http\Env\Request::getRequestUrl' => ['false|string'], +'http\Env\Request::getResponseCode' => ['false|int'], +'http\Env\Request::getResponseStatus' => ['false|string'], +'http\Env\Request::getType' => ['int'], +'http\Env\Request::isMultipart' => ['bool', '&boundary='=>'mixed'], +'http\Env\Request::key' => ['int|string'], +'http\Env\Request::next' => ['void'], +'http\Env\Request::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], +'http\Env\Request::reverse' => ['http\Message'], +'http\Env\Request::rewind' => ['void'], +'http\Env\Request::serialize' => ['string'], +'http\Env\Request::setBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Env\Request::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], +'http\Env\Request::setHeaders' => ['http\Message', 'headers'=>'array'], +'http\Env\Request::setHttpVersion' => ['http\Message', 'http_version'=>'string'], +'http\Env\Request::setInfo' => ['http\Message', 'http_info'=>'string'], +'http\Env\Request::setRequestMethod' => ['http\Message', 'request_method'=>'string'], +'http\Env\Request::setRequestUrl' => ['http\Message', 'url'=>'string'], +'http\Env\Request::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], +'http\Env\Request::setResponseStatus' => ['http\Message', 'response_status'=>'string'], +'http\Env\Request::setType' => ['http\Message', 'type'=>'int'], +'http\Env\Request::splitMultipartBody' => ['http\Message'], +'http\Env\Request::toCallback' => ['http\Message', 'callback'=>'callable'], +'http\Env\Request::toStream' => ['http\Message', 'stream'=>'resource'], +'http\Env\Request::toString' => ['string', 'include_parent='=>'mixed'], +'http\Env\Request::unserialize' => ['void', 'serialized'=>'string'], +'http\Env\Request::valid' => ['bool'], +'http\Env\Response::__construct' => ['void'], +'http\Env\Response::__invoke' => ['bool', 'data'=>'string', 'ob_flags='=>'int'], +'http\Env\Response::__toString' => ['string'], +'http\Env\Response::addBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Env\Response::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], +'http\Env\Response::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], +'http\Env\Response::count' => ['int'], +'http\Env\Response::current' => ['mixed'], +'http\Env\Response::detach' => ['http\Message'], +'http\Env\Response::getBody' => ['http\Message\Body'], +'http\Env\Response::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], +'http\Env\Response::getHeaders' => ['array'], +'http\Env\Response::getHttpVersion' => ['string'], +'http\Env\Response::getInfo' => ['?string'], +'http\Env\Response::getParentMessage' => ['http\Message'], +'http\Env\Response::getRequestMethod' => ['false|string'], +'http\Env\Response::getRequestUrl' => ['false|string'], +'http\Env\Response::getResponseCode' => ['false|int'], +'http\Env\Response::getResponseStatus' => ['false|string'], +'http\Env\Response::getType' => ['int'], +'http\Env\Response::isCachedByETag' => ['int', 'header_name='=>'string'], +'http\Env\Response::isCachedByLastModified' => ['int', 'header_name='=>'string'], +'http\Env\Response::isMultipart' => ['bool', '&boundary='=>'mixed'], +'http\Env\Response::key' => ['int|string'], +'http\Env\Response::next' => ['void'], +'http\Env\Response::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], +'http\Env\Response::reverse' => ['http\Message'], +'http\Env\Response::rewind' => ['void'], +'http\Env\Response::send' => ['bool', 'stream='=>'resource'], +'http\Env\Response::serialize' => ['string'], +'http\Env\Response::setBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Env\Response::setCacheControl' => ['http\Env\Response', 'cache_control'=>'string'], +'http\Env\Response::setContentDisposition' => ['http\Env\Response', 'disposition_params'=>'array'], +'http\Env\Response::setContentEncoding' => ['http\Env\Response', 'content_encoding'=>'int'], +'http\Env\Response::setContentType' => ['http\Env\Response', 'content_type'=>'string'], +'http\Env\Response::setCookie' => ['http\Env\Response', 'cookie'=>'mixed'], +'http\Env\Response::setEnvRequest' => ['http\Env\Response', 'env_request'=>'http\Message'], +'http\Env\Response::setEtag' => ['http\Env\Response', 'etag'=>'string'], +'http\Env\Response::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], +'http\Env\Response::setHeaders' => ['http\Message', 'headers'=>'array'], +'http\Env\Response::setHttpVersion' => ['http\Message', 'http_version'=>'string'], +'http\Env\Response::setInfo' => ['http\Message', 'http_info'=>'string'], +'http\Env\Response::setLastModified' => ['http\Env\Response', 'last_modified'=>'int'], +'http\Env\Response::setRequestMethod' => ['http\Message', 'request_method'=>'string'], +'http\Env\Response::setRequestUrl' => ['http\Message', 'url'=>'string'], +'http\Env\Response::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], +'http\Env\Response::setResponseStatus' => ['http\Message', 'response_status'=>'string'], +'http\Env\Response::setThrottleRate' => ['http\Env\Response', 'chunk_size'=>'int', 'delay='=>'float|int'], +'http\Env\Response::setType' => ['http\Message', 'type'=>'int'], +'http\Env\Response::splitMultipartBody' => ['http\Message'], +'http\Env\Response::toCallback' => ['http\Message', 'callback'=>'callable'], +'http\Env\Response::toStream' => ['http\Message', 'stream'=>'resource'], +'http\Env\Response::toString' => ['string', 'include_parent='=>'mixed'], +'http\Env\Response::unserialize' => ['void', 'serialized'=>'string'], +'http\Env\Response::valid' => ['bool'], +'http\Header::__construct' => ['void', 'name='=>'mixed', 'value='=>'mixed'], +'http\Header::__toString' => ['string'], +'http\Header::getParams' => ['http\Params', 'param_sep='=>'mixed', 'arg_sep='=>'mixed', 'val_sep='=>'mixed', 'flags='=>'mixed'], +'http\Header::match' => ['bool', 'value'=>'string', 'flags='=>'mixed'], +'http\Header::negotiate' => ['null|string', 'supported'=>'array', '&result='=>'mixed'], +'http\Header::parse' => ['array|false', 'string'=>'string', 'header_class='=>'mixed'], +'http\Header::serialize' => ['string'], +'http\Header::toString' => ['string'], +'http\Header::unserialize' => ['void', 'serialized'=>'string'], +'http\Header\Parser::getState' => ['int'], +'http\Header\Parser::parse' => ['int', 'data'=>'string', 'flags'=>'int', '&headers'=>'array'], +'http\Header\Parser::stream' => ['int', 'stream'=>'resource', 'flags'=>'int', '&headers'=>'array'], +'http\Message::__construct' => ['void', 'message='=>'mixed', 'greedy='=>'bool'], +'http\Message::__toString' => ['string'], +'http\Message::addBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Message::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], +'http\Message::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], +'http\Message::count' => ['int'], +'http\Message::current' => ['mixed'], +'http\Message::detach' => ['http\Message'], +'http\Message::getBody' => ['http\Message\Body'], +'http\Message::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], +'http\Message::getHeaders' => ['array'], +'http\Message::getHttpVersion' => ['string'], +'http\Message::getInfo' => ['null|string'], +'http\Message::getParentMessage' => ['http\Message'], +'http\Message::getRequestMethod' => ['false|string'], +'http\Message::getRequestUrl' => ['false|string'], +'http\Message::getResponseCode' => ['false|int'], +'http\Message::getResponseStatus' => ['false|string'], +'http\Message::getType' => ['int'], +'http\Message::isMultipart' => ['bool', '&boundary='=>'mixed'], +'http\Message::key' => ['int|string'], +'http\Message::next' => ['void'], +'http\Message::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], +'http\Message::reverse' => ['http\Message'], +'http\Message::rewind' => ['void'], +'http\Message::serialize' => ['string'], +'http\Message::setBody' => ['http\Message', 'body'=>'http\Message\Body'], +'http\Message::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], +'http\Message::setHeaders' => ['http\Message', 'headers'=>'array'], +'http\Message::setHttpVersion' => ['http\Message', 'http_version'=>'string'], +'http\Message::setInfo' => ['http\Message', 'http_info'=>'string'], +'http\Message::setRequestMethod' => ['http\Message', 'request_method'=>'string'], +'http\Message::setRequestUrl' => ['http\Message', 'url'=>'string'], +'http\Message::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], +'http\Message::setResponseStatus' => ['http\Message', 'response_status'=>'string'], +'http\Message::setType' => ['http\Message', 'type'=>'int'], +'http\Message::splitMultipartBody' => ['http\Message'], +'http\Message::toCallback' => ['http\Message', 'callback'=>'callable'], +'http\Message::toStream' => ['http\Message', 'stream'=>'resource'], +'http\Message::toString' => ['string', 'include_parent='=>'mixed'], +'http\Message::unserialize' => ['void', 'serialized'=>'string'], +'http\Message::valid' => ['bool'], +'http\Message\Body::__construct' => ['void', 'stream='=>'resource'], +'http\Message\Body::__toString' => ['string'], +'http\Message\Body::addForm' => ['http\Message\Body', 'fields='=>'?array', 'files='=>'?array'], +'http\Message\Body::addPart' => ['http\Message\Body', 'message'=>'http\Message'], +'http\Message\Body::append' => ['http\Message\Body', 'string'=>'string'], +'http\Message\Body::etag' => ['false|string'], +'http\Message\Body::getBoundary' => ['null|string'], +'http\Message\Body::getResource' => ['resource'], +'http\Message\Body::serialize' => ['string'], +'http\Message\Body::stat' => ['int|object', 'field='=>'mixed'], +'http\Message\Body::toCallback' => ['http\Message\Body', 'callback'=>'callable', 'offset='=>'mixed', 'maxlen='=>'mixed'], +'http\Message\Body::toStream' => ['http\Message\Body', 'stream'=>'resource', 'offset='=>'mixed', 'maxlen='=>'mixed'], +'http\Message\Body::toString' => ['string'], +'http\Message\Body::unserialize' => ['void', 'serialized'=>'string'], +'http\Message\Parser::getState' => ['int'], +'http\Message\Parser::parse' => ['int', 'data'=>'string', 'flags'=>'int', '&message'=>'http\Message'], +'http\Message\Parser::stream' => ['int', 'stream'=>'resource', 'flags'=>'int', '&message'=>'http\Message'], +'http\Params::__construct' => ['void', 'params='=>'mixed', 'param_sep='=>'mixed', 'arg_sep='=>'mixed', 'val_sep='=>'mixed', 'flags='=>'mixed'], +'http\Params::__toString' => ['string'], +'http\Params::offsetExists' => ['bool', 'name'=>'mixed'], +'http\Params::offsetGet' => ['mixed', 'name'=>'mixed'], +'http\Params::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], +'http\Params::offsetUnset' => ['void', 'name'=>'mixed'], +'http\Params::toArray' => ['array'], +'http\Params::toString' => ['string'], +'http\QueryString::__construct' => ['void', 'querystring'=>'string'], +'http\QueryString::__toString' => ['string'], +'http\QueryString::get' => ['http\QueryString|string|mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::getArray' => ['array|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::getBool' => ['bool|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::getFloat' => ['float|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::getGlobalInstance' => ['http\QueryString'], +'http\QueryString::getInt' => ['int|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::getIterator' => ['IteratorAggregate'], +'http\QueryString::getObject' => ['object|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::getString' => ['string|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], +'http\QueryString::mod' => ['http\QueryString', 'params='=>'mixed'], +'http\QueryString::offsetExists' => ['bool', 'offset'=>'mixed'], +'http\QueryString::offsetGet' => ['mixed|null', 'offset'=>'mixed'], +'http\QueryString::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], +'http\QueryString::offsetUnset' => ['void', 'offset'=>'mixed'], +'http\QueryString::serialize' => ['string'], +'http\QueryString::set' => ['http\QueryString', 'params'=>'mixed'], +'http\QueryString::toArray' => ['array'], +'http\QueryString::toString' => ['string'], +'http\QueryString::unserialize' => ['void', 'serialized'=>'string'], +'http\QueryString::xlate' => ['http\QueryString'], +'http\Url::__construct' => ['void', 'old_url='=>'mixed', 'new_url='=>'mixed', 'flags='=>'int'], +'http\Url::__toString' => ['string'], +'http\Url::mod' => ['http\Url', 'parts'=>'mixed', 'flags='=>'float|int|mixed'], +'http\Url::toArray' => ['string[]'], +'http\Url::toString' => ['string'], +'http_build_cookie' => ['string', 'cookie'=>'array'], +'http_build_query' => ['string', 'data'=>'array|object', 'numeric_prefix='=>'string', 'arg_separator='=>'?string', 'encoding_type='=>'int'], +'http_build_str' => ['string', 'query'=>'array', 'prefix='=>'?string', 'arg_separator='=>'string'], +'http_build_url' => ['string', 'url='=>'string|array', 'parts='=>'string|array', 'flags='=>'int', 'new_url='=>'array'], +'http_cache_etag' => ['bool', 'etag='=>'string'], +'http_cache_last_modified' => ['bool', 'timestamp_or_expires='=>'int'], +'http_chunked_decode' => ['string|false', 'encoded'=>'string'], +'http_date' => ['string', 'timestamp='=>'int'], +'http_deflate' => ['?string', 'data'=>'string', 'flags='=>'int'], +'http_get' => ['string', 'url'=>'string', 'options='=>'array', 'info='=>'array'], +'http_get_request_body' => ['?string'], +'http_get_request_body_stream' => ['?resource'], +'http_get_request_headers' => ['array'], +'http_head' => ['string', 'url'=>'string', 'options='=>'array', 'info='=>'array'], +'http_inflate' => ['?string', 'data'=>'string'], +'http_match_etag' => ['bool', 'etag'=>'string', 'for_range='=>'bool'], +'http_match_modified' => ['bool', 'timestamp='=>'int', 'for_range='=>'bool'], +'http_match_request_header' => ['bool', 'header'=>'string', 'value'=>'string', 'match_case='=>'bool'], +'http_negotiate_charset' => ['string', 'supported'=>'array', 'result='=>'array'], +'http_negotiate_content_type' => ['string', 'supported'=>'array', 'result='=>'array'], +'http_negotiate_language' => ['string', 'supported'=>'array', 'result='=>'array'], +'http_parse_cookie' => ['stdClass|false', 'cookie'=>'string', 'flags='=>'int', 'allowed_extras='=>'array'], +'http_parse_headers' => ['array|false', 'header'=>'string'], +'http_parse_message' => ['object', 'message'=>'string'], +'http_parse_params' => ['stdClass', 'param'=>'string', 'flags='=>'int'], +'http_persistent_handles_clean' => ['string', 'ident='=>'string'], +'http_persistent_handles_count' => ['stdClass|false'], +'http_persistent_handles_ident' => ['string|false', 'ident='=>'string'], +'http_post_data' => ['string', 'url'=>'string', 'data'=>'string', 'options='=>'array', 'info='=>'array'], +'http_post_fields' => ['string', 'url'=>'string', 'data'=>'array', 'files='=>'array', 'options='=>'array', 'info='=>'array'], +'http_put_data' => ['string', 'url'=>'string', 'data'=>'string', 'options='=>'array', 'info='=>'array'], +'http_put_file' => ['string', 'url'=>'string', 'file'=>'string', 'options='=>'array', 'info='=>'array'], +'http_put_stream' => ['string', 'url'=>'string', 'stream'=>'resource', 'options='=>'array', 'info='=>'array'], +'http_redirect' => ['int|false', 'url='=>'string', 'params='=>'array', 'session='=>'bool', 'status='=>'int'], +'http_request' => ['string', 'method'=>'int', 'url'=>'string', 'body='=>'string', 'options='=>'array', 'info='=>'array'], +'http_request_body_encode' => ['string|false', 'fields'=>'array', 'files'=>'array'], +'http_request_method_exists' => ['bool', 'method'=>'mixed'], +'http_request_method_name' => ['string|false', 'method'=>'int'], +'http_request_method_register' => ['int|false', 'method'=>'string'], +'http_request_method_unregister' => ['bool', 'method'=>'mixed'], +'http_response_code' => ['int|bool', 'response_code='=>'int'], +'http_send_content_disposition' => ['bool', 'filename'=>'string', 'inline='=>'bool'], +'http_send_content_type' => ['bool', 'content_type='=>'string'], +'http_send_data' => ['bool', 'data'=>'string'], +'http_send_file' => ['bool', 'file'=>'string'], +'http_send_last_modified' => ['bool', 'timestamp='=>'int'], +'http_send_status' => ['bool', 'status'=>'int'], +'http_send_stream' => ['bool', 'stream'=>'resource'], +'http_support' => ['int', 'feature='=>'int'], +'http_throttle' => ['void', 'sec'=>'float', 'bytes='=>'int'], +'HttpDeflateStream::__construct' => ['void', 'flags='=>'int'], +'HttpDeflateStream::factory' => ['HttpDeflateStream', 'flags='=>'int', 'class_name='=>'string'], +'HttpDeflateStream::finish' => ['string', 'data='=>'string'], +'HttpDeflateStream::flush' => ['string|false', 'data='=>'string'], +'HttpDeflateStream::update' => ['string|false', 'data'=>'string'], +'HttpInflateStream::__construct' => ['void', 'flags='=>'int'], +'HttpInflateStream::factory' => ['HttpInflateStream', 'flags='=>'int', 'class_name='=>'string'], +'HttpInflateStream::finish' => ['string', 'data='=>'string'], +'HttpInflateStream::flush' => ['string|false', 'data='=>'string'], +'HttpInflateStream::update' => ['string|false', 'data'=>'string'], +'HttpMessage::__construct' => ['void', 'message='=>'string'], +'HttpMessage::__toString' => ['string'], +'HttpMessage::addHeaders' => ['void', 'headers'=>'array', 'append='=>'bool'], +'HttpMessage::count' => ['int'], +'HttpMessage::current' => ['mixed'], +'HttpMessage::detach' => ['HttpMessage'], +'HttpMessage::factory' => ['?HttpMessage', 'raw_message='=>'string', 'class_name='=>'string'], +'HttpMessage::fromEnv' => ['?HttpMessage', 'message_type'=>'int', 'class_name='=>'string'], +'HttpMessage::fromString' => ['?HttpMessage', 'raw_message='=>'string', 'class_name='=>'string'], +'HttpMessage::getBody' => ['string'], +'HttpMessage::getHeader' => ['?string', 'header'=>'string'], +'HttpMessage::getHeaders' => ['array'], +'HttpMessage::getHttpVersion' => ['string'], +'HttpMessage::getInfo' => [''], +'HttpMessage::getParentMessage' => ['HttpMessage'], +'HttpMessage::getRequestMethod' => ['string|false'], +'HttpMessage::getRequestUrl' => ['string|false'], +'HttpMessage::getResponseCode' => ['int'], +'HttpMessage::getResponseStatus' => ['string'], +'HttpMessage::getType' => ['int'], +'HttpMessage::guessContentType' => ['string|false', 'magic_file'=>'string', 'magic_mode='=>'int'], +'HttpMessage::key' => ['int|string'], +'HttpMessage::next' => ['void'], +'HttpMessage::prepend' => ['void', 'message'=>'HttpMessage', 'top='=>'bool'], +'HttpMessage::reverse' => ['HttpMessage'], +'HttpMessage::rewind' => ['void'], +'HttpMessage::send' => ['bool'], +'HttpMessage::serialize' => ['string'], +'HttpMessage::setBody' => ['void', 'body'=>'string'], +'HttpMessage::setHeaders' => ['void', 'headers'=>'array'], +'HttpMessage::setHttpVersion' => ['bool', 'version'=>'string'], +'HttpMessage::setInfo' => ['', 'http_info'=>''], +'HttpMessage::setRequestMethod' => ['bool', 'method'=>'string'], +'HttpMessage::setRequestUrl' => ['bool', 'url'=>'string'], +'HttpMessage::setResponseCode' => ['bool', 'code'=>'int'], +'HttpMessage::setResponseStatus' => ['bool', 'status'=>'string'], +'HttpMessage::setType' => ['void', 'type'=>'int'], +'HttpMessage::toMessageTypeObject' => ['HttpRequest|HttpResponse|null'], +'HttpMessage::toString' => ['string', 'include_parent='=>'bool'], +'HttpMessage::unserialize' => ['void', 'serialized'=>'string'], +'HttpMessage::valid' => ['bool'], +'HttpQueryString::__construct' => ['void', 'global='=>'bool', 'add='=>'mixed'], +'HttpQueryString::__toString' => ['string'], +'HttpQueryString::factory' => ['', 'global'=>'', 'params'=>'', 'class_name'=>''], +'HttpQueryString::get' => ['mixed', 'key='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], +'HttpQueryString::getArray' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], +'HttpQueryString::getBool' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], +'HttpQueryString::getFloat' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], +'HttpQueryString::getInt' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], +'HttpQueryString::getObject' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], +'HttpQueryString::getString' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], +'HttpQueryString::mod' => ['HttpQueryString', 'params'=>'mixed'], +'HttpQueryString::offsetExists' => ['bool', 'offset'=>'mixed'], +'HttpQueryString::offsetGet' => ['mixed', 'offset'=>'mixed'], +'HttpQueryString::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], +'HttpQueryString::offsetUnset' => ['void', 'offset'=>'mixed'], +'HttpQueryString::serialize' => ['string'], +'HttpQueryString::set' => ['string', 'params'=>'mixed'], +'HttpQueryString::singleton' => ['HttpQueryString', 'global='=>'bool'], +'HttpQueryString::toArray' => ['array'], +'HttpQueryString::toString' => ['string'], +'HttpQueryString::unserialize' => ['void', 'serialized'=>'string'], +'HttpQueryString::xlate' => ['bool', 'ie'=>'string', 'oe'=>'string'], +'HttpRequest::__construct' => ['void', 'url='=>'string', 'request_method='=>'int', 'options='=>'array'], +'HttpRequest::addBody' => ['', 'request_body_data'=>''], +'HttpRequest::addCookies' => ['bool', 'cookies'=>'array'], +'HttpRequest::addHeaders' => ['bool', 'headers'=>'array'], +'HttpRequest::addPostFields' => ['bool', 'post_data'=>'array'], +'HttpRequest::addPostFile' => ['bool', 'name'=>'string', 'file'=>'string', 'content_type='=>'string'], +'HttpRequest::addPutData' => ['bool', 'put_data'=>'string'], +'HttpRequest::addQueryData' => ['bool', 'query_params'=>'array'], +'HttpRequest::addRawPostData' => ['bool', 'raw_post_data'=>'string'], +'HttpRequest::addSslOptions' => ['bool', 'options'=>'array'], +'HttpRequest::clearHistory' => ['void'], +'HttpRequest::enableCookies' => ['bool'], +'HttpRequest::encodeBody' => ['', 'fields'=>'', 'files'=>''], +'HttpRequest::factory' => ['', 'url'=>'', 'method'=>'', 'options'=>'', 'class_name'=>''], +'HttpRequest::flushCookies' => [''], +'HttpRequest::get' => ['', 'url'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::getBody' => [''], +'HttpRequest::getContentType' => ['string'], +'HttpRequest::getCookies' => ['array'], +'HttpRequest::getHeaders' => ['array'], +'HttpRequest::getHistory' => ['HttpMessage'], +'HttpRequest::getMethod' => ['int'], +'HttpRequest::getOptions' => ['array'], +'HttpRequest::getPostFields' => ['array'], +'HttpRequest::getPostFiles' => ['array'], +'HttpRequest::getPutData' => ['string'], +'HttpRequest::getPutFile' => ['string'], +'HttpRequest::getQueryData' => ['string'], +'HttpRequest::getRawPostData' => ['string'], +'HttpRequest::getRawRequestMessage' => ['string'], +'HttpRequest::getRawResponseMessage' => ['string'], +'HttpRequest::getRequestMessage' => ['HttpMessage'], +'HttpRequest::getResponseBody' => ['string'], +'HttpRequest::getResponseCode' => ['int'], +'HttpRequest::getResponseCookies' => ['stdClass[]', 'flags='=>'int', 'allowed_extras='=>'array'], +'HttpRequest::getResponseData' => ['array'], +'HttpRequest::getResponseHeader' => ['mixed', 'name='=>'string'], +'HttpRequest::getResponseInfo' => ['mixed', 'name='=>'string'], +'HttpRequest::getResponseMessage' => ['HttpMessage'], +'HttpRequest::getResponseStatus' => ['string'], +'HttpRequest::getSslOptions' => ['array'], +'HttpRequest::getUrl' => ['string'], +'HttpRequest::head' => ['', 'url'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::methodExists' => ['', 'method'=>''], +'HttpRequest::methodName' => ['', 'method_id'=>''], +'HttpRequest::methodRegister' => ['', 'method_name'=>''], +'HttpRequest::methodUnregister' => ['', 'method'=>''], +'HttpRequest::postData' => ['', 'url'=>'', 'data'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::postFields' => ['', 'url'=>'', 'data'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::putData' => ['', 'url'=>'', 'data'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::putFile' => ['', 'url'=>'', 'file'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::putStream' => ['', 'url'=>'', 'stream'=>'', 'options'=>'', '&info'=>''], +'HttpRequest::resetCookies' => ['bool', 'session_only='=>'bool'], +'HttpRequest::send' => ['HttpMessage'], +'HttpRequest::setBody' => ['bool', 'request_body_data='=>'string'], +'HttpRequest::setContentType' => ['bool', 'content_type'=>'string'], +'HttpRequest::setCookies' => ['bool', 'cookies='=>'array'], +'HttpRequest::setHeaders' => ['bool', 'headers='=>'array'], +'HttpRequest::setMethod' => ['bool', 'request_method'=>'int'], +'HttpRequest::setOptions' => ['bool', 'options='=>'array'], +'HttpRequest::setPostFields' => ['bool', 'post_data'=>'array'], +'HttpRequest::setPostFiles' => ['bool', 'post_files'=>'array'], +'HttpRequest::setPutData' => ['bool', 'put_data='=>'string'], +'HttpRequest::setPutFile' => ['bool', 'file='=>'string'], +'HttpRequest::setQueryData' => ['bool', 'query_data'=>'mixed'], +'HttpRequest::setRawPostData' => ['bool', 'raw_post_data='=>'string'], +'HttpRequest::setSslOptions' => ['bool', 'options='=>'array'], +'HttpRequest::setUrl' => ['bool', 'url'=>'string'], +'HttpRequestDataShare::__construct' => ['void'], +'HttpRequestDataShare::__destruct' => ['void'], +'HttpRequestDataShare::attach' => ['', 'request'=>'HttpRequest'], +'HttpRequestDataShare::count' => ['int'], +'HttpRequestDataShare::detach' => ['', 'request'=>'HttpRequest'], +'HttpRequestDataShare::factory' => ['', 'global'=>'', 'class_name'=>''], +'HttpRequestDataShare::reset' => [''], +'HttpRequestDataShare::singleton' => ['', 'global'=>''], +'HttpRequestPool::__construct' => ['void', 'request='=>'HttpRequest'], +'HttpRequestPool::__destruct' => ['void'], +'HttpRequestPool::attach' => ['bool', 'request'=>'HttpRequest'], +'HttpRequestPool::count' => ['int'], +'HttpRequestPool::current' => ['mixed'], +'HttpRequestPool::detach' => ['bool', 'request'=>'HttpRequest'], +'HttpRequestPool::enableEvents' => ['', 'enable'=>''], +'HttpRequestPool::enablePipelining' => ['', 'enable'=>''], +'HttpRequestPool::getAttachedRequests' => ['array'], +'HttpRequestPool::getFinishedRequests' => ['array'], +'HttpRequestPool::key' => ['int|string'], +'HttpRequestPool::next' => ['void'], +'HttpRequestPool::reset' => ['void'], +'HttpRequestPool::rewind' => ['void'], +'HttpRequestPool::send' => ['bool'], +'HttpRequestPool::socketPerform' => ['bool'], +'HttpRequestPool::socketSelect' => ['bool', 'timeout='=>'float'], +'HttpRequestPool::valid' => ['bool'], +'HttpResponse::capture' => ['void'], +'HttpResponse::getBufferSize' => ['int'], +'HttpResponse::getCache' => ['bool'], +'HttpResponse::getCacheControl' => ['string'], +'HttpResponse::getContentDisposition' => ['string'], +'HttpResponse::getContentType' => ['string'], +'HttpResponse::getData' => ['string'], +'HttpResponse::getETag' => ['string'], +'HttpResponse::getFile' => ['string'], +'HttpResponse::getGzip' => ['bool'], +'HttpResponse::getHeader' => ['mixed', 'name='=>'string'], +'HttpResponse::getLastModified' => ['int'], +'HttpResponse::getRequestBody' => ['string'], +'HttpResponse::getRequestBodyStream' => ['resource'], +'HttpResponse::getRequestHeaders' => ['array'], +'HttpResponse::getStream' => ['resource'], +'HttpResponse::getThrottleDelay' => ['float'], +'HttpResponse::guessContentType' => ['string|false', 'magic_file'=>'string', 'magic_mode='=>'int'], +'HttpResponse::redirect' => ['void', 'url='=>'string', 'params='=>'array', 'session='=>'bool', 'status='=>'int'], +'HttpResponse::send' => ['bool', 'clean_ob='=>'bool'], +'HttpResponse::setBufferSize' => ['bool', 'bytes'=>'int'], +'HttpResponse::setCache' => ['bool', 'cache'=>'bool'], +'HttpResponse::setCacheControl' => ['bool', 'control'=>'string', 'max_age='=>'int', 'must_revalidate='=>'bool'], +'HttpResponse::setContentDisposition' => ['bool', 'filename'=>'string', 'inline='=>'bool'], +'HttpResponse::setContentType' => ['bool', 'content_type'=>'string'], +'HttpResponse::setData' => ['bool', 'data'=>'mixed'], +'HttpResponse::setETag' => ['bool', 'etag'=>'string'], +'HttpResponse::setFile' => ['bool', 'file'=>'string'], +'HttpResponse::setGzip' => ['bool', 'gzip'=>'bool'], +'HttpResponse::setHeader' => ['bool', 'name'=>'string', 'value='=>'mixed', 'replace='=>'bool'], +'HttpResponse::setLastModified' => ['bool', 'timestamp'=>'int'], +'HttpResponse::setStream' => ['bool', 'stream'=>'resource'], +'HttpResponse::setThrottleDelay' => ['bool', 'seconds'=>'float'], +'HttpResponse::status' => ['bool', 'status'=>'int'], +'HttpUtil::buildCookie' => ['', 'cookie_array'=>''], +'HttpUtil::buildStr' => ['', 'query'=>'', 'prefix'=>'', 'arg_sep'=>''], +'HttpUtil::buildUrl' => ['', 'url'=>'', 'parts'=>'', 'flags'=>'', '&composed'=>''], +'HttpUtil::chunkedDecode' => ['', 'encoded_string'=>''], +'HttpUtil::date' => ['', 'timestamp'=>''], +'HttpUtil::deflate' => ['', 'plain'=>'', 'flags'=>''], +'HttpUtil::inflate' => ['', 'encoded'=>''], +'HttpUtil::matchEtag' => ['', 'plain_etag'=>'', 'for_range'=>''], +'HttpUtil::matchModified' => ['', 'last_modified'=>'', 'for_range'=>''], +'HttpUtil::matchRequestHeader' => ['', 'header_name'=>'', 'header_value'=>'', 'case_sensitive'=>''], +'HttpUtil::negotiateCharset' => ['', 'supported'=>'', '&result'=>''], +'HttpUtil::negotiateContentType' => ['', 'supported'=>'', '&result'=>''], +'HttpUtil::negotiateLanguage' => ['', 'supported'=>'', '&result'=>''], +'HttpUtil::parseCookie' => ['', 'cookie_string'=>''], +'HttpUtil::parseHeaders' => ['', 'headers_string'=>''], +'HttpUtil::parseMessage' => ['', 'message_string'=>''], +'HttpUtil::parseParams' => ['', 'param_string'=>'', 'flags'=>''], +'HttpUtil::support' => ['', 'feature'=>''], +'hw_api::checkin' => ['bool', 'parameter'=>'array'], +'hw_api::checkout' => ['bool', 'parameter'=>'array'], +'hw_api::children' => ['array', 'parameter'=>'array'], +'hw_api::content' => ['HW_API_Content', 'parameter'=>'array'], +'hw_api::copy' => ['hw_api_content', 'parameter'=>'array'], +'hw_api::dbstat' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::dcstat' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::dstanchors' => ['array', 'parameter'=>'array'], +'hw_api::dstofsrcanchor' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::find' => ['array', 'parameter'=>'array'], +'hw_api::ftstat' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::hwstat' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::identify' => ['bool', 'parameter'=>'array'], +'hw_api::info' => ['array', 'parameter'=>'array'], +'hw_api::insert' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::insertanchor' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::insertcollection' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::insertdocument' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::link' => ['bool', 'parameter'=>'array'], +'hw_api::lock' => ['bool', 'parameter'=>'array'], +'hw_api::move' => ['bool', 'parameter'=>'array'], +'hw_api::object' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::objectbyanchor' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::parents' => ['array', 'parameter'=>'array'], +'hw_api::remove' => ['bool', 'parameter'=>'array'], +'hw_api::replace' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::setcommittedversion' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::srcanchors' => ['array', 'parameter'=>'array'], +'hw_api::srcsofdst' => ['array', 'parameter'=>'array'], +'hw_api::unlock' => ['bool', 'parameter'=>'array'], +'hw_api::user' => ['hw_api_object', 'parameter'=>'array'], +'hw_api::userlist' => ['array', 'parameter'=>'array'], +'hw_api_attribute' => ['HW_API_Attribute', 'name='=>'string', 'value='=>'string'], +'hw_api_attribute::key' => ['string'], +'hw_api_attribute::langdepvalue' => ['string', 'language'=>'string'], +'hw_api_attribute::value' => ['string'], +'hw_api_attribute::values' => ['array'], +'hw_api_content' => ['HW_API_Content', 'content'=>'string', 'mimetype'=>'string'], +'hw_api_content::mimetype' => ['string'], +'hw_api_content::read' => ['string', 'buffer'=>'string', 'length'=>'int'], +'hw_api_error::count' => ['int'], +'hw_api_error::reason' => ['HW_API_Reason'], +'hw_api_object' => ['hw_api_object', 'parameter'=>'array'], +'hw_api_object::assign' => ['bool', 'parameter'=>'array'], +'hw_api_object::attreditable' => ['bool', 'parameter'=>'array'], +'hw_api_object::count' => ['int', 'parameter'=>'array'], +'hw_api_object::insert' => ['bool', 'attribute'=>'hw_api_attribute'], +'hw_api_object::remove' => ['bool', 'name'=>'string'], +'hw_api_object::title' => ['string', 'parameter'=>'array'], +'hw_api_object::value' => ['string', 'name'=>'string'], +'hw_api_reason::description' => ['string'], +'hw_api_reason::type' => ['HW_API_Reason'], +'hw_Array2Objrec' => ['string', 'object_array'=>'array'], +'hw_changeobject' => ['bool', 'link'=>'int', 'objid'=>'int', 'attributes'=>'array'], +'hw_Children' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_ChildrenObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_Close' => ['bool', 'connection'=>'int'], +'hw_Connect' => ['int', 'host'=>'string', 'port'=>'int', 'username='=>'string', 'password='=>'string'], +'hw_connection_info' => ['', 'link'=>'int'], +'hw_cp' => ['int', 'connection'=>'int', 'object_id_array'=>'array', 'destination_id'=>'int'], +'hw_Deleteobject' => ['bool', 'connection'=>'int', 'object_to_delete'=>'int'], +'hw_DocByAnchor' => ['int', 'connection'=>'int', 'anchorid'=>'int'], +'hw_DocByAnchorObj' => ['string', 'connection'=>'int', 'anchorid'=>'int'], +'hw_Document_Attributes' => ['string', 'hw_document'=>'int'], +'hw_Document_BodyTag' => ['string', 'hw_document'=>'int', 'prefix='=>'string'], +'hw_Document_Content' => ['string', 'hw_document'=>'int'], +'hw_Document_SetContent' => ['bool', 'hw_document'=>'int', 'content'=>'string'], +'hw_Document_Size' => ['int', 'hw_document'=>'int'], +'hw_dummy' => ['string', 'link'=>'int', 'id'=>'int', 'msgid'=>'int'], +'hw_EditText' => ['bool', 'connection'=>'int', 'hw_document'=>'int'], +'hw_Error' => ['int', 'connection'=>'int'], +'hw_ErrorMsg' => ['string', 'connection'=>'int'], +'hw_Free_Document' => ['bool', 'hw_document'=>'int'], +'hw_GetAnchors' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetAnchorsObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetAndLock' => ['string', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetChildColl' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetChildCollObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetChildDocColl' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetChildDocCollObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetObject' => ['', 'connection'=>'int', 'objectid'=>'', 'query='=>'string'], +'hw_GetObjectByQuery' => ['array', 'connection'=>'int', 'query'=>'string', 'max_hits'=>'int'], +'hw_GetObjectByQueryColl' => ['array', 'connection'=>'int', 'objectid'=>'int', 'query'=>'string', 'max_hits'=>'int'], +'hw_GetObjectByQueryCollObj' => ['array', 'connection'=>'int', 'objectid'=>'int', 'query'=>'string', 'max_hits'=>'int'], +'hw_GetObjectByQueryObj' => ['array', 'connection'=>'int', 'query'=>'string', 'max_hits'=>'int'], +'hw_GetParents' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetParentsObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_getrellink' => ['string', 'link'=>'int', 'rootid'=>'int', 'sourceid'=>'int', 'destid'=>'int'], +'hw_GetRemote' => ['int', 'connection'=>'int', 'objectid'=>'int'], +'hw_getremotechildren' => ['', 'connection'=>'int', 'object_record'=>'string'], +'hw_GetSrcByDestObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], +'hw_GetText' => ['int', 'connection'=>'int', 'objectid'=>'int', 'prefix='=>''], +'hw_getusername' => ['string', 'connection'=>'int'], +'hw_Identify' => ['string', 'link'=>'int', 'username'=>'string', 'password'=>'string'], +'hw_InCollections' => ['array', 'connection'=>'int', 'object_id_array'=>'array', 'collection_id_array'=>'array', 'return_collections'=>'int'], +'hw_Info' => ['string', 'connection'=>'int'], +'hw_InsColl' => ['int', 'connection'=>'int', 'objectid'=>'int', 'object_array'=>'array'], +'hw_InsDoc' => ['int', 'connection'=>'', 'parentid'=>'int', 'object_record'=>'string', 'text='=>'string'], +'hw_insertanchors' => ['bool', 'hwdoc'=>'int', 'anchorecs'=>'array', 'dest'=>'array', 'urlprefixes='=>'array'], +'hw_InsertDocument' => ['int', 'connection'=>'int', 'parent_id'=>'int', 'hw_document'=>'int'], +'hw_InsertObject' => ['int', 'connection'=>'int', 'object_rec'=>'string', 'parameter'=>'string'], +'hw_mapid' => ['int', 'connection'=>'int', 'server_id'=>'int', 'object_id'=>'int'], +'hw_Modifyobject' => ['bool', 'connection'=>'int', 'object_to_change'=>'int', 'remove'=>'array', 'add'=>'array', 'mode='=>'int'], +'hw_mv' => ['int', 'connection'=>'int', 'object_id_array'=>'array', 'source_id'=>'int', 'destination_id'=>'int'], +'hw_New_Document' => ['int', 'object_record'=>'string', 'document_data'=>'string', 'document_size'=>'int'], +'hw_objrec2array' => ['array', 'object_record'=>'string', 'format='=>'array'], +'hw_Output_Document' => ['bool', 'hw_document'=>'int'], +'hw_pConnect' => ['int', 'host'=>'string', 'port'=>'int', 'username='=>'string', 'password='=>'string'], +'hw_PipeDocument' => ['int', 'connection'=>'int', 'objectid'=>'int', 'url_prefixes='=>'array'], +'hw_Root' => ['int'], +'hw_setlinkroot' => ['int', 'link'=>'int', 'rootid'=>'int'], +'hw_stat' => ['string', 'link'=>'int'], +'hw_Unlock' => ['bool', 'connection'=>'int', 'objectid'=>'int'], +'hw_Who' => ['array', 'connection'=>'int'], +'hwapi_attribute_new' => ['HW_API_Attribute', 'name='=>'string', 'value='=>'string'], +'hwapi_content_new' => ['HW_API_Content', 'content'=>'string', 'mimetype'=>'string'], +'hwapi_hgcsp' => ['HW_API', 'hostname'=>'string', 'port='=>'int'], +'hwapi_object_new' => ['hw_api_object', 'parameter'=>'array'], +'hypot' => ['float', 'x'=>'float', 'y'=>'float'], +'ibase_add_user' => ['bool', 'service_handle'=>'resource', 'user_name'=>'string', 'password'=>'string', 'first_name='=>'string', 'middle_name='=>'string', 'last_name='=>'string'], +'ibase_affected_rows' => ['int', 'link_identifier='=>'resource'], +'ibase_backup' => ['mixed', 'service_handle'=>'resource', 'source_db'=>'string', 'dest_file'=>'string', 'options='=>'int', 'verbose='=>'bool'], +'ibase_blob_add' => ['void', 'blob_handle'=>'resource', 'data'=>'string'], +'ibase_blob_cancel' => ['bool', 'blob_handle'=>'resource'], +'ibase_blob_close' => ['string|bool', 'blob_handle'=>'resource'], +'ibase_blob_create' => ['resource', 'link_identifier='=>'resource'], +'ibase_blob_echo' => ['bool', 'link_identifier'=>'', 'blob_id'=>'string'], +'ibase_blob_echo\'1' => ['bool', 'blob_id'=>'string'], +'ibase_blob_get' => ['string|false', 'blob_handle'=>'resource', 'length'=>'int'], +'ibase_blob_import' => ['string|false', 'link_identifier'=>'resource', 'file_handle'=>'resource'], +'ibase_blob_info' => ['array', 'link_identifier'=>'resource', 'blob_id'=>'string'], +'ibase_blob_info\'1' => ['array', 'blob_id'=>'string'], +'ibase_blob_open' => ['resource|false', 'link_identifier'=>'', 'blob_id'=>'string'], +'ibase_blob_open\'1' => ['resource', 'blob_id'=>'string'], +'ibase_close' => ['bool', 'link_identifier='=>'resource'], +'ibase_commit' => ['bool', 'link_identifier='=>'resource'], +'ibase_commit_ret' => ['bool', 'link_identifier='=>'resource'], +'ibase_connect' => ['resource|false', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'charset='=>'string', 'buffers='=>'int', 'dialect='=>'int', 'role='=>'string'], +'ibase_db_info' => ['string', 'service_handle'=>'resource', 'db'=>'string', 'action'=>'int', 'argument='=>'int'], +'ibase_delete_user' => ['bool', 'service_handle'=>'resource', 'user_name'=>'string', 'password='=>'string', 'first_name='=>'string', 'middle_name='=>'string', 'last_name='=>'string'], +'ibase_drop_db' => ['bool', 'link_identifier='=>'resource'], +'ibase_errcode' => ['int|false'], +'ibase_errmsg' => ['string|false'], +'ibase_execute' => ['resource|false', 'query'=>'resource', 'bind_arg='=>'mixed', '...args='=>'mixed'], +'ibase_fetch_assoc' => ['array|false', 'result'=>'resource', 'fetch_flags='=>'int'], +'ibase_fetch_object' => ['object|false', 'result'=>'resource', 'fetch_flags='=>'int'], +'ibase_fetch_row' => ['array|false', 'result'=>'resource', 'fetch_flags='=>'int'], +'ibase_field_info' => ['array', 'query_result'=>'resource', 'field_number'=>'int'], +'ibase_free_event_handler' => ['bool', 'event'=>'resource'], +'ibase_free_query' => ['bool', 'query'=>'resource'], +'ibase_free_result' => ['bool', 'result'=>'resource'], +'ibase_gen_id' => ['int|string', 'generator'=>'string', 'increment='=>'int', 'link_identifier='=>'resource'], +'ibase_maintain_db' => ['bool', 'service_handle'=>'resource', 'db'=>'string', 'action'=>'int', 'argument='=>'int'], +'ibase_modify_user' => ['bool', 'service_handle'=>'resource', 'user_name'=>'string', 'password'=>'string', 'first_name='=>'string', 'middle_name='=>'string', 'last_name='=>'string'], +'ibase_name_result' => ['bool', 'result'=>'resource', 'name'=>'string'], +'ibase_num_fields' => ['int', 'query_result'=>'resource'], +'ibase_num_params' => ['int', 'query'=>'resource'], +'ibase_num_rows' => ['int', 'result_identifier'=>''], +'ibase_param_info' => ['array', 'query'=>'resource', 'field_number'=>'int'], +'ibase_pconnect' => ['resource|false', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'charset='=>'string', 'buffers='=>'int', 'dialect='=>'int', 'role='=>'string'], +'ibase_prepare' => ['resource|false', 'link_identifier'=>'', 'query'=>'string', 'trans_identifier'=>''], +'ibase_query' => ['resource|false', 'link_identifier='=>'resource', 'string='=>'string', 'bind_arg='=>'int', '...args='=>''], +'ibase_restore' => ['mixed', 'service_handle'=>'resource', 'source_file'=>'string', 'dest_db'=>'string', 'options='=>'int', 'verbose='=>'bool'], +'ibase_rollback' => ['bool', 'link_identifier='=>'resource'], +'ibase_rollback_ret' => ['bool', 'link_identifier='=>'resource'], +'ibase_server_info' => ['string', 'service_handle'=>'resource', 'action'=>'int'], +'ibase_service_attach' => ['resource', 'host'=>'string', 'dba_username'=>'string', 'dba_password'=>'string'], +'ibase_service_detach' => ['bool', 'service_handle'=>'resource'], +'ibase_set_event_handler' => ['resource', 'link_identifier'=>'', 'callback'=>'callable', 'event='=>'string', '...args='=>''], +'ibase_set_event_handler\'1' => ['resource', 'callback'=>'callable', 'event'=>'string', '...args'=>''], +'ibase_timefmt' => ['bool', 'format'=>'string', 'columntype='=>'int'], +'ibase_trans' => ['resource|false', 'trans_args='=>'int', 'link_identifier='=>'', '...args='=>''], +'ibase_wait_event' => ['string', 'link_identifier'=>'', 'event='=>'string', '...args='=>''], +'ibase_wait_event\'1' => ['string', 'event'=>'string', '...args'=>''], +'iconv' => ['string|false', 'from_encoding'=>'string', 'to_encoding'=>'string', 'string'=>'string'], +'iconv_get_encoding' => ['array|string|false', 'type='=>'string'], +'iconv_mime_decode' => ['string|false', 'string'=>'string', 'mode='=>'int', 'encoding='=>'?string'], +'iconv_mime_decode_headers' => ['array|false', 'headers'=>'string', 'mode='=>'int', 'encoding='=>'?string'], +'iconv_mime_encode' => ['string|false', 'field_name'=>'string', 'field_value'=>'string', 'options='=>'array'], +'iconv_set_encoding' => ['bool', 'type'=>'string', 'encoding'=>'string'], +'iconv_strlen' => ['0|positive-int|false', 'string'=>'string', 'encoding='=>'?string'], +'iconv_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'?string'], +'iconv_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'?string'], +'iconv_substr' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'?int', 'encoding='=>'?string'], +'id3_get_frame_long_name' => ['string', 'frameid'=>'string'], +'id3_get_frame_short_name' => ['string', 'frameid'=>'string'], +'id3_get_genre_id' => ['int', 'genre'=>'string'], +'id3_get_genre_list' => ['array'], +'id3_get_genre_name' => ['string', 'genre_id'=>'int'], +'id3_get_tag' => ['array', 'filename'=>'string', 'version='=>'int'], +'id3_get_version' => ['int', 'filename'=>'string'], +'id3_remove_tag' => ['bool', 'filename'=>'string', 'version='=>'int'], +'id3_set_tag' => ['bool', 'filename'=>'string', 'tag'=>'array', 'version='=>'int'], +'idate' => ['int', 'format'=>'string', 'timestamp='=>'?int'], +'idn_strerror' => ['string', 'errorcode'=>'int'], +'idn_to_ascii' => ['string|false', 'domain'=>'string', 'flags='=>'int', 'variant='=>'int', '&w_idna_info='=>'array'], +'idn_to_utf8' => ['string|false', 'domain'=>'string', 'flags='=>'int', 'variant='=>'int', '&w_idna_info='=>'array'], +'ifx_affected_rows' => ['int', 'result_id'=>'resource'], +'ifx_blobinfile_mode' => ['bool', 'mode'=>'int'], +'ifx_byteasvarchar' => ['bool', 'mode'=>'int'], +'ifx_close' => ['bool', 'link_identifier='=>'resource'], +'ifx_connect' => ['resource', 'database='=>'string', 'userid='=>'string', 'password='=>'string'], +'ifx_copy_blob' => ['int', 'bid'=>'int'], +'ifx_create_blob' => ['int', 'type'=>'int', 'mode'=>'int', 'param'=>'string'], +'ifx_create_char' => ['int', 'param'=>'string'], +'ifx_do' => ['bool', 'result_id'=>'resource'], +'ifx_error' => ['string', 'link_identifier='=>'resource'], +'ifx_errormsg' => ['string', 'errorcode='=>'int'], +'ifx_fetch_row' => ['array', 'result_id'=>'resource', 'position='=>'mixed'], +'ifx_fieldproperties' => ['array', 'result_id'=>'resource'], +'ifx_fieldtypes' => ['array', 'result_id'=>'resource'], +'ifx_free_blob' => ['bool', 'bid'=>'int'], +'ifx_free_char' => ['bool', 'bid'=>'int'], +'ifx_free_result' => ['bool', 'result_id'=>'resource'], +'ifx_get_blob' => ['string', 'bid'=>'int'], +'ifx_get_char' => ['string', 'bid'=>'int'], +'ifx_getsqlca' => ['array', 'result_id'=>'resource'], +'ifx_htmltbl_result' => ['int', 'result_id'=>'resource', 'html_table_options='=>'string'], +'ifx_nullformat' => ['bool', 'mode'=>'int'], +'ifx_num_fields' => ['int', 'result_id'=>'resource'], +'ifx_num_rows' => ['int', 'result_id'=>'resource'], +'ifx_pconnect' => ['resource', 'database='=>'string', 'userid='=>'string', 'password='=>'string'], +'ifx_prepare' => ['resource', 'query'=>'string', 'link_identifier'=>'resource', 'cursor_def='=>'int', 'blobidarray='=>'mixed'], +'ifx_query' => ['resource', 'query'=>'string', 'link_identifier'=>'resource', 'cursor_type='=>'int', 'blobidarray='=>'mixed'], +'ifx_textasvarchar' => ['bool', 'mode'=>'int'], +'ifx_update_blob' => ['bool', 'bid'=>'int', 'content'=>'string'], +'ifx_update_char' => ['bool', 'bid'=>'int', 'content'=>'string'], +'ifxus_close_slob' => ['bool', 'bid'=>'int'], +'ifxus_create_slob' => ['int', 'mode'=>'int'], +'ifxus_free_slob' => ['bool', 'bid'=>'int'], +'ifxus_open_slob' => ['int', 'bid'=>'int', 'mode'=>'int'], +'ifxus_read_slob' => ['string', 'bid'=>'int', 'nbytes'=>'int'], +'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'=>'mixed'], +'igbinary_unserialize' => ['mixed', 'str'=>'string'], +'ignore_user_abort' => ['int', 'enable='=>'?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'], +'iis_get_script_map' => ['string', 'server_instance'=>'int', 'virtual_path'=>'string', 'script_extension'=>'string'], +'iis_get_server_by_comment' => ['int', 'comment'=>'string'], +'iis_get_server_by_path' => ['int', 'path'=>'string'], +'iis_get_server_rights' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string'], +'iis_get_service_state' => ['int', 'service_id'=>'string'], +'iis_remove_server' => ['int', 'server_instance'=>'int'], +'iis_set_app_settings' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'application_scope'=>'string'], +'iis_set_dir_security' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'directory_flags'=>'int'], +'iis_set_script_map' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'script_extension'=>'string', 'engine_path'=>'string', 'allow_scripting'=>'int'], +'iis_set_server_rights' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'directory_flags'=>'int'], +'iis_start_server' => ['int', 'server_instance'=>'int'], +'iis_start_service' => ['int', 'service_id'=>'string'], +'iis_stop_server' => ['int', 'server_instance'=>'int'], +'iis_stop_service' => ['int', 'service_id'=>'string'], +'image_type_to_extension' => ['string', 'image_type'=>'int', 'include_dot='=>'bool'], +'image_type_to_mime_type' => ['string', 'image_type'=>'int'], +'imageaffine' => ['false|GdImage', 'image'=>'GdImage', 'affine'=>'array', 'clip='=>'?array'], +'imageaffinematrixconcat' => ['array{0:float,1:float,2:float,3:float,4:float,5:float}|false', 'matrix1'=>'array', 'matrix2'=>'array'], +'imageaffinematrixget' => ['array{0:float,1:float,2:float,3:float,4:float,5:float}|false', 'type'=>'int', 'options'=>'array|float'], +'imagealphablending' => ['bool', 'image'=>'GdImage', 'enable'=>'bool'], +'imageantialias' => ['bool', 'image'=>'GdImage', 'enable'=>'bool'], +'imagearc' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int'], +'imageavif' => ['bool', 'image'=>'GdImage', 'file='=>'resource|string|null', 'quality='=>'int', 'speed='=>'int'], +'imagebmp' => ['bool', 'image'=>'GdImage', 'file='=>'resource|string|null', 'compressed='=>'bool'], +'imagechar' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], +'imagecharup' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], +'imagecolorallocate' => ['int|false', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'imagecolorallocatealpha' => ['int|false', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], +'imagecolorat' => ['int|false', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int'], +'imagecolorclosest' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'imagecolorclosestalpha' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], +'imagecolorclosesthwb' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'imagecolordeallocate' => ['bool', 'image'=>'GdImage', 'color'=>'int'], +'imagecolorexact' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'imagecolorexactalpha' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], +'imagecolormatch' => ['bool', 'image1'=>'GdImage', 'image2'=>'GdImage'], +'imagecolorresolve' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'imagecolorresolvealpha' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], +'imagecolorset' => ['false|null', 'image'=>'GdImage', 'color'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int'], +'imagecolorsforindex' => ['array', 'image'=>'GdImage', 'color'=>'int'], +'imagecolorstotal' => ['int', 'image'=>'GdImage'], +'imagecolortransparent' => ['int', 'image'=>'GdImage', 'color='=>'?int'], +'imageconvolution' => ['bool', 'image'=>'GdImage', 'matrix'=>'array', 'divisor'=>'float', 'offset'=>'float'], +'imagecopy' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int'], +'imagecopymerge' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], +'imagecopymergegray' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], +'imagecopyresampled' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], +'imagecopyresized' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], +'imagecreate' => ['false|GdImage', 'width'=>'int', 'height'=>'int'], +'imagecreatefromavif' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefrombmp' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromgd' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromgd2' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromgd2part' => ['false|GdImage', 'filename'=>'string', 'x'=>'int', 'y'=>'int', 'width'=>'int', 'height'=>'int'], +'imagecreatefromgif' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromjpeg' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefrompng' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromstring' => ['false|GdImage', 'data'=>'string'], +'imagecreatefromwbmp' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromwebp' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromxbm' => ['false|GdImage', 'filename'=>'string'], +'imagecreatefromxpm' => ['false|GdImage', 'filename'=>'string'], +'imagecreatetruecolor' => ['false|GdImage', 'width'=>'int', 'height'=>'int'], +'imagecrop' => ['false|GdImage', 'image'=>'GdImage', 'rectangle'=>'array'], +'imagecropauto' => ['false|GdImage', 'image'=>'GdImage', 'mode='=>'int', 'threshold='=>'float', 'color='=>'int'], +'imagedashedline' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], +'imagedestroy' => ['bool', 'image'=>'GdImage'], +'imageellipse' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], +'imagefill' => ['bool', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int', 'color'=>'int'], +'imagefilledarc' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int', 'style'=>'int'], +'imagefilledellipse' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], +'imagefilledpolygon' => ['bool', 'image'=>'GdImage', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], +'imagefilledrectangle' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], +'imagefilltoborder' => ['bool', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int', 'border_color'=>'int', 'color'=>'int'], +'imagefilter' => ['bool', 'image'=>'GdImage', 'filter'=>'int', '...args='=>'array|int|float|bool'], +'imageflip' => ['bool', 'image'=>'GdImage', 'mode'=>'int'], +'imagefontheight' => ['int', 'font'=>'int'], +'imagefontwidth' => ['int', 'font'=>'int'], +'imageftbbox' => ['array|false', 'size'=>'float', 'angle'=>'float', 'font_filename'=>'string', 'string'=>'string', 'options='=>'array'], +'imagefttext' => ['array|false', 'image'=>'GdImage', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string', 'options='=>'array'], +'imagegammacorrect' => ['bool', 'image'=>'GdImage', 'input_gamma'=>'float', 'output_gamma'=>'float'], +'imagegd' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null'], +'imagegd2' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'chunk_size='=>'int', 'mode='=>'int'], +'imagegetclip' => ['array', 'image'=>'GdImage'], +'imagegetinterpolation' => ['int', 'image'=>'GdImage'], +'imagegif' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null'], +'imagegrabscreen' => ['false|GdImage'], +'imagegrabwindow' => ['false|GdImage', 'handle'=>'int', 'client_area='=>'int'], +'imageinterlace' => ['bool', 'image'=>'GdImage', 'enable='=>'bool|null'], +'imageistruecolor' => ['bool', 'image'=>'GdImage'], +'imagejpeg' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'quality='=>'int'], +'imagelayereffect' => ['bool', 'image'=>'GdImage', 'effect'=>'int'], +'imageline' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], +'imageloadfont' => ['GdFont|false', 'filename'=>'string'], +'imageObj::pasteImage' => ['void', 'srcImg'=>'imageObj', 'transparentColorHex'=>'int', 'dstX'=>'int', 'dstY'=>'int', 'angle'=>'int'], +'imageObj::saveImage' => ['int', 'filename'=>'string', 'oMap'=>'mapObj'], +'imageObj::saveWebImage' => ['string'], +'imageopenpolygon' => ['bool', 'image'=>'GdImage', 'points'=>'array', 'num_points'=>'int', 'color'=>'int'], +'imagepalettecopy' => ['void', 'dst'=>'GdImage', 'src'=>'GdImage'], +'imagepalettetotruecolor' => ['bool', 'image'=>'GdImage'], +'imagepng' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'quality='=>'int', 'filters='=>'int'], +'imagepolygon' => ['bool', 'image'=>'GdImage', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], +'imagerectangle' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], +'imageresolution' => ['array|bool', 'image'=>'GdImage', 'resolution_x='=>'?int', 'resolution_y='=>'?int'], +'imagerotate' => ['false|GdImage', 'image'=>'GdImage', 'angle'=>'float', 'background_color'=>'int', 'ignore_transparent='=>'bool'], +'imagesavealpha' => ['bool', 'image'=>'GdImage', 'enable'=>'bool'], +'imagescale' => ['false|GdImage', 'image'=>'GdImage', 'width'=>'int', 'height='=>'int', 'mode='=>'int'], +'imagesetbrush' => ['bool', 'image'=>'GdImage', 'brush'=>'GdImage'], +'imagesetclip' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'x2'=>'int', 'y1'=>'int', 'y2'=>'int'], +'imagesetinterpolation' => ['bool', 'image'=>'GdImage', 'method='=>'int'], +'imagesetpixel' => ['bool', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int', 'color'=>'int'], +'imagesetstyle' => ['bool', 'image'=>'GdImage', 'style'=>'non-empty-array'], +'imagesetthickness' => ['bool', 'image'=>'GdImage', 'thickness'=>'int'], +'imagesettile' => ['bool', 'image'=>'GdImage', 'tile'=>'GdImage'], +'imagestring' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], +'imagestringup' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], +'imagesx' => ['int', 'image'=>'GdImage'], +'imagesy' => ['int', 'image'=>'GdImage'], +'imagetruecolortopalette' => ['bool', 'image'=>'GdImage', 'dither'=>'bool', 'num_colors'=>'int'], +'imagettfbbox' => ['false|array', 'size'=>'float', 'angle'=>'float', 'font_filename'=>'string', 'string'=>'string', 'options='=>'array'], +'imagettftext' => ['false|array', 'image'=>'GdImage', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string', 'options='=>'array'], +'imagetypes' => ['int'], +'imagewbmp' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'foreground_color='=>'?int'], +'imagewebp' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'quality='=>'int'], +'imagexbm' => ['bool', 'image'=>'GdImage', 'filename'=>'?string', 'foreground_color='=>'?int'], +'Imagick::__construct' => ['void', 'files='=>'string|string[]'], +'Imagick::__toString' => ['string'], +'Imagick::adaptiveBlurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], +'Imagick::adaptiveResizeImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'bestfit='=>'bool'], +'Imagick::adaptiveSharpenImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], +'Imagick::adaptiveThresholdImage' => ['bool', 'width'=>'int', 'height'=>'int', 'offset'=>'int'], +'Imagick::addImage' => ['bool', 'source'=>'Imagick'], +'Imagick::addNoiseImage' => ['bool', 'noise_type'=>'int', 'channel='=>'int'], +'Imagick::affineTransformImage' => ['bool', 'matrix'=>'ImagickDraw'], +'Imagick::animateImages' => ['bool', 'x_server'=>'string'], +'Imagick::annotateImage' => ['bool', 'draw_settings'=>'ImagickDraw', 'x'=>'float', 'y'=>'float', 'angle'=>'float', 'text'=>'string'], +'Imagick::appendImages' => ['Imagick', 'stack'=>'bool'], +'Imagick::autoGammaImage' => ['bool', 'channel='=>'int'], +'Imagick::autoLevelImage' => ['void', 'CHANNEL='=>'string'], +'Imagick::autoOrient' => ['bool'], +'Imagick::averageImages' => ['Imagick'], +'Imagick::blackThresholdImage' => ['bool', 'threshold'=>'mixed'], +'Imagick::blueShiftImage' => ['void', 'factor='=>'float'], +'Imagick::blurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], +'Imagick::borderImage' => ['bool', 'bordercolor'=>'mixed', 'width'=>'int', 'height'=>'int'], +'Imagick::brightnessContrastImage' => ['void', 'brightness'=>'string', 'contrast'=>'string', 'CHANNEL='=>'string'], +'Imagick::charcoalImage' => ['bool', 'radius'=>'float', 'sigma'=>'float'], +'Imagick::chopImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::clampImage' => ['void', 'CHANNEL='=>'string'], +'Imagick::clear' => ['bool'], +'Imagick::clipImage' => ['bool'], +'Imagick::clipImagePath' => ['void', 'pathname'=>'string', 'inside'=>'string'], +'Imagick::clipPathImage' => ['bool', 'pathname'=>'string', 'inside'=>'bool'], +'Imagick::clone' => ['Imagick'], +'Imagick::clutImage' => ['bool', 'lookup_table'=>'Imagick', 'channel='=>'float'], +'Imagick::coalesceImages' => ['Imagick'], +'Imagick::colorFloodfillImage' => ['bool', 'fill'=>'mixed', 'fuzz'=>'float', 'bordercolor'=>'mixed', 'x'=>'int', 'y'=>'int'], +'Imagick::colorizeImage' => ['bool', 'colorize'=>'mixed', 'opacity'=>'mixed'], +'Imagick::colorMatrixImage' => ['void', 'color_matrix'=>'string'], +'Imagick::combineImages' => ['Imagick', 'channeltype'=>'int'], +'Imagick::commentImage' => ['bool', 'comment'=>'string'], +'Imagick::compareImageChannels' => ['array{Imagick, float}', 'image'=>'Imagick', 'channeltype'=>'int', 'metrictype'=>'int'], +'Imagick::compareImageLayers' => ['Imagick', 'method'=>'int'], +'Imagick::compareImages' => ['array{Imagick, float}', 'compare'=>'Imagick', 'metric'=>'int'], +'Imagick::compositeImage' => ['bool', 'composite_object'=>'Imagick', 'composite'=>'int', 'x'=>'int', 'y'=>'int', 'channel='=>'int'], +'Imagick::compositeImageGravity' => ['bool', 'Imagick'=>'Imagick', 'COMPOSITE_CONSTANT'=>'int', 'GRAVITY_CONSTANT'=>'int'], +'Imagick::contrastImage' => ['bool', 'sharpen'=>'bool'], +'Imagick::contrastStretchImage' => ['bool', 'black_point'=>'float', 'white_point'=>'float', 'channel='=>'int'], +'Imagick::convolveImage' => ['bool', 'kernel'=>'array', 'channel='=>'int'], +'Imagick::count' => ['void', 'mode='=>'string'], +'Imagick::cropImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::cropThumbnailImage' => ['bool', 'width'=>'int', 'height'=>'int', 'legacy='=>'bool'], +'Imagick::current' => ['Imagick'], +'Imagick::cycleColormapImage' => ['bool', 'displace'=>'int'], +'Imagick::decipherImage' => ['bool', 'passphrase'=>'string'], +'Imagick::deconstructImages' => ['Imagick'], +'Imagick::deleteImageArtifact' => ['bool', 'artifact'=>'string'], +'Imagick::deleteImageProperty' => ['void', 'name'=>'string'], +'Imagick::deskewImage' => ['bool', 'threshold'=>'float'], +'Imagick::despeckleImage' => ['bool'], +'Imagick::destroy' => ['bool'], +'Imagick::displayImage' => ['bool', 'servername'=>'string'], +'Imagick::displayImages' => ['bool', 'servername'=>'string'], +'Imagick::distortImage' => ['bool', 'method'=>'int', 'arguments'=>'array', 'bestfit'=>'bool'], +'Imagick::drawImage' => ['bool', 'draw'=>'ImagickDraw'], +'Imagick::edgeImage' => ['bool', 'radius'=>'float'], +'Imagick::embossImage' => ['bool', 'radius'=>'float', 'sigma'=>'float'], +'Imagick::encipherImage' => ['bool', 'passphrase'=>'string'], +'Imagick::enhanceImage' => ['bool'], +'Imagick::equalizeImage' => ['bool'], +'Imagick::evaluateImage' => ['bool', 'op'=>'int', 'constant'=>'float', 'channel='=>'int'], +'Imagick::evaluateImages' => ['bool', 'EVALUATE_CONSTANT'=>'int'], +'Imagick::exportImagePixels' => ['list', 'x'=>'int', 'y'=>'int', 'width'=>'int', 'height'=>'int', 'map'=>'string', 'storage'=>'int'], +'Imagick::extentImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::filter' => ['void', 'ImagickKernel'=>'ImagickKernel', 'CHANNEL='=>'int'], +'Imagick::flattenImages' => ['Imagick'], +'Imagick::flipImage' => ['bool'], +'Imagick::floodFillPaintImage' => ['bool', 'fill'=>'mixed', 'fuzz'=>'float', 'target'=>'mixed', 'x'=>'int', 'y'=>'int', 'invert'=>'bool', 'channel='=>'int'], +'Imagick::flopImage' => ['bool'], +'Imagick::forwardFourierTransformimage' => ['void', 'magnitude'=>'bool'], +'Imagick::frameImage' => ['bool', 'matte_color'=>'mixed', 'width'=>'int', 'height'=>'int', 'inner_bevel'=>'int', 'outer_bevel'=>'int'], +'Imagick::functionImage' => ['bool', 'function'=>'int', 'arguments'=>'array', 'channel='=>'int'], +'Imagick::fxImage' => ['Imagick', 'expression'=>'string', 'channel='=>'int'], +'Imagick::gammaImage' => ['bool', 'gamma'=>'float', 'channel='=>'int'], +'Imagick::gaussianBlurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], +'Imagick::getColorspace' => ['int'], +'Imagick::getCompression' => ['int'], +'Imagick::getCompressionQuality' => ['int'], +'Imagick::getConfigureOptions' => ['string'], +'Imagick::getCopyright' => ['string'], +'Imagick::getFeatures' => ['string'], +'Imagick::getFilename' => ['string'], +'Imagick::getFont' => ['string|false'], +'Imagick::getFormat' => ['string'], +'Imagick::getGravity' => ['int'], +'Imagick::getHDRIEnabled' => ['int'], +'Imagick::getHomeURL' => ['string'], +'Imagick::getImage' => ['Imagick'], +'Imagick::getImageAlphaChannel' => ['int'], +'Imagick::getImageArtifact' => ['string', 'artifact'=>'string'], +'Imagick::getImageAttribute' => ['string', 'key'=>'string'], +'Imagick::getImageBackgroundColor' => ['ImagickPixel'], +'Imagick::getImageBlob' => ['string'], +'Imagick::getImageBluePrimary' => ['array{x:float, y:float}'], +'Imagick::getImageBorderColor' => ['ImagickPixel'], +'Imagick::getImageChannelDepth' => ['int', 'channel'=>'int'], +'Imagick::getImageChannelDistortion' => ['float', 'reference'=>'Imagick', 'channel'=>'int', 'metric'=>'int'], +'Imagick::getImageChannelDistortions' => ['float', 'reference'=>'Imagick', 'metric'=>'int', 'channel='=>'int'], +'Imagick::getImageChannelExtrema' => ['array{minima:int, maxima:int}', 'channel'=>'int'], +'Imagick::getImageChannelKurtosis' => ['array{kurtosis:float, skewness:float}', 'channel='=>'int'], +'Imagick::getImageChannelMean' => ['array{mean:float, standardDeviation:float}', 'channel'=>'int'], +'Imagick::getImageChannelRange' => ['array{minima:float, maxima:float}', 'channel'=>'int'], +'Imagick::getImageChannelStatistics' => ['array'], +'Imagick::getImageClipMask' => ['Imagick'], +'Imagick::getImageColormapColor' => ['ImagickPixel', 'index'=>'int'], +'Imagick::getImageColors' => ['int'], +'Imagick::getImageColorspace' => ['int'], +'Imagick::getImageCompose' => ['int'], +'Imagick::getImageCompression' => ['int'], +'Imagick::getImageCompressionQuality' => ['int'], +'Imagick::getImageDelay' => ['int'], +'Imagick::getImageDepth' => ['int'], +'Imagick::getImageDispose' => ['int'], +'Imagick::getImageDistortion' => ['float', 'reference'=>'magickwand', 'metric'=>'int'], +'Imagick::getImageExtrema' => ['array{min:int, max:int}'], +'Imagick::getImageFilename' => ['string'], +'Imagick::getImageFormat' => ['string'], +'Imagick::getImageGamma' => ['float'], +'Imagick::getImageGeometry' => ['array{width:int, height:int}'], +'Imagick::getImageGravity' => ['int'], +'Imagick::getImageGreenPrimary' => ['array{x:float, y:float}'], +'Imagick::getImageHeight' => ['int'], +'Imagick::getImageHistogram' => ['list'], +'Imagick::getImageIndex' => ['int'], +'Imagick::getImageInterlaceScheme' => ['int'], +'Imagick::getImageInterpolateMethod' => ['int'], +'Imagick::getImageIterations' => ['int'], +'Imagick::getImageLength' => ['int'], +'Imagick::getImageMagickLicense' => ['string'], +'Imagick::getImageMatte' => ['bool'], +'Imagick::getImageMatteColor' => ['ImagickPixel'], +'Imagick::getImageMimeType' => ['string'], +'Imagick::getImageOrientation' => ['int'], +'Imagick::getImagePage' => ['array{width:int, height:int, x:int, y:int}'], +'Imagick::getImagePixelColor' => ['ImagickPixel', 'x'=>'int', 'y'=>'int'], +'Imagick::getImageProfile' => ['string', 'name'=>'string'], +'Imagick::getImageProfiles' => ['array', 'pattern='=>'string', 'only_names='=>'bool'], +'Imagick::getImageProperties' => ['array', 'pattern='=>'string', 'only_names='=>'bool'], +'Imagick::getImageProperty' => ['string|false', 'name'=>'string'], +'Imagick::getImageRedPrimary' => ['array{x:float, y:float}'], +'Imagick::getImageRegion' => ['Imagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::getImageRenderingIntent' => ['int'], +'Imagick::getImageResolution' => ['array{x:float, y:float}'], +'Imagick::getImagesBlob' => ['string'], +'Imagick::getImageScene' => ['int'], +'Imagick::getImageSignature' => ['string'], +'Imagick::getImageSize' => ['int'], +'Imagick::getImageTicksPerSecond' => ['int'], +'Imagick::getImageTotalInkDensity' => ['float'], +'Imagick::getImageType' => ['int'], +'Imagick::getImageUnits' => ['int'], +'Imagick::getImageVirtualPixelMethod' => ['int'], +'Imagick::getImageWhitePoint' => ['array{x:float, y:float}'], +'Imagick::getImageWidth' => ['int'], +'Imagick::getInterlaceScheme' => ['int'], +'Imagick::getIteratorIndex' => ['int'], +'Imagick::getNumberImages' => ['int'], +'Imagick::getOption' => ['string', 'key'=>'string'], +'Imagick::getPackageName' => ['string'], +'Imagick::getPage' => ['array{width:int, height:int, x:int, y:int}'], +'Imagick::getPixelIterator' => ['ImagickPixelIterator'], +'Imagick::getPixelRegionIterator' => ['ImagickPixelIterator', 'x'=>'int', 'y'=>'int', 'columns'=>'int', 'rows'=>'int'], +'Imagick::getPointSize' => ['float'], +'Imagick::getQuantum' => ['int'], +'Imagick::getQuantumDepth' => ['array{quantumDepthLong:int, quantumDepthString:string}'], +'Imagick::getQuantumRange' => ['array{quantumRangeLong:int, quantumRangeString:string}'], +'Imagick::getRegistry' => ['string|false', 'key'=>'string'], +'Imagick::getReleaseDate' => ['string'], +'Imagick::getResource' => ['int', 'type'=>'int'], +'Imagick::getResourceLimit' => ['int', 'type'=>'int'], +'Imagick::getSamplingFactors' => ['array'], +'Imagick::getSize' => ['array{columns:int, rows: int}'], +'Imagick::getSizeOffset' => ['int'], +'Imagick::getVersion' => ['array{versionNumber: int, versionString:string}'], +'Imagick::haldClutImage' => ['bool', 'clut'=>'Imagick', 'channel='=>'int'], +'Imagick::hasNextImage' => ['bool'], +'Imagick::hasPreviousImage' => ['bool'], +'Imagick::identifyFormat' => ['string|false', 'embedText'=>'string'], +'Imagick::identifyImage' => ['array', 'appendrawoutput='=>'bool'], +'Imagick::identifyImageType' => ['int'], +'Imagick::implodeImage' => ['bool', 'radius'=>'float'], +'Imagick::importImagePixels' => ['bool', 'x'=>'int', 'y'=>'int', 'width'=>'int', 'height'=>'int', 'map'=>'string', 'storage'=>'int', 'pixels'=>'list'], +'Imagick::inverseFourierTransformImage' => ['void', 'complement'=>'string', 'magnitude'=>'string'], +'Imagick::key' => ['int|string'], +'Imagick::labelImage' => ['bool', 'label'=>'string'], +'Imagick::levelImage' => ['bool', 'blackpoint'=>'float', 'gamma'=>'float', 'whitepoint'=>'float', 'channel='=>'int'], +'Imagick::linearStretchImage' => ['bool', 'blackpoint'=>'float', 'whitepoint'=>'float'], +'Imagick::liquidRescaleImage' => ['bool', 'width'=>'int', 'height'=>'int', 'delta_x'=>'float', 'rigidity'=>'float'], +'Imagick::listRegistry' => ['array'], +'Imagick::localContrastImage' => ['bool', 'radius'=>'float', 'strength'=>'float'], +'Imagick::magnifyImage' => ['bool'], +'Imagick::mapImage' => ['bool', 'map'=>'Imagick', 'dither'=>'bool'], +'Imagick::matteFloodfillImage' => ['bool', 'alpha'=>'float', 'fuzz'=>'float', 'bordercolor'=>'mixed', 'x'=>'int', 'y'=>'int'], +'Imagick::medianFilterImage' => ['bool', 'radius'=>'float'], +'Imagick::mergeImageLayers' => ['Imagick', 'layer_method'=>'int'], +'Imagick::minifyImage' => ['bool'], +'Imagick::modulateImage' => ['bool', 'brightness'=>'float', 'saturation'=>'float', 'hue'=>'float'], +'Imagick::montageImage' => ['Imagick', 'draw'=>'ImagickDraw', 'tile_geometry'=>'string', 'thumbnail_geometry'=>'string', 'mode'=>'int', 'frame'=>'string'], +'Imagick::morphImages' => ['Imagick', 'number_frames'=>'int'], +'Imagick::morphology' => ['void', 'morphologyMethod'=>'int', 'iterations'=>'int', 'ImagickKernel'=>'ImagickKernel', 'CHANNEL='=>'string'], +'Imagick::mosaicImages' => ['Imagick'], +'Imagick::motionBlurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'angle'=>'float', 'channel='=>'int'], +'Imagick::negateImage' => ['bool', 'gray'=>'bool', 'channel='=>'int'], +'Imagick::newImage' => ['bool', 'cols'=>'int', 'rows'=>'int', 'background'=>'mixed', 'format='=>'string'], +'Imagick::newPseudoImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'pseudostring'=>'string'], +'Imagick::next' => ['void'], +'Imagick::nextImage' => ['bool'], +'Imagick::normalizeImage' => ['bool', 'channel='=>'int'], +'Imagick::oilPaintImage' => ['bool', 'radius'=>'float'], +'Imagick::opaquePaintImage' => ['bool', 'target'=>'mixed', 'fill'=>'mixed', 'fuzz'=>'float', 'invert'=>'bool', 'channel='=>'int'], +'Imagick::optimizeImageLayers' => ['bool'], +'Imagick::orderedPosterizeImage' => ['bool', 'threshold_map'=>'string', 'channel='=>'int'], +'Imagick::paintFloodfillImage' => ['bool', 'fill'=>'mixed', 'fuzz'=>'float', 'bordercolor'=>'mixed', 'x'=>'int', 'y'=>'int', 'channel='=>'int'], +'Imagick::paintOpaqueImage' => ['bool', 'target'=>'mixed', 'fill'=>'mixed', 'fuzz'=>'float', 'channel='=>'int'], +'Imagick::paintTransparentImage' => ['bool', 'target'=>'mixed', 'alpha'=>'float', 'fuzz'=>'float'], +'Imagick::pingImage' => ['bool', 'filename'=>'string'], +'Imagick::pingImageBlob' => ['bool', 'image'=>'string'], +'Imagick::pingImageFile' => ['bool', 'filehandle'=>'resource', 'filename='=>'string'], +'Imagick::polaroidImage' => ['bool', 'properties'=>'ImagickDraw', 'angle'=>'float'], +'Imagick::posterizeImage' => ['bool', 'levels'=>'int', 'dither'=>'bool'], +'Imagick::previewImages' => ['bool', 'preview'=>'int'], +'Imagick::previousImage' => ['bool'], +'Imagick::profileImage' => ['bool', 'name'=>'string', 'profile'=>'string'], +'Imagick::quantizeImage' => ['bool', 'numbercolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], +'Imagick::quantizeImages' => ['bool', 'numbercolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], +'Imagick::queryFontMetrics' => ['array', 'properties'=>'ImagickDraw', 'text'=>'string', 'multiline='=>'bool'], +'Imagick::queryFonts' => ['array', 'pattern='=>'string'], +'Imagick::queryFormats' => ['list', 'pattern='=>'string'], +'Imagick::radialBlurImage' => ['bool', 'angle'=>'float', 'channel='=>'int'], +'Imagick::raiseImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int', 'raise'=>'bool'], +'Imagick::randomThresholdImage' => ['bool', 'low'=>'float', 'high'=>'float', 'channel='=>'int'], +'Imagick::readImage' => ['bool', 'filename'=>'string'], +'Imagick::readImageBlob' => ['bool', 'image'=>'string', 'filename='=>'string'], +'Imagick::readImageFile' => ['bool', 'filehandle'=>'resource', 'filename='=>'string'], +'Imagick::readImages' => ['Imagick', 'filenames'=>'string'], +'Imagick::recolorImage' => ['bool', 'matrix'=>'list'], +'Imagick::reduceNoiseImage' => ['bool', 'radius'=>'float'], +'Imagick::remapImage' => ['bool', 'replacement'=>'Imagick', 'dither'=>'int'], +'Imagick::removeImage' => ['bool'], +'Imagick::removeImageProfile' => ['string', 'name'=>'string'], +'Imagick::render' => ['bool'], +'Imagick::resampleImage' => ['bool', 'x_resolution'=>'float', 'y_resolution'=>'float', 'filter'=>'int', 'blur'=>'float'], +'Imagick::resetImagePage' => ['bool', 'page'=>'string'], +'Imagick::resetIterator' => [''], +'Imagick::resizeImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'filter'=>'int', 'blur'=>'float', 'bestfit='=>'bool'], +'Imagick::rewind' => ['void'], +'Imagick::rollImage' => ['bool', 'x'=>'int', 'y'=>'int'], +'Imagick::rotateImage' => ['bool', 'background'=>'mixed', 'degrees'=>'float'], +'Imagick::rotationalBlurImage' => ['void', 'angle'=>'string', 'CHANNEL='=>'string'], +'Imagick::roundCorners' => ['bool', 'x_rounding'=>'float', 'y_rounding'=>'float', 'stroke_width='=>'float', 'displace='=>'float', 'size_correction='=>'float'], +'Imagick::roundCornersImage' => ['', 'xRounding'=>'', 'yRounding'=>'', 'strokeWidth'=>'', 'displace'=>'', 'sizeCorrection'=>''], +'Imagick::sampleImage' => ['bool', 'columns'=>'int', 'rows'=>'int'], +'Imagick::scaleImage' => ['bool', 'cols'=>'int', 'rows'=>'int', 'bestfit='=>'bool'], +'Imagick::segmentImage' => ['bool', 'colorspace'=>'int', 'cluster_threshold'=>'float', 'smooth_threshold'=>'float', 'verbose='=>'bool'], +'Imagick::selectiveBlurImage' => ['void', 'radius'=>'float', 'sigma'=>'float', 'threshold'=>'float', 'CHANNEL'=>'int'], +'Imagick::separateImageChannel' => ['bool', 'channel'=>'int'], +'Imagick::sepiaToneImage' => ['bool', 'threshold'=>'float'], +'Imagick::setAntiAlias' => ['int', 'antialias'=>'bool'], +'Imagick::setBackgroundColor' => ['bool', 'background'=>'mixed'], +'Imagick::setColorspace' => ['bool', 'colorspace'=>'int'], +'Imagick::setCompression' => ['bool', 'compression'=>'int'], +'Imagick::setCompressionQuality' => ['bool', 'quality'=>'int'], +'Imagick::setFilename' => ['bool', 'filename'=>'string'], +'Imagick::setFirstIterator' => ['bool'], +'Imagick::setFont' => ['bool', 'font'=>'string'], +'Imagick::setFormat' => ['bool', 'format'=>'string'], +'Imagick::setGravity' => ['bool', 'gravity'=>'int'], +'Imagick::setImage' => ['bool', 'replace'=>'Imagick'], +'Imagick::setImageAlpha' => ['bool', 'alpha'=>'float'], +'Imagick::setImageAlphaChannel' => ['bool', 'mode'=>'int'], +'Imagick::setImageArtifact' => ['bool', 'artifact'=>'string', 'value'=>'string'], +'Imagick::setImageAttribute' => ['void', 'key'=>'string', 'value'=>'string'], +'Imagick::setImageBackgroundColor' => ['bool', 'background'=>'mixed'], +'Imagick::setImageBias' => ['bool', 'bias'=>'float'], +'Imagick::setImageBiasQuantum' => ['void', 'bias'=>'string'], +'Imagick::setImageBluePrimary' => ['bool', 'x'=>'float', 'y'=>'float'], +'Imagick::setImageBorderColor' => ['bool', 'border'=>'mixed'], +'Imagick::setImageChannelDepth' => ['bool', 'channel'=>'int', 'depth'=>'int'], +'Imagick::setImageChannelMask' => ['', 'channel'=>'int'], +'Imagick::setImageClipMask' => ['bool', 'clip_mask'=>'Imagick'], +'Imagick::setImageColormapColor' => ['bool', 'index'=>'int', 'color'=>'ImagickPixel'], +'Imagick::setImageColorspace' => ['bool', 'colorspace'=>'int'], +'Imagick::setImageCompose' => ['bool', 'compose'=>'int'], +'Imagick::setImageCompression' => ['bool', 'compression'=>'int'], +'Imagick::setImageCompressionQuality' => ['bool', 'quality'=>'int'], +'Imagick::setImageDelay' => ['bool', 'delay'=>'int'], +'Imagick::setImageDepth' => ['bool', 'depth'=>'int'], +'Imagick::setImageDispose' => ['bool', 'dispose'=>'int'], +'Imagick::setImageExtent' => ['bool', 'columns'=>'int', 'rows'=>'int'], +'Imagick::setImageFilename' => ['bool', 'filename'=>'string'], +'Imagick::setImageFormat' => ['bool', 'format'=>'string'], +'Imagick::setImageGamma' => ['bool', 'gamma'=>'float'], +'Imagick::setImageGravity' => ['bool', 'gravity'=>'int'], +'Imagick::setImageGreenPrimary' => ['bool', 'x'=>'float', 'y'=>'float'], +'Imagick::setImageIndex' => ['bool', 'index'=>'int'], +'Imagick::setImageInterlaceScheme' => ['bool', 'interlace_scheme'=>'int'], +'Imagick::setImageInterpolateMethod' => ['bool', 'method'=>'int'], +'Imagick::setImageIterations' => ['bool', 'iterations'=>'int'], +'Imagick::setImageMatte' => ['bool', 'matte'=>'bool'], +'Imagick::setImageMatteColor' => ['bool', 'matte'=>'mixed'], +'Imagick::setImageOpacity' => ['bool', 'opacity'=>'float'], +'Imagick::setImageOrientation' => ['bool', 'orientation'=>'int'], +'Imagick::setImagePage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::setImageProfile' => ['bool', 'name'=>'string', 'profile'=>'string'], +'Imagick::setImageProgressMonitor' => ['', 'filename'=>''], +'Imagick::setImageProperty' => ['bool', 'name'=>'string', 'value'=>'string'], +'Imagick::setImageRedPrimary' => ['bool', 'x'=>'float', 'y'=>'float'], +'Imagick::setImageRenderingIntent' => ['bool', 'rendering_intent'=>'int'], +'Imagick::setImageResolution' => ['bool', 'x_resolution'=>'float', 'y_resolution'=>'float'], +'Imagick::setImageScene' => ['bool', 'scene'=>'int'], +'Imagick::setImageTicksPerSecond' => ['bool', 'ticks_per_second'=>'int'], +'Imagick::setImageType' => ['bool', 'image_type'=>'int'], +'Imagick::setImageUnits' => ['bool', 'units'=>'int'], +'Imagick::setImageVirtualPixelMethod' => ['bool', 'method'=>'int'], +'Imagick::setImageWhitePoint' => ['bool', 'x'=>'float', 'y'=>'float'], +'Imagick::setInterlaceScheme' => ['bool', 'interlace_scheme'=>'int'], +'Imagick::setIteratorIndex' => ['bool', 'index'=>'int'], +'Imagick::setLastIterator' => ['bool'], +'Imagick::setOption' => ['bool', 'key'=>'string', 'value'=>'string'], +'Imagick::setPage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::setPointSize' => ['bool', 'point_size'=>'float'], +'Imagick::setProgressMonitor' => ['void', 'callback'=>'callable'], +'Imagick::setRegistry' => ['void', 'key'=>'string', 'value'=>'string'], +'Imagick::setResolution' => ['bool', 'x_resolution'=>'float', 'y_resolution'=>'float'], +'Imagick::setResourceLimit' => ['bool', 'type'=>'int', 'limit'=>'int'], +'Imagick::setSamplingFactors' => ['bool', 'factors'=>'list'], +'Imagick::setSize' => ['bool', 'columns'=>'int', 'rows'=>'int'], +'Imagick::setSizeOffset' => ['bool', 'columns'=>'int', 'rows'=>'int', 'offset'=>'int'], +'Imagick::setType' => ['bool', 'image_type'=>'int'], +'Imagick::shadeImage' => ['bool', 'gray'=>'bool', 'azimuth'=>'float', 'elevation'=>'float'], +'Imagick::shadowImage' => ['bool', 'opacity'=>'float', 'sigma'=>'float', 'x'=>'int', 'y'=>'int'], +'Imagick::sharpenImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], +'Imagick::shaveImage' => ['bool', 'columns'=>'int', 'rows'=>'int'], +'Imagick::shearImage' => ['bool', 'background'=>'mixed', 'x_shear'=>'float', 'y_shear'=>'float'], +'Imagick::sigmoidalContrastImage' => ['bool', 'sharpen'=>'bool', 'alpha'=>'float', 'beta'=>'float', 'channel='=>'int'], +'Imagick::similarityImage' => ['Imagick', 'Imagick'=>'Imagick', '&bestMatch'=>'array', '&similarity'=>'float', 'similarity_threshold'=>'float', 'metric'=>'int'], +'Imagick::sketchImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'angle'=>'float'], +'Imagick::smushImages' => ['Imagick', 'stack'=>'string', 'offset'=>'string'], +'Imagick::solarizeImage' => ['bool', 'threshold'=>'int'], +'Imagick::sparseColorImage' => ['bool', 'sparse_method'=>'int', 'arguments'=>'array', 'channel='=>'int'], +'Imagick::spliceImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], +'Imagick::spreadImage' => ['bool', 'radius'=>'float'], +'Imagick::statisticImage' => ['void', 'type'=>'int', 'width'=>'int', 'height'=>'int', 'CHANNEL='=>'string'], +'Imagick::steganoImage' => ['Imagick', 'watermark_wand'=>'Imagick', 'offset'=>'int'], +'Imagick::stereoImage' => ['bool', 'offset_wand'=>'Imagick'], +'Imagick::stripImage' => ['bool'], +'Imagick::subImageMatch' => ['Imagick', 'Imagick'=>'Imagick', '&w_offset='=>'array', '&w_similarity='=>'float'], +'Imagick::swirlImage' => ['bool', 'degrees'=>'float'], +'Imagick::textureImage' => ['bool', 'texture_wand'=>'Imagick'], +'Imagick::thresholdImage' => ['bool', 'threshold'=>'float', 'channel='=>'int'], +'Imagick::thumbnailImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'bestfit='=>'bool', 'fill='=>'bool', 'legacy='=>'bool'], +'Imagick::tintImage' => ['bool', 'tint'=>'mixed', 'opacity'=>'mixed'], +'Imagick::transformImage' => ['Imagick', 'crop'=>'string', 'geometry'=>'string'], +'Imagick::transformImageColorspace' => ['bool', 'colorspace'=>'int'], +'Imagick::transparentPaintImage' => ['bool', 'target'=>'mixed', 'alpha'=>'float', 'fuzz'=>'float', 'invert'=>'bool'], +'Imagick::transposeImage' => ['bool'], +'Imagick::transverseImage' => ['bool'], +'Imagick::trimImage' => ['bool', 'fuzz'=>'float'], +'Imagick::uniqueImageColors' => ['bool'], +'Imagick::unsharpMaskImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'amount'=>'float', 'threshold'=>'float', 'channel='=>'int'], +'Imagick::valid' => ['bool'], +'Imagick::vignetteImage' => ['bool', 'blackpoint'=>'float', 'whitepoint'=>'float', 'x'=>'int', 'y'=>'int'], +'Imagick::waveImage' => ['bool', 'amplitude'=>'float', 'length'=>'float'], +'Imagick::whiteThresholdImage' => ['bool', 'threshold'=>'mixed'], +'Imagick::writeImage' => ['bool', 'filename='=>'string'], +'Imagick::writeImageFile' => ['bool', 'filehandle'=>'resource'], +'Imagick::writeImages' => ['bool', 'filename'=>'string', 'adjoin'=>'bool'], +'Imagick::writeImagesFile' => ['bool', 'filehandle'=>'resource'], +'ImagickDraw::__construct' => ['void'], +'ImagickDraw::affine' => ['bool', 'affine'=>'array'], +'ImagickDraw::annotation' => ['bool', 'x'=>'float', 'y'=>'float', 'text'=>'string'], +'ImagickDraw::arc' => ['bool', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float', 'sd'=>'float', 'ed'=>'float'], +'ImagickDraw::bezier' => ['bool', 'coordinates'=>'list'], +'ImagickDraw::circle' => ['bool', 'ox'=>'float', 'oy'=>'float', 'px'=>'float', 'py'=>'float'], +'ImagickDraw::clear' => ['bool'], +'ImagickDraw::clone' => ['ImagickDraw'], +'ImagickDraw::color' => ['bool', 'x'=>'float', 'y'=>'float', 'paintmethod'=>'int'], +'ImagickDraw::comment' => ['bool', 'comment'=>'string'], +'ImagickDraw::composite' => ['bool', 'compose'=>'int', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float', 'compositewand'=>'Imagick'], +'ImagickDraw::destroy' => ['bool'], +'ImagickDraw::ellipse' => ['bool', 'ox'=>'float', 'oy'=>'float', 'rx'=>'float', 'ry'=>'float', 'start'=>'float', 'end'=>'float'], +'ImagickDraw::getBorderColor' => ['ImagickPixel'], +'ImagickDraw::getClipPath' => ['string|false'], +'ImagickDraw::getClipRule' => ['int'], +'ImagickDraw::getClipUnits' => ['int'], +'ImagickDraw::getDensity' => ['?string'], +'ImagickDraw::getFillColor' => ['ImagickPixel'], +'ImagickDraw::getFillOpacity' => ['float'], +'ImagickDraw::getFillRule' => ['int'], +'ImagickDraw::getFont' => ['string|false'], +'ImagickDraw::getFontFamily' => ['string|false'], +'ImagickDraw::getFontResolution' => ['array'], +'ImagickDraw::getFontSize' => ['float'], +'ImagickDraw::getFontStretch' => ['int'], +'ImagickDraw::getFontStyle' => ['int'], +'ImagickDraw::getFontWeight' => ['int'], +'ImagickDraw::getGravity' => ['int'], +'ImagickDraw::getOpacity' => ['float'], +'ImagickDraw::getStrokeAntialias' => ['bool'], +'ImagickDraw::getStrokeColor' => ['ImagickPixel'], +'ImagickDraw::getStrokeDashArray' => ['array'], +'ImagickDraw::getStrokeDashOffset' => ['float'], +'ImagickDraw::getStrokeLineCap' => ['int'], +'ImagickDraw::getStrokeLineJoin' => ['int'], +'ImagickDraw::getStrokeMiterLimit' => ['int'], +'ImagickDraw::getStrokeOpacity' => ['float'], +'ImagickDraw::getStrokeWidth' => ['float'], +'ImagickDraw::getTextAlignment' => ['int'], +'ImagickDraw::getTextAntialias' => ['bool'], +'ImagickDraw::getTextDecoration' => ['int'], +'ImagickDraw::getTextDirection' => ['bool'], +'ImagickDraw::getTextEncoding' => ['string'], +'ImagickDraw::getTextInterlineSpacing' => ['float'], +'ImagickDraw::getTextInterwordSpacing' => ['float'], +'ImagickDraw::getTextKerning' => ['float'], +'ImagickDraw::getTextUnderColor' => ['ImagickPixel'], +'ImagickDraw::getVectorGraphics' => ['string'], +'ImagickDraw::line' => ['bool', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float'], +'ImagickDraw::matte' => ['bool', 'x'=>'float', 'y'=>'float', 'paintmethod'=>'int'], +'ImagickDraw::pathClose' => ['bool'], +'ImagickDraw::pathCurveToAbsolute' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToQuadraticBezierAbsolute' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToQuadraticBezierRelative' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToQuadraticBezierSmoothRelative' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToRelative' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToSmoothAbsolute' => ['bool', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathCurveToSmoothRelative' => ['bool', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathEllipticArcAbsolute' => ['bool', 'rx'=>'float', 'ry'=>'float', 'x_axis_rotation'=>'float', 'large_arc_flag'=>'bool', 'sweep_flag'=>'bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathEllipticArcRelative' => ['bool', 'rx'=>'float', 'ry'=>'float', 'x_axis_rotation'=>'float', 'large_arc_flag'=>'bool', 'sweep_flag'=>'bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathFinish' => ['bool'], +'ImagickDraw::pathLineToAbsolute' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathLineToHorizontalAbsolute' => ['bool', 'x'=>'float'], +'ImagickDraw::pathLineToHorizontalRelative' => ['bool', 'x'=>'float'], +'ImagickDraw::pathLineToRelative' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathLineToVerticalAbsolute' => ['bool', 'y'=>'float'], +'ImagickDraw::pathLineToVerticalRelative' => ['bool', 'y'=>'float'], +'ImagickDraw::pathMoveToAbsolute' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathMoveToRelative' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::pathStart' => ['bool'], +'ImagickDraw::point' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::polygon' => ['bool', 'coordinates'=>'list'], +'ImagickDraw::polyline' => ['bool', 'coordinates'=>'list'], +'ImagickDraw::pop' => ['bool'], +'ImagickDraw::popClipPath' => ['bool'], +'ImagickDraw::popDefs' => ['bool'], +'ImagickDraw::popPattern' => ['bool'], +'ImagickDraw::push' => ['bool'], +'ImagickDraw::pushClipPath' => ['bool', 'clip_mask_id'=>'string'], +'ImagickDraw::pushDefs' => ['bool'], +'ImagickDraw::pushPattern' => ['bool', 'pattern_id'=>'string', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], +'ImagickDraw::rectangle' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float'], +'ImagickDraw::render' => ['bool'], +'ImagickDraw::resetVectorGraphics' => ['void'], +'ImagickDraw::rotate' => ['bool', 'degrees'=>'float'], +'ImagickDraw::roundRectangle' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'rx'=>'float', 'ry'=>'float'], +'ImagickDraw::scale' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::setBorderColor' => ['bool', 'color'=>'ImagickPixel|string'], +'ImagickDraw::setClipPath' => ['bool', 'clip_mask'=>'string'], +'ImagickDraw::setClipRule' => ['bool', 'fill_rule'=>'int'], +'ImagickDraw::setClipUnits' => ['bool', 'clip_units'=>'int'], +'ImagickDraw::setDensity' => ['bool', 'density_string'=>'string'], +'ImagickDraw::setFillAlpha' => ['bool', 'opacity'=>'float'], +'ImagickDraw::setFillColor' => ['bool', 'fill_pixel'=>'ImagickPixel|string'], +'ImagickDraw::setFillOpacity' => ['bool', 'fillopacity'=>'float'], +'ImagickDraw::setFillPatternURL' => ['bool', 'fill_url'=>'string'], +'ImagickDraw::setFillRule' => ['bool', 'fill_rule'=>'int'], +'ImagickDraw::setFont' => ['bool', 'font_name'=>'string'], +'ImagickDraw::setFontFamily' => ['bool', 'font_family'=>'string'], +'ImagickDraw::setFontResolution' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickDraw::setFontSize' => ['bool', 'pointsize'=>'float'], +'ImagickDraw::setFontStretch' => ['bool', 'fontstretch'=>'int'], +'ImagickDraw::setFontStyle' => ['bool', 'style'=>'int'], +'ImagickDraw::setFontWeight' => ['bool', 'font_weight'=>'int'], +'ImagickDraw::setGravity' => ['bool', 'gravity'=>'int'], +'ImagickDraw::setOpacity' => ['void', 'opacity'=>'float'], +'ImagickDraw::setResolution' => ['void', 'x_resolution'=>'float', 'y_resolution'=>'float'], +'ImagickDraw::setStrokeAlpha' => ['bool', 'opacity'=>'float'], +'ImagickDraw::setStrokeAntialias' => ['bool', 'stroke_antialias'=>'bool'], +'ImagickDraw::setStrokeColor' => ['bool', 'stroke_pixel'=>'ImagickPixel|string'], +'ImagickDraw::setStrokeDashArray' => ['bool', 'dasharray'=>'list'], +'ImagickDraw::setStrokeDashOffset' => ['bool', 'dash_offset'=>'float'], +'ImagickDraw::setStrokeLineCap' => ['bool', 'linecap'=>'int'], +'ImagickDraw::setStrokeLineJoin' => ['bool', 'linejoin'=>'int'], +'ImagickDraw::setStrokeMiterLimit' => ['bool', 'miterlimit'=>'int'], +'ImagickDraw::setStrokeOpacity' => ['bool', 'stroke_opacity'=>'float'], +'ImagickDraw::setStrokePatternURL' => ['bool', 'stroke_url'=>'string'], +'ImagickDraw::setStrokeWidth' => ['bool', 'stroke_width'=>'float'], +'ImagickDraw::setTextAlignment' => ['bool', 'alignment'=>'int'], +'ImagickDraw::setTextAntialias' => ['bool', 'antialias'=>'bool'], +'ImagickDraw::setTextDecoration' => ['bool', 'decoration'=>'int'], +'ImagickDraw::setTextDirection' => ['bool', 'direction'=>'int'], +'ImagickDraw::setTextEncoding' => ['bool', 'encoding'=>'string'], +'ImagickDraw::setTextInterlineSpacing' => ['void', 'spacing'=>'float'], +'ImagickDraw::setTextInterwordSpacing' => ['void', 'spacing'=>'float'], +'ImagickDraw::setTextKerning' => ['void', 'kerning'=>'float'], +'ImagickDraw::setTextUnderColor' => ['bool', 'under_color'=>'ImagickPixel|string'], +'ImagickDraw::setVectorGraphics' => ['bool', 'xml'=>'string'], +'ImagickDraw::setViewbox' => ['bool', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int'], +'ImagickDraw::skewX' => ['bool', 'degrees'=>'float'], +'ImagickDraw::skewY' => ['bool', 'degrees'=>'float'], +'ImagickDraw::translate' => ['bool', 'x'=>'float', 'y'=>'float'], +'ImagickKernel::addKernel' => ['void', 'ImagickKernel'=>'ImagickKernel'], +'ImagickKernel::addUnityKernel' => ['void'], +'ImagickKernel::fromBuiltin' => ['ImagickKernel', 'kernelType'=>'string', 'kernelString'=>'string'], +'ImagickKernel::fromMatrix' => ['ImagickKernel', 'matrix'=>'list>', 'origin='=>'array'], +'ImagickKernel::getMatrix' => ['list>'], +'ImagickKernel::scale' => ['void'], +'ImagickKernel::separate' => ['ImagickKernel[]'], +'ImagickKernel::seperate' => ['void'], +'ImagickPixel::__construct' => ['void', 'color='=>'string'], +'ImagickPixel::clear' => ['bool'], +'ImagickPixel::clone' => ['void'], +'ImagickPixel::destroy' => ['bool'], +'ImagickPixel::getColor' => ['array{r: int|float, g: int|float, b: int|float, a: int|float}', 'normalized='=>'0|1|2'], +'ImagickPixel::getColorAsString' => ['string'], +'ImagickPixel::getColorCount' => ['int'], +'ImagickPixel::getColorQuantum' => ['mixed'], +'ImagickPixel::getColorValue' => ['float', 'color'=>'int'], +'ImagickPixel::getColorValueQuantum' => ['mixed'], +'ImagickPixel::getHSL' => ['array{hue: float, saturation: float, luminosity: float}'], +'ImagickPixel::getIndex' => ['int'], +'ImagickPixel::isPixelSimilar' => ['bool', 'color'=>'ImagickPixel', 'fuzz'=>'float'], +'ImagickPixel::isPixelSimilarQuantum' => ['bool', 'color'=>'string', 'fuzz='=>'string'], +'ImagickPixel::isSimilar' => ['bool', 'color'=>'ImagickPixel', 'fuzz'=>'float'], +'ImagickPixel::setColor' => ['bool', 'color'=>'string'], +'ImagickPixel::setcolorcount' => ['void', 'colorCount'=>'string'], +'ImagickPixel::setColorFromPixel' => ['bool', 'srcPixel'=>'ImagickPixel'], +'ImagickPixel::setColorValue' => ['bool', 'color'=>'int', 'value'=>'float'], +'ImagickPixel::setColorValueQuantum' => ['void', 'color'=>'int', 'value'=>'mixed'], +'ImagickPixel::setHSL' => ['bool', 'hue'=>'float', 'saturation'=>'float', 'luminosity'=>'float'], +'ImagickPixel::setIndex' => ['void', 'index'=>'int'], +'ImagickPixelIterator::__construct' => ['void', 'wand'=>'Imagick'], +'ImagickPixelIterator::clear' => ['bool'], +'ImagickPixelIterator::current' => ['mixed'], +'ImagickPixelIterator::destroy' => ['bool'], +'ImagickPixelIterator::getCurrentIteratorRow' => ['array'], +'ImagickPixelIterator::getIteratorRow' => ['int'], +'ImagickPixelIterator::getNextIteratorRow' => ['array'], +'ImagickPixelIterator::getpixeliterator' => ['', 'Imagick'=>'Imagick'], +'ImagickPixelIterator::getpixelregioniterator' => ['', 'Imagick'=>'Imagick', 'x'=>'', 'y'=>'', 'columns'=>'', 'rows'=>''], +'ImagickPixelIterator::getPreviousIteratorRow' => ['array'], +'ImagickPixelIterator::key' => ['int|string'], +'ImagickPixelIterator::newPixelIterator' => ['bool', 'wand'=>'Imagick'], +'ImagickPixelIterator::newPixelRegionIterator' => ['bool', 'wand'=>'Imagick', 'x'=>'int', 'y'=>'int', 'columns'=>'int', 'rows'=>'int'], +'ImagickPixelIterator::next' => ['void'], +'ImagickPixelIterator::resetIterator' => ['bool'], +'ImagickPixelIterator::rewind' => ['void'], +'ImagickPixelIterator::setIteratorFirstRow' => ['bool'], +'ImagickPixelIterator::setIteratorLastRow' => ['bool'], +'ImagickPixelIterator::setIteratorRow' => ['bool', 'row'=>'int'], +'ImagickPixelIterator::syncIterator' => ['bool'], +'ImagickPixelIterator::valid' => ['bool'], +'imap_8bit' => ['string|false', 'string'=>'string'], +'imap_alerts' => ['array|false'], +'imap_append' => ['bool', 'imap'=>'IMAP\Connection', 'folder'=>'string', 'message'=>'string', 'options='=>'?string', 'internal_date='=>'?string'], +'imap_base64' => ['string|false', 'string'=>'string'], +'imap_binary' => ['string|false', 'string'=>'string'], +'imap_body' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], +'imap_bodystruct' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'section'=>'string'], +'imap_check' => ['stdClass|false', 'imap'=>'IMAP\Connection'], +'imap_clearflag_full' => ['bool', 'imap'=>'IMAP\Connection', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], +'imap_close' => ['bool', 'imap'=>'IMAP\Connection', 'flags='=>'int'], +'imap_create' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_createmailbox' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_delete' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'flags='=>'int'], +'imap_deletemailbox' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_errors' => ['array|false'], +'imap_expunge' => ['bool', 'imap'=>'IMAP\Connection'], +'imap_fetch_overview' => ['array|false', 'imap'=>'IMAP\Connection', 'sequence'=>'string', 'flags='=>'int'], +'imap_fetchbody' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], +'imap_fetchheader' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], +'imap_fetchmime' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], +'imap_fetchstructure' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], +'imap_fetchtext' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], +'imap_gc' => ['bool', 'imap'=>'IMAP\Connection', 'flags'=>'int'], +'imap_get_quota' => ['array|false', 'imap'=>'IMAP\Connection', 'quota_root'=>'string'], +'imap_get_quotaroot' => ['array|false', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_getacl' => ['array|false', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_getmailboxes' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], +'imap_getsubscribed' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], +'imap_header' => ['stdClass|false', 'stream_id'=>'resource', 'msg_no'=>'int', 'from_length='=>'int', 'subject_length='=>'int', 'default_host='=>'string'], +'imap_headerinfo' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'from_length='=>'int', 'subject_length='=>'int'], +'imap_headers' => ['array|false', 'imap'=>'IMAP\Connection'], +'imap_is_open' => ['bool', 'imap'=>'IMAP\Connection'], +'imap_last_error' => ['string|false'], +'imap_list' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], +'imap_listmailbox' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], +'imap_listscan' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], +'imap_listsubscribed' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], +'imap_lsub' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], +'imap_mail' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'?string', 'cc='=>'?string', 'bcc='=>'?string', 'return_path='=>'?string'], +'imap_mail_compose' => ['string|false', 'envelope'=>'array', 'bodies'=>'array'], +'imap_mail_copy' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], +'imap_mail_move' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], +'imap_mailboxmsginfo' => ['stdClass', 'imap'=>'IMAP\Connection'], +'imap_mime_header_decode' => ['array|false', 'string'=>'string'], +'imap_msgno' => ['int', 'imap'=>'IMAP\Connection', 'message_uid'=>'int'], +'imap_mutf7_to_utf8' => ['string|false', 'string'=>'string'], +'imap_num_msg' => ['int|false', 'imap'=>'IMAP\Connection'], +'imap_num_recent' => ['int', 'imap'=>'IMAP\Connection'], +'imap_open' => ['IMAP\Connection|false', 'mailbox'=>'string', 'user'=>'string', 'password'=>'string', 'flags='=>'int', 'retries='=>'int', 'options='=>'array'], +'imap_ping' => ['bool', 'imap'=>'IMAP\Connection'], +'imap_qprint' => ['string|false', 'string'=>'string'], +'imap_rename' => ['bool', 'imap'=>'IMAP\Connection', 'from'=>'string', 'to'=>'string'], +'imap_renamemailbox' => ['bool', 'imap'=>'IMAP\Connection', 'from'=>'string', 'to'=>'string'], +'imap_reopen' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string', 'flags='=>'int', 'retries='=>'int'], +'imap_rfc822_parse_adrlist' => ['array', 'string'=>'string', 'default_hostname'=>'string'], +'imap_rfc822_parse_headers' => ['stdClass', 'headers'=>'string', 'default_hostname='=>'string'], +'imap_rfc822_write_address' => ['string|false', 'mailbox'=>'string', 'hostname'=>'string', 'personal'=>'string'], +'imap_savebody' => ['bool', 'imap'=>'IMAP\Connection', 'file'=>'string|resource', 'message_num'=>'int', 'section='=>'string', 'flags='=>'int'], +'imap_scan' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], +'imap_scanmailbox' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], +'imap_search' => ['array|false', 'imap'=>'IMAP\Connection', 'criteria'=>'string', 'flags='=>'int', 'charset='=>'string'], +'imap_set_quota' => ['bool', 'imap'=>'IMAP\Connection', 'quota_root'=>'string', 'mailbox_size'=>'int'], +'imap_setacl' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string', 'user_id'=>'string', 'rights'=>'string'], +'imap_setflag_full' => ['bool', 'imap'=>'IMAP\Connection', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], +'imap_sort' => ['array|false', 'imap'=>'IMAP\Connection', 'criteria'=>'int', 'reverse'=>'bool', 'flags='=>'int', 'search_criteria='=>'?string', 'charset='=>'?string'], +'imap_status' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'mailbox'=>'string', 'flags'=>'int'], +'imap_subscribe' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_thread' => ['array|false', 'imap'=>'IMAP\Connection', 'flags='=>'int'], +'imap_timeout' => ['int|bool', 'timeout_type'=>'int', 'timeout='=>'int'], +'imap_uid' => ['int|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int'], +'imap_undelete' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'flags='=>'int'], +'imap_unsubscribe' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], +'imap_utf7_decode' => ['string|false', 'string'=>'string'], +'imap_utf7_encode' => ['string', 'string'=>'string'], +'imap_utf8' => ['string', 'mime_encoded_text'=>'string'], +'imap_utf8_to_mutf7' => ['string|false', 'string'=>'string'], +'implode' => ['string', 'separator'=>'string', 'array'=>'array'], +'implode\'1' => ['string', 'separator'=>'array'], +'import_request_variables' => ['bool', 'types'=>'string', 'prefix='=>'string'], +'in_array' => ['bool', 'needle'=>'mixed', 'haystack'=>'array', 'strict='=>'bool'], +'inclued_get_data' => ['array'], +'inet_ntop' => ['string|false', 'ip'=>'string'], +'inet_pton' => ['string|false', 'ip'=>'string'], +'InfiniteIterator::__construct' => ['void', 'iterator'=>'Iterator'], +'InfiniteIterator::current' => ['mixed'], +'InfiniteIterator::getInnerIterator' => ['Iterator'], +'InfiniteIterator::key' => ['bool|float|int|string'], +'InfiniteIterator::next' => ['void'], +'InfiniteIterator::rewind' => ['void'], +'InfiniteIterator::valid' => ['bool'], +'inflate_add' => ['string|false', 'context'=>'InflateContext', 'data'=>'string', 'flush_mode='=>'int'], +'inflate_get_read_len' => ['int', 'context'=>'InflateContext'], +'inflate_get_status' => ['int', 'context'=>'InflateContext'], +'inflate_init' => ['InflateContext|false', 'encoding'=>'int', 'options='=>'array'], +'ingres_autocommit' => ['bool', 'link'=>'resource'], +'ingres_autocommit_state' => ['bool', 'link'=>'resource'], +'ingres_charset' => ['string', 'link'=>'resource'], +'ingres_close' => ['bool', 'link'=>'resource'], +'ingres_commit' => ['bool', 'link'=>'resource'], +'ingres_connect' => ['resource', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'options='=>'array'], +'ingres_cursor' => ['string', 'result'=>'resource'], +'ingres_errno' => ['int', 'link='=>'resource'], +'ingres_error' => ['string', 'link='=>'resource'], +'ingres_errsqlstate' => ['string', 'link='=>'resource'], +'ingres_escape_string' => ['string', 'link'=>'resource', 'source_string'=>'string'], +'ingres_execute' => ['bool', 'result'=>'resource', 'params='=>'array', 'types='=>'string'], +'ingres_fetch_array' => ['array', 'result'=>'resource', 'result_type='=>'int'], +'ingres_fetch_assoc' => ['array', 'result'=>'resource'], +'ingres_fetch_object' => ['object', 'result'=>'resource', 'result_type='=>'int'], +'ingres_fetch_proc_return' => ['int', 'result'=>'resource'], +'ingres_fetch_row' => ['array', 'result'=>'resource'], +'ingres_field_length' => ['int', 'result'=>'resource', 'index'=>'int'], +'ingres_field_name' => ['string', 'result'=>'resource', 'index'=>'int'], +'ingres_field_nullable' => ['bool', 'result'=>'resource', 'index'=>'int'], +'ingres_field_precision' => ['int', 'result'=>'resource', 'index'=>'int'], +'ingres_field_scale' => ['int', 'result'=>'resource', 'index'=>'int'], +'ingres_field_type' => ['string', 'result'=>'resource', 'index'=>'int'], +'ingres_free_result' => ['bool', 'result'=>'resource'], +'ingres_next_error' => ['bool', 'link='=>'resource'], +'ingres_num_fields' => ['int', 'result'=>'resource'], +'ingres_num_rows' => ['int', 'result'=>'resource'], +'ingres_pconnect' => ['resource', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'options='=>'array'], +'ingres_prepare' => ['mixed', 'link'=>'resource', 'query'=>'string'], +'ingres_query' => ['mixed', 'link'=>'resource', 'query'=>'string', 'params='=>'array', 'types='=>'string'], +'ingres_result_seek' => ['bool', 'result'=>'resource', 'position'=>'int'], +'ingres_rollback' => ['bool', 'link'=>'resource'], +'ingres_set_environment' => ['bool', 'link'=>'resource', 'options'=>'array'], +'ingres_unbuffered_query' => ['mixed', 'link'=>'resource', 'query'=>'string', 'params='=>'array', 'types='=>'string'], +'ini_alter' => ['string|false', 'option'=>'string', 'value'=>'string|int|float|bool|null'], +'ini_get' => ['string|false', 'option'=>'string'], +'ini_get_all' => ['array|false', 'extension='=>'?string', 'details='=>'bool'], +'ini_restore' => ['void', 'option'=>'string'], +'ini_parse_quantity' => ['int', 'shorthand'=>'non-empty-string'], +'ini_set' => ['string|false', 'option'=>'string', 'value'=>'string|int|float|bool|null'], +'inotify_add_watch' => ['int', 'inotify_instance'=>'resource', 'pathname'=>'string', 'mask'=>'int'], +'inotify_init' => ['resource|false'], +'inotify_queue_len' => ['int', 'inotify_instance'=>'resource'], +'inotify_read' => ['array|false', 'inotify_instance'=>'resource'], +'inotify_rm_watch' => ['bool', 'inotify_instance'=>'resource', 'watch_descriptor'=>'int'], +'intdiv' => ['int', 'num1'=>'int', 'num2'=>'int'], +'interface_exists' => ['bool', 'interface'=>'string', 'autoload='=>'bool'], +'intl_error_name' => ['string', 'errorCode'=>'int'], +'intl_get_error_code' => ['int'], +'intl_get_error_message' => ['string'], +'intl_is_failure' => ['bool', 'errorCode'=>'int'], +'IntlBreakIterator::__construct' => ['void'], +'IntlBreakIterator::createCharacterInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlBreakIterator::createCodePointInstance' => ['IntlCodePointBreakIterator'], +'IntlBreakIterator::createLineInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlBreakIterator::createSentenceInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlBreakIterator::createTitleInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlBreakIterator::createWordInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlBreakIterator::current' => ['int'], +'IntlBreakIterator::first' => ['int'], +'IntlBreakIterator::following' => ['int', 'offset'=>'int'], +'IntlBreakIterator::getErrorCode' => ['int'], +'IntlBreakIterator::getErrorMessage' => ['string'], +'IntlBreakIterator::getLocale' => ['string', 'locale_type'=>'string'], +'IntlBreakIterator::getPartsIterator' => ['IntlPartsIterator', 'key_type='=>'int'], +'IntlBreakIterator::getText' => ['?string'], +'IntlBreakIterator::isBoundary' => ['bool', 'offset'=>'int'], +'IntlBreakIterator::last' => ['int'], +'IntlBreakIterator::next' => ['int', 'offset='=>'?int'], +'IntlBreakIterator::preceding' => ['int', 'offset'=>'int'], +'IntlBreakIterator::previous' => ['int'], +'IntlBreakIterator::setText' => ['?bool', 'text'=>'string'], +'intlcal_add' => ['bool', 'calendar'=>'IntlCalendar', 'field'=>'int', 'value'=>'int'], +'intlcal_after' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], +'intlcal_before' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], +'intlcal_clear' => ['bool', 'calendar'=>'IntlCalendar', 'field='=>'?int'], +'intlcal_create_instance' => ['?IntlCalendar', 'timezone='=>'mixed', 'locale='=>'?string'], +'intlcal_equals' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], +'intlcal_field_difference' => ['int', 'calendar'=>'IntlCalendar', 'timestamp'=>'float', 'field'=>'int'], +'intlcal_from_date_time' => ['IntlCalendar', 'datetime'=>'DateTime|string'], +'intlcal_get' => ['int|false', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_actual_maximum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_actual_minimum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_available_locales' => ['array'], +'intlcal_get_day_of_week_type' => ['int', 'calendar'=>'IntlCalendar', 'dayOfWeek'=>'int'], +'intlcal_get_first_day_of_week' => ['int', 'calendar'=>'IntlCalendar'], +'intlcal_get_greatest_minimum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_keyword_values_for_locale' => ['IntlIterator|false', 'keyword'=>'string', 'locale'=>'string', 'onlyCommon'=>'bool'], +'intlcal_get_least_maximum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_locale' => ['string', 'calendar'=>'IntlCalendar', 'type'=>'int'], +'intlcal_get_maximum' => ['int|false', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_minimal_days_in_first_week' => ['int', 'calendar'=>'IntlCalendar'], +'intlcal_get_minimum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_get_now' => ['float'], +'intlcal_get_repeated_wall_time_option' => ['int', 'calendar'=>'IntlCalendar'], +'intlcal_get_skipped_wall_time_option' => ['int', 'calendar'=>'IntlCalendar'], +'intlcal_get_time' => ['float', 'calendar'=>'IntlCalendar'], +'intlcal_get_time_zone' => ['IntlTimeZone', 'calendar'=>'IntlCalendar'], +'intlcal_get_type' => ['string', 'calendar'=>'IntlCalendar'], +'intlcal_get_weekend_transition' => ['int', 'calendar'=>'IntlCalendar', 'dayOfWeek'=>'string'], +'intlcal_in_daylight_time' => ['bool', 'calendar'=>'IntlCalendar'], +'intlcal_is_equivalent_to' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], +'intlcal_is_lenient' => ['bool', 'calendar'=>'IntlCalendar'], +'intlcal_is_set' => ['bool', 'calendar'=>'IntlCalendar', 'field'=>'int'], +'intlcal_is_weekend' => ['bool', 'calendar'=>'IntlCalendar', 'timestamp='=>'?float'], +'intlcal_roll' => ['bool', 'calendar'=>'IntlCalendar', 'field'=>'int', 'value'=>'mixed'], +'intlcal_set' => ['bool', 'calendar'=>'IntlCalendar', 'year'=>'int', 'month'=>'int'], +'intlcal_set\'1' => ['bool', 'calendar'=>'IntlCalendar', 'year'=>'int', 'month'=>'int', 'dayOfMonth='=>'int', 'hour='=>'int', 'minute='=>'int', 'second='=>'int'], +'intlcal_set_first_day_of_week' => ['bool', 'calendar'=>'IntlCalendar', 'dayOfWeek'=>'int'], +'intlcal_set_lenient' => ['bool', 'calendar'=>'IntlCalendar', 'lenient'=>'bool'], +'intlcal_set_repeated_wall_time_option' => ['bool', 'calendar'=>'IntlCalendar', 'option'=>'int'], +'intlcal_set_skipped_wall_time_option' => ['bool', 'calendar'=>'IntlCalendar', 'option'=>'int'], +'intlcal_set_time' => ['bool', 'calendar'=>'IntlCalendar', 'timestamp'=>'float'], +'intlcal_set_time_zone' => ['bool', 'calendar'=>'IntlCalendar', 'timezone'=>'mixed'], +'intlcal_to_date_time' => ['DateTime|false', 'calendar'=>'IntlCalendar'], +'IntlCalendar::__construct' => ['void'], +'IntlCalendar::add' => ['bool', 'field'=>'int', 'amount'=>'int'], +'IntlCalendar::after' => ['bool', 'other'=>'IntlCalendar'], +'IntlCalendar::before' => ['bool', 'other'=>'IntlCalendar'], +'IntlCalendar::clear' => ['bool', 'field='=>'?int'], +'IntlCalendar::createInstance' => ['IntlCalendar', 'timeZone='=>'mixed', 'locale='=>'string'], +'IntlCalendar::equals' => ['bool', 'other'=>'IntlCalendar'], +'IntlCalendar::fieldDifference' => ['int', 'when'=>'float', 'field'=>'int'], +'IntlCalendar::fromDateTime' => ['IntlCalendar', 'dateTime'=>'DateTime|string'], +'IntlCalendar::get' => ['int', 'field'=>'int'], +'IntlCalendar::getActualMaximum' => ['int', 'field'=>'int'], +'IntlCalendar::getActualMinimum' => ['int', 'field'=>'int'], +'IntlCalendar::getAvailableLocales' => ['array'], +'IntlCalendar::getDayOfWeekType' => ['int', 'dayOfWeek'=>'int'], +'IntlCalendar::getErrorCode' => ['int'], +'IntlCalendar::getErrorMessage' => ['string'], +'IntlCalendar::getFirstDayOfWeek' => ['int'], +'IntlCalendar::getGreatestMinimum' => ['int', 'field'=>'int'], +'IntlCalendar::getKeywordValuesForLocale' => ['Iterator|false', 'key'=>'string', 'locale'=>'string', 'commonlyUsed'=>'bool'], +'IntlCalendar::getLeastMaximum' => ['int', 'field'=>'int'], +'IntlCalendar::getLocale' => ['string', 'localeType'=>'int'], +'IntlCalendar::getMaximum' => ['int|false', 'field'=>'int'], +'IntlCalendar::getMinimalDaysInFirstWeek' => ['int'], +'IntlCalendar::getMinimum' => ['int', 'field'=>'int'], +'IntlCalendar::getNow' => ['float'], +'IntlCalendar::getRepeatedWallTimeOption' => ['int'], +'IntlCalendar::getSkippedWallTimeOption' => ['int'], +'IntlCalendar::getTime' => ['float'], +'IntlCalendar::getTimeZone' => ['IntlTimeZone'], +'IntlCalendar::getType' => ['string'], +'IntlCalendar::getWeekendTransition' => ['int', 'dayOfWeek'=>'string'], +'IntlCalendar::inDaylightTime' => ['bool'], +'IntlCalendar::isEquivalentTo' => ['bool', 'other'=>'IntlCalendar'], +'IntlCalendar::isLenient' => ['bool'], +'IntlCalendar::isSet' => ['bool', 'field'=>'int'], +'IntlCalendar::isWeekend' => ['bool', 'date='=>'?float'], +'IntlCalendar::roll' => ['bool', 'field'=>'int', 'amountOrUpOrDown'=>'mixed'], +'IntlCalendar::set' => ['bool', 'field'=>'int', 'value'=>'int'], +'IntlCalendar::set\'1' => ['bool', 'year'=>'int', 'month'=>'int', 'dayOfMonth='=>'int', 'hour='=>'int', 'minute='=>'int', 'second='=>'int'], +'IntlCalendar::setFirstDayOfWeek' => ['bool', 'dayOfWeek'=>'int'], +'IntlCalendar::setLenient' => ['bool', 'isLenient'=>'string'], +'IntlCalendar::setMinimalDaysInFirstWeek' => ['bool', 'minimalDays'=>'int'], +'IntlCalendar::setRepeatedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], +'IntlCalendar::setSkippedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], +'IntlCalendar::setTime' => ['bool', 'date'=>'float'], +'IntlCalendar::setTimeZone' => ['bool', 'timeZone'=>'mixed'], +'IntlCalendar::toDateTime' => ['DateTime|false'], +'IntlChar::charAge' => ['array', 'char'=>'int|string'], +'IntlChar::charDigitValue' => ['int', 'codepoint'=>'mixed'], +'IntlChar::charDirection' => ['int', 'codepoint'=>'mixed'], +'IntlChar::charFromName' => ['?int', 'name'=>'string', 'namechoice='=>'int'], +'IntlChar::charMirror' => ['mixed', 'codepoint'=>'mixed'], +'IntlChar::charName' => ['string', 'char'=>'int|string', 'namechoice='=>'int'], +'IntlChar::charType' => ['int', 'codepoint'=>'mixed'], +'IntlChar::chr' => ['string', 'codepoint'=>'mixed'], +'IntlChar::digit' => ['int|false', 'char'=>'int|string', 'radix='=>'int'], +'IntlChar::enumCharNames' => ['void', 'start'=>'mixed', 'limit'=>'mixed', 'callback'=>'callable', 'nameChoice='=>'int'], +'IntlChar::enumCharTypes' => ['void', 'cb='=>'callable'], +'IntlChar::foldCase' => ['int|string', 'char'=>'int|string', 'options='=>'int'], +'IntlChar::forDigit' => ['int', 'digit'=>'int', 'radix'=>'int'], +'IntlChar::getBidiPairedBracket' => ['mixed', 'codepoint'=>'mixed'], +'IntlChar::getBlockCode' => ['int', 'char'=>'int|string'], +'IntlChar::getCombiningClass' => ['int', 'codepoint'=>'mixed'], +'IntlChar::getFC_NFKC_Closure' => ['string', 'char'=>'int|string'], +'IntlChar::getIntPropertyMaxValue' => ['int', 'property'=>'int'], +'IntlChar::getIntPropertyMinValue' => ['int', 'property'=>'int'], +'IntlChar::getIntPropertyValue' => ['int', 'char'=>'int|string', 'property'=>'int'], +'IntlChar::getNumericValue' => ['float', 'char'=>'int|string'], +'IntlChar::getPropertyEnum' => ['int', 'alias'=>'string'], +'IntlChar::getPropertyName' => ['string|false', 'property'=>'int', 'namechoice='=>'int'], +'IntlChar::getPropertyValueEnum' => ['int', 'property'=>'int', 'name'=>'string'], +'IntlChar::getPropertyValueName' => ['string|false', 'prop'=>'int', 'value'=>'int', 'namechoice='=>'int'], +'IntlChar::getUnicodeVersion' => ['array'], +'IntlChar::hasBinaryProperty' => ['bool', 'char'=>'int|string', 'property'=>'int'], +'IntlChar::isalnum' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isalpha' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isbase' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isblank' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::iscntrl' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isdefined' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isdigit' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isgraph' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isIDIgnorable' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isIDPart' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isIDStart' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isISOControl' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isJavaIDPart' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isJavaIDStart' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isJavaSpaceChar' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::islower' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isMirrored' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isprint' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::ispunct' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isspace' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::istitle' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isUAlphabetic' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isULowercase' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isupper' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isUUppercase' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isUWhiteSpace' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isWhitespace' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::isxdigit' => ['bool', 'codepoint'=>'mixed'], +'IntlChar::ord' => ['int', 'character'=>'mixed'], +'IntlChar::tolower' => ['mixed', 'codepoint'=>'mixed'], +'IntlChar::totitle' => ['mixed', 'codepoint'=>'mixed'], +'IntlChar::toupper' => ['mixed', 'codepoint'=>'mixed'], +'IntlCodePointBreakIterator::__construct' => ['void'], +'IntlCodePointBreakIterator::createCharacterInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlCodePointBreakIterator::createCodePointInstance' => ['IntlCodePointBreakIterator'], +'IntlCodePointBreakIterator::createLineInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlCodePointBreakIterator::createSentenceInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlCodePointBreakIterator::createTitleInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlCodePointBreakIterator::createWordInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlCodePointBreakIterator::current' => ['int'], +'IntlCodePointBreakIterator::first' => ['int'], +'IntlCodePointBreakIterator::following' => ['int', 'offset'=>'string'], +'IntlCodePointBreakIterator::getErrorCode' => ['int'], +'IntlCodePointBreakIterator::getErrorMessage' => ['string'], +'IntlCodePointBreakIterator::getLastCodePoint' => ['int'], +'IntlCodePointBreakIterator::getLocale' => ['string', 'locale_type'=>'string'], +'IntlCodePointBreakIterator::getPartsIterator' => ['IntlPartsIterator', 'key_type='=>'string'], +'IntlCodePointBreakIterator::getText' => ['?string'], +'IntlCodePointBreakIterator::isBoundary' => ['bool', 'offset'=>'string'], +'IntlCodePointBreakIterator::last' => ['int'], +'IntlCodePointBreakIterator::next' => ['int', 'offset='=>'string'], +'IntlCodePointBreakIterator::preceding' => ['int', 'offset'=>'string'], +'IntlCodePointBreakIterator::previous' => ['int'], +'IntlCodePointBreakIterator::setText' => ['?bool', 'text'=>'string'], +'IntlDateFormatter::__construct' => ['void', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], +'IntlDateFormatter::create' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], +'IntlDateFormatter::format' => ['string|false', 'datetime'=>'IntlCalendar|DateTimeInterface|array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int}|array{tm_sec: int, tm_min: int, tm_hour: int, tm_mday: int, tm_mon: int, tm_year: int, tm_wday: int, tm_yday: int, tm_isdst: int}|string|int|float'], +'IntlDateFormatter::formatObject' => ['string|false', 'datetime'=>'IntlCalendar|DateTimeInterface', 'format='=>'array{0: int, 1: int}|int|string|null', 'locale='=>'?string'], +'IntlDateFormatter::getCalendar' => ['int|false'], +'IntlDateFormatter::getCalendarObject' => ['IntlCalendar|false|null'], +'IntlDateFormatter::getDateType' => ['int|false'], +'IntlDateFormatter::getErrorCode' => ['int'], +'IntlDateFormatter::getErrorMessage' => ['string'], +'IntlDateFormatter::getLocale' => ['string|false', 'type='=>'int'], +'IntlDateFormatter::getPattern' => ['string|false'], +'IntlDateFormatter::getTimeType' => ['int|false'], +'IntlDateFormatter::getTimeZone' => ['IntlTimeZone|false'], +'IntlDateFormatter::getTimeZoneId' => ['string|false'], +'IntlDateFormatter::isLenient' => ['bool'], +'IntlDateFormatter::localtime' => ['array|false', 'string'=>'string', '&rw_offset='=>'int'], +'IntlDateFormatter::parse' => ['int|float|false', 'string'=>'string', '&rw_offset='=>'int'], +'IntlDateFormatter::setCalendar' => ['bool', 'calendar'=>'IntlCalendar|int|null'], +'IntlDateFormatter::setLenient' => ['void', 'lenient'=>'bool'], +'IntlDateFormatter::setPattern' => ['bool', 'pattern'=>'string'], +'IntlDateFormatter::setTimeZone' => ['null|false', 'timezone'=>'IntlTimeZone|DateTimeZone|string|null'], +'IntlException::__clone' => ['void'], +'IntlException::__construct' => ['void'], +'IntlException::__toString' => ['string'], +'IntlException::__wakeup' => ['void'], +'IntlException::getCode' => ['int'], +'IntlException::getFile' => ['string'], +'IntlException::getLine' => ['int'], +'IntlException::getMessage' => ['string'], +'IntlException::getPrevious' => ['?Throwable'], +'IntlException::getTrace' => ['list\',args?:array}>'], +'IntlException::getTraceAsString' => ['string'], +'intlgregcal_create_instance' => ['IntlGregorianCalendar', 'timezoneOrYear='=>'mixed', 'localeOrMonth='=>'string'], +'intlgregcal_get_gregorian_change' => ['float', 'calendar'=>'IntlGregorianCalendar'], +'intlgregcal_is_leap_year' => ['bool', 'calendar'=>'int'], +'intlgregcal_set_gregorian_change' => ['bool', 'calendar'=>'IntlGregorianCalendar', 'timestamp'=>'float'], +'IntlGregorianCalendar::__construct' => ['void'], +'IntlGregorianCalendar::add' => ['bool', 'field'=>'int', 'amount'=>'int'], +'IntlGregorianCalendar::after' => ['bool', 'other'=>'IntlCalendar'], +'IntlGregorianCalendar::before' => ['bool', 'other'=>'IntlCalendar'], +'IntlGregorianCalendar::clear' => ['bool', 'field='=>'?int'], +'IntlGregorianCalendar::createInstance' => ['IntlGregorianCalendar', 'timeZone='=>'mixed', 'locale='=>'string'], +'IntlGregorianCalendar::equals' => ['bool', 'other'=>'IntlCalendar'], +'IntlGregorianCalendar::fieldDifference' => ['int', 'when'=>'float', 'field'=>'int'], +'IntlGregorianCalendar::fromDateTime' => ['IntlCalendar', 'dateTime'=>'DateTime|string'], +'IntlGregorianCalendar::get' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getActualMaximum' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getActualMinimum' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getAvailableLocales' => ['array'], +'IntlGregorianCalendar::getDayOfWeekType' => ['int', 'dayOfWeek'=>'int'], +'IntlGregorianCalendar::getErrorCode' => ['int'], +'IntlGregorianCalendar::getErrorMessage' => ['string'], +'IntlGregorianCalendar::getFirstDayOfWeek' => ['int'], +'IntlGregorianCalendar::getGreatestMinimum' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getGregorianChange' => ['float'], +'IntlGregorianCalendar::getKeywordValuesForLocale' => ['Iterator', 'key'=>'string', 'locale'=>'string', 'commonlyUsed'=>'bool'], +'IntlGregorianCalendar::getLeastMaximum' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getLocale' => ['string', 'localeType'=>'int'], +'IntlGregorianCalendar::getMaximum' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getMinimalDaysInFirstWeek' => ['int'], +'IntlGregorianCalendar::getMinimum' => ['int', 'field'=>'int'], +'IntlGregorianCalendar::getNow' => ['float'], +'IntlGregorianCalendar::getRepeatedWallTimeOption' => ['int'], +'IntlGregorianCalendar::getSkippedWallTimeOption' => ['int'], +'IntlGregorianCalendar::getTime' => ['float'], +'IntlGregorianCalendar::getTimeZone' => ['IntlTimeZone'], +'IntlGregorianCalendar::getType' => ['string'], +'IntlGregorianCalendar::getWeekendTransition' => ['int', 'dayOfWeek'=>'string'], +'IntlGregorianCalendar::inDaylightTime' => ['bool'], +'IntlGregorianCalendar::isEquivalentTo' => ['bool', 'other'=>'IntlCalendar'], +'IntlGregorianCalendar::isLeapYear' => ['bool', 'year'=>'int'], +'IntlGregorianCalendar::isLenient' => ['bool'], +'IntlGregorianCalendar::isSet' => ['bool', 'field'=>'int'], +'IntlGregorianCalendar::isWeekend' => ['bool', 'date='=>'float'], +'IntlGregorianCalendar::roll' => ['bool', 'field'=>'int', 'amountOrUpOrDown'=>'mixed'], +'IntlGregorianCalendar::set' => ['bool', 'field'=>'int', 'value'=>'int'], +'IntlGregorianCalendar::set\'1' => ['bool', 'year'=>'int', 'month'=>'int', 'dayOfMonth='=>'int', 'hour='=>'int', 'minute='=>'int', 'second='=>'int'], +'IntlGregorianCalendar::setFirstDayOfWeek' => ['bool', 'dayOfWeek'=>'int'], +'IntlGregorianCalendar::setGregorianChange' => ['bool', 'date'=>'float'], +'IntlGregorianCalendar::setLenient' => ['bool', 'isLenient'=>'string'], +'IntlGregorianCalendar::setMinimalDaysInFirstWeek' => ['bool', 'minimalDays'=>'int'], +'IntlGregorianCalendar::setRepeatedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], +'IntlGregorianCalendar::setSkippedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], +'IntlGregorianCalendar::setTime' => ['bool', 'date'=>'float'], +'IntlGregorianCalendar::setTimeZone' => ['bool', 'timeZone'=>'mixed'], +'IntlGregorianCalendar::toDateTime' => ['DateTime'], +'IntlIterator::__construct' => ['void'], +'IntlIterator::current' => ['mixed'], +'IntlIterator::key' => ['string'], +'IntlIterator::next' => ['void'], +'IntlIterator::rewind' => ['void'], +'IntlIterator::valid' => ['bool'], +'IntlPartsIterator::getBreakIterator' => ['IntlBreakIterator'], +'IntlRuleBasedBreakIterator::__construct' => ['void', 'rules'=>'string', 'areCompiled='=>'string'], +'IntlRuleBasedBreakIterator::createCharacterInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlRuleBasedBreakIterator::createCodePointInstance' => ['IntlCodePointBreakIterator'], +'IntlRuleBasedBreakIterator::createLineInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlRuleBasedBreakIterator::createSentenceInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlRuleBasedBreakIterator::createTitleInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlRuleBasedBreakIterator::createWordInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], +'IntlRuleBasedBreakIterator::current' => ['int'], +'IntlRuleBasedBreakIterator::first' => ['int'], +'IntlRuleBasedBreakIterator::following' => ['int', 'offset'=>'int'], +'IntlRuleBasedBreakIterator::getBinaryRules' => ['string'], +'IntlRuleBasedBreakIterator::getErrorCode' => ['int'], +'IntlRuleBasedBreakIterator::getErrorMessage' => ['string'], +'IntlRuleBasedBreakIterator::getLocale' => ['string', 'locale_type'=>'string'], +'IntlRuleBasedBreakIterator::getPartsIterator' => ['IntlPartsIterator', 'key_type='=>'int'], +'IntlRuleBasedBreakIterator::getRules' => ['string'], +'IntlRuleBasedBreakIterator::getRuleStatus' => ['int'], +'IntlRuleBasedBreakIterator::getRuleStatusVec' => ['array'], +'IntlRuleBasedBreakIterator::getText' => ['?string'], +'IntlRuleBasedBreakIterator::isBoundary' => ['bool', 'offset'=>'int'], +'IntlRuleBasedBreakIterator::last' => ['int'], +'IntlRuleBasedBreakIterator::next' => ['int', 'offset='=>'?int'], +'IntlRuleBasedBreakIterator::preceding' => ['int', 'offset'=>'int'], +'IntlRuleBasedBreakIterator::previous' => ['int'], +'IntlRuleBasedBreakIterator::setText' => ['?bool', 'text'=>'string'], +'IntlTimeZone::countEquivalentIDs' => ['int|false', 'zoneId'=>'string'], +'IntlTimeZone::createDefault' => ['IntlTimeZone'], +'IntlTimeZone::createEnumeration' => ['IntlIterator|false', 'countryOrRawOffset='=>'mixed'], +'IntlTimeZone::createTimeZone' => ['IntlTimeZone|false', 'zoneId'=>'string'], +'IntlTimeZone::createTimeZoneIDEnumeration' => ['IntlIterator|false', 'zoneType'=>'int', 'region='=>'string', 'rawOffset='=>'int'], +'IntlTimeZone::fromDateTimeZone' => ['?IntlTimeZone', 'zoneId'=>'DateTimeZone'], +'IntlTimeZone::getCanonicalID' => ['string|false', 'zoneId'=>'string', '&w_isSystemID='=>'bool'], +'IntlTimeZone::getDisplayName' => ['string|false', 'isDaylight='=>'bool', 'style='=>'int', 'locale='=>'string'], +'IntlTimeZone::getDSTSavings' => ['int'], +'IntlTimeZone::getEquivalentID' => ['string|false', 'zoneId'=>'string', 'index'=>'int'], +'IntlTimeZone::getErrorCode' => ['int'], +'IntlTimeZone::getErrorMessage' => ['string'], +'IntlTimeZone::getGMT' => ['IntlTimeZone'], +'IntlTimeZone::getID' => ['string'], +'IntlTimeZone::getIDForWindowsID' => ['string', 'timezone'=>'string', 'region='=>'string'], +'IntlTimeZone::getOffset' => ['int', 'date'=>'float', 'local'=>'bool', '&w_rawOffset'=>'int', '&w_dstOffset'=>'int'], +'IntlTimeZone::getRawOffset' => ['int'], +'IntlTimeZone::getRegion' => ['string|false', 'zoneId'=>'string'], +'IntlTimeZone::getTZDataVersion' => ['string'], +'IntlTimeZone::getUnknown' => ['IntlTimeZone'], +'IntlTimeZone::getWindowsID' => ['string|false', 'timezone'=>'string'], +'IntlTimeZone::hasSameRules' => ['bool', 'otherTimeZone'=>'IntlTimeZone'], +'IntlTimeZone::toDateTimeZone' => ['DateTimeZone|false'], +'IntlTimeZone::useDaylightTime' => ['bool'], +'intltz_count_equivalent_ids' => ['int', 'timezoneId'=>'string'], +'intltz_create_enumeration' => ['IntlIterator', 'countryOrRawOffset'=>'mixed'], +'intltz_create_time_zone' => ['?IntlTimeZone', 'timezoneId'=>'string'], +'intltz_from_date_time_zone' => ['?IntlTimeZone', 'timezone'=>'DateTimeZone'], +'intltz_get_canonical_id' => ['string', 'timezoneId'=>'string', '&isSystemId'=>'bool'], +'intltz_get_display_name' => ['string', 'timezone'=>'IntlTimeZone', 'dst'=>'bool', 'style'=>'int', 'locale'=>'string'], +'intltz_get_dst_savings' => ['int', 'timezone'=>'IntlTimeZone'], +'intltz_get_equivalent_id' => ['string', 'timezoneId'=>'string', 'offset'=>'int'], +'intltz_get_error_code' => ['int', 'timezone'=>'IntlTimeZone'], +'intltz_get_error_message' => ['string', 'timezone'=>'IntlTimeZone'], +'intltz_get_id' => ['string', 'timezone'=>'IntlTimeZone'], +'intltz_get_offset' => ['bool', 'timezone'=>'IntlTimeZone', 'timestamp'=>'float', 'local'=>'bool', '&rawOffset'=>'int', '&dstOffset'=>'int'], +'intltz_get_raw_offset' => ['int', 'timezone'=>'IntlTimeZone'], +'intltz_get_tz_data_version' => ['string', 'object'=>'IntlTimeZone'], +'intltz_getGMT' => ['IntlTimeZone'], +'intltz_has_same_rules' => ['bool', 'timezone'=>'IntlTimeZone', 'other'=>'IntlTimeZone'], +'intltz_to_date_time_zone' => ['DateTimeZone', 'timezone'=>'IntlTimeZone'], +'intltz_use_daylight_time' => ['bool', 'timezone'=>'IntlTimeZone'], +'intlz_create_default' => ['IntlTimeZone'], +'intval' => ['int', 'value'=>'mixed', 'base='=>'int'], +'InvalidArgumentException::__clone' => ['void'], +'InvalidArgumentException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'InvalidArgumentException::__toString' => ['string'], +'InvalidArgumentException::getCode' => ['int'], +'InvalidArgumentException::getFile' => ['string'], +'InvalidArgumentException::getLine' => ['int'], +'InvalidArgumentException::getMessage' => ['string'], +'InvalidArgumentException::getPrevious' => ['?Throwable'], +'InvalidArgumentException::getTrace' => ['list\',args?:array}>'], +'InvalidArgumentException::getTraceAsString' => ['string'], +'ip2long' => ['int|false', 'ip'=>'string'], +'iptcembed' => ['string|bool', 'iptc_data'=>'string', 'filename'=>'string', 'spool='=>'int'], +'iptcparse' => ['array|false', 'iptc_block'=>'string'], +'is_a' => ['bool', 'object_or_class'=>'mixed', 'class'=>'string', 'allow_string='=>'bool'], +'is_array' => ['bool', 'value'=>'mixed'], +'is_bool' => ['bool', 'value'=>'mixed'], +'is_callable' => ['bool', 'value'=>'callable|mixed', 'syntax_only='=>'bool', '&w_callable_name='=>'string'], +'is_countable' => ['bool', 'value'=>'mixed'], +'is_dir' => ['bool', 'filename'=>'string'], +'is_double' => ['bool', 'value'=>'mixed'], +'is_executable' => ['bool', 'filename'=>'string'], +'is_file' => ['bool', 'filename'=>'string'], +'is_finite' => ['bool', 'num'=>'float'], +'is_float' => ['bool', 'value'=>'mixed'], +'is_infinite' => ['bool', 'num'=>'float'], +'is_int' => ['bool', 'value'=>'mixed'], +'is_integer' => ['bool', 'value'=>'mixed'], +'is_iterable' => ['bool', 'value'=>'mixed'], +'is_link' => ['bool', 'filename'=>'string'], +'is_long' => ['bool', 'value'=>'mixed'], +'is_nan' => ['bool', 'num'=>'float'], +'is_null' => ['bool', 'value'=>'mixed'], +'is_numeric' => ['bool', 'value'=>'mixed'], +'is_object' => ['bool', 'value'=>'mixed'], +'is_readable' => ['bool', 'filename'=>'string'], +'is_real' => ['bool', 'value'=>'mixed'], +'is_resource' => ['bool', 'value'=>'mixed'], +'is_scalar' => ['bool', 'value'=>'mixed'], +'is_soap_fault' => ['bool', 'object'=>'mixed'], +'is_string' => ['bool', 'value'=>'mixed'], +'is_subclass_of' => ['bool', 'object_or_class'=>'object|string', 'class'=>'class-string', 'allow_string='=>'bool'], +'is_tainted' => ['bool', 'string'=>'string'], +'is_uploaded_file' => ['bool', 'filename'=>'string'], +'is_writable' => ['bool', 'filename'=>'string'], +'is_writeable' => ['bool', 'filename'=>'string'], +'isset' => ['bool', 'value'=>'mixed', '...rest='=>'mixed'], +'Iterator::current' => ['mixed'], +'Iterator::key' => ['mixed'], +'Iterator::next' => ['void'], +'Iterator::rewind' => ['void'], +'Iterator::valid' => ['bool'], +'iterator_apply' => ['0|positive-int', 'iterator'=>'Traversable', 'callback'=>'callable(mixed):bool', 'args='=>'?array'], +'iterator_count' => ['0|positive-int', 'iterator'=>'Traversable'], +'iterator_to_array' => ['array', 'iterator'=>'Traversable', 'preserve_keys='=>'bool'], +'IteratorAggregate::getIterator' => ['Traversable'], +'IteratorIterator::__construct' => ['void', 'it'=>'Traversable'], +'IteratorIterator::current' => ['mixed'], +'IteratorIterator::getInnerIterator' => ['Iterator'], +'IteratorIterator::key' => ['mixed'], +'IteratorIterator::next' => ['void'], +'IteratorIterator::rewind' => ['void'], +'IteratorIterator::valid' => ['bool'], +'java_last_exception_clear' => ['void'], +'java_last_exception_get' => ['object'], +'java_reload' => ['array', 'new_jarpath'=>'string'], +'java_require' => ['array', 'new_classpath'=>'string'], +'java_set_encoding' => ['array', 'encoding'=>'string'], +'java_set_ignore_case' => ['void', 'ignore'=>'bool'], +'java_throw_exceptions' => ['void', 'throw'=>'bool'], +'JavaException::getCause' => ['object'], +'jddayofweek' => ['string|int', 'julian_day'=>'int', 'mode='=>'int'], +'jdmonthname' => ['string', 'julian_day'=>'int', 'mode'=>'int'], +'jdtofrench' => ['string', 'julian_day'=>'int'], +'jdtogregorian' => ['string', 'julian_day'=>'int'], +'jdtojewish' => ['string', 'julian_day'=>'int', 'hebrew='=>'bool', 'flags='=>'int'], +'jdtojulian' => ['string', 'julian_day'=>'int'], +'jdtounix' => ['int', 'julian_day'=>'int'], +'jewishtojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], +'jobqueue_license_info' => ['array'], +'join' => ['string', 'separator'=>'string', 'array'=>'array'], +'join\'1' => ['string', 'separator'=>'array'], +'json_decode' => ['mixed', 'json'=>'string', 'associative='=>'?bool', 'depth='=>'int', 'flags='=>'int'], +'json_encode' => ['non-empty-string|false', 'value'=>'mixed', 'flags='=>'int', 'depth='=>'int'], +'json_last_error' => ['int'], +'json_last_error_msg' => ['string'], +'JsonException::__clone' => ['void'], +'JsonException::__construct' => ['void'], +'JsonException::__toString' => ['string'], +'JsonException::__wakeup' => ['void'], +'JsonException::getCode' => ['int'], +'JsonException::getFile' => ['string'], +'JsonException::getLine' => ['int'], +'JsonException::getMessage' => ['string'], +'JsonException::getPrevious' => ['?Throwable'], +'JsonException::getTrace' => ['list\',args?:array}>'], +'JsonException::getTraceAsString' => ['string'], +'JsonIncrementalParser::__construct' => ['void', 'depth'=>'', 'options'=>''], +'JsonIncrementalParser::get' => ['', 'options'=>''], +'JsonIncrementalParser::getError' => [''], +'JsonIncrementalParser::parse' => ['', 'json'=>''], +'JsonIncrementalParser::parseFile' => ['', 'filename'=>''], +'JsonIncrementalParser::reset' => [''], +'JsonSerializable::jsonSerialize' => ['mixed'], +'Judy::__construct' => ['void', 'judy_type'=>'int'], +'Judy::__destruct' => ['void'], +'Judy::byCount' => ['int', 'nth_index'=>'int'], +'Judy::count' => ['int', 'index_start='=>'int', 'index_end='=>'int'], +'Judy::first' => ['mixed', 'index='=>'mixed'], +'Judy::firstEmpty' => ['mixed', 'index='=>'mixed'], +'Judy::free' => ['int'], +'Judy::getType' => ['int'], +'Judy::last' => ['mixed', 'index='=>'string'], +'Judy::lastEmpty' => ['mixed', 'index='=>'int'], +'Judy::memoryUsage' => ['int'], +'Judy::next' => ['mixed', 'index'=>'mixed'], +'Judy::nextEmpty' => ['mixed', 'index'=>'mixed'], +'Judy::offsetExists' => ['bool', 'offset'=>'mixed'], +'Judy::offsetGet' => ['mixed', 'offset'=>'mixed'], +'Judy::offsetSet' => ['bool', 'offset'=>'mixed', 'value'=>'mixed'], +'Judy::offsetUnset' => ['bool', 'offset'=>'mixed'], +'Judy::prev' => ['mixed', 'index'=>'mixed'], +'Judy::prevEmpty' => ['mixed', 'index'=>'mixed'], +'Judy::size' => ['int'], +'judy_type' => ['int', 'array'=>'judy'], +'judy_version' => ['string'], +'juliantojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], +'kadm5_chpass_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string', 'password'=>'string'], +'kadm5_create_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string', 'password='=>'string', 'options='=>'array'], +'kadm5_delete_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string'], +'kadm5_destroy' => ['bool', 'handle'=>'resource'], +'kadm5_flush' => ['bool', 'handle'=>'resource'], +'kadm5_get_policies' => ['array', 'handle'=>'resource'], +'kadm5_get_principal' => ['array', 'handle'=>'resource', 'principal'=>'string'], +'kadm5_get_principals' => ['array', 'handle'=>'resource'], +'kadm5_init_with_password' => ['resource', 'admin_server'=>'string', 'realm'=>'string', 'principal'=>'string', 'password'=>'string'], +'kadm5_modify_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string', 'options'=>'array'], +'key' => ['int|string|null', 'array'=>'array|object'], +'key_exists' => ['bool', 'key'=>'string|int', 'array'=>'array'], +'krsort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], +'ksort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], +'KTaglib_ID3v2_AttachedPictureFrame::getDescription' => ['string'], +'KTaglib_ID3v2_AttachedPictureFrame::getMimeType' => ['string'], +'KTaglib_ID3v2_AttachedPictureFrame::getType' => ['int'], +'KTaglib_ID3v2_AttachedPictureFrame::savePicture' => ['bool', 'filename'=>'string'], +'KTaglib_ID3v2_AttachedPictureFrame::setMimeType' => ['string', 'type'=>'string'], +'KTaglib_ID3v2_AttachedPictureFrame::setPicture' => ['', 'filename'=>'string'], +'KTaglib_ID3v2_AttachedPictureFrame::setType' => ['', 'type'=>'int'], +'KTaglib_ID3v2_Frame::__toString' => ['string'], +'KTaglib_ID3v2_Frame::getDescription' => ['string'], +'KTaglib_ID3v2_Frame::getMimeType' => ['string'], +'KTaglib_ID3v2_Frame::getSize' => ['int'], +'KTaglib_ID3v2_Frame::getType' => ['int'], +'KTaglib_ID3v2_Frame::savePicture' => ['bool', 'filename'=>'string'], +'KTaglib_ID3v2_Frame::setMimeType' => ['string', 'type'=>'string'], +'KTaglib_ID3v2_Frame::setPicture' => ['void', 'filename'=>'string'], +'KTaglib_ID3v2_Frame::setType' => ['void', 'type'=>'int'], +'KTaglib_ID3v2_Tag::addFrame' => ['bool', 'frame'=>'KTaglib_ID3v2_Frame'], +'KTaglib_ID3v2_Tag::getFrameList' => ['array'], +'KTaglib_MPEG_AudioProperties::getBitrate' => ['int'], +'KTaglib_MPEG_AudioProperties::getChannels' => ['int'], +'KTaglib_MPEG_AudioProperties::getLayer' => ['int'], +'KTaglib_MPEG_AudioProperties::getLength' => ['int'], +'KTaglib_MPEG_AudioProperties::getSampleBitrate' => ['int'], +'KTaglib_MPEG_AudioProperties::getVersion' => ['int'], +'KTaglib_MPEG_AudioProperties::isCopyrighted' => ['bool'], +'KTaglib_MPEG_AudioProperties::isOriginal' => ['bool'], +'KTaglib_MPEG_AudioProperties::isProtectionEnabled' => ['bool'], +'KTaglib_MPEG_File::getAudioProperties' => ['KTaglib_MPEG_File'], +'KTaglib_MPEG_File::getID3v1Tag' => ['KTaglib_ID3v1_Tag', 'create='=>'bool'], +'KTaglib_MPEG_File::getID3v2Tag' => ['KTaglib_ID3v2_Tag', 'create='=>'bool'], +'KTaglib_Tag::getAlbum' => ['string'], +'KTaglib_Tag::getArtist' => ['string'], +'KTaglib_Tag::getComment' => ['string'], +'KTaglib_Tag::getGenre' => ['string'], +'KTaglib_Tag::getTitle' => ['string'], +'KTaglib_Tag::getTrack' => ['int'], +'KTaglib_Tag::getYear' => ['int'], +'KTaglib_Tag::isEmpty' => ['bool'], +'labelcacheObj::freeCache' => ['bool'], +'labelObj::__construct' => ['void'], +'labelObj::convertToString' => ['string'], +'labelObj::deleteStyle' => ['int', 'index'=>'int'], +'labelObj::free' => ['void'], +'labelObj::getBinding' => ['string', 'labelbinding'=>'mixed'], +'labelObj::getExpressionString' => ['string'], +'labelObj::getStyle' => ['styleObj', 'index'=>'int'], +'labelObj::getTextString' => ['string'], +'labelObj::moveStyleDown' => ['int', 'index'=>'int'], +'labelObj::moveStyleUp' => ['int', 'index'=>'int'], +'labelObj::removeBinding' => ['int', 'labelbinding'=>'mixed'], +'labelObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'labelObj::setBinding' => ['int', 'labelbinding'=>'mixed', 'value'=>'string'], +'labelObj::setExpression' => ['int', 'expression'=>'string'], +'labelObj::setText' => ['int', 'text'=>'string'], +'labelObj::updateFromString' => ['int', 'snippet'=>'string'], +'Lapack::eigenValues' => ['array', 'a'=>'array', 'left='=>'array', 'right='=>'array'], +'Lapack::identity' => ['array', 'n'=>'int'], +'Lapack::leastSquaresByFactorisation' => ['array', 'a'=>'array', 'b'=>'array'], +'Lapack::leastSquaresBySVD' => ['array', 'a'=>'array', 'b'=>'array'], +'Lapack::pseudoInverse' => ['array', 'a'=>'array'], +'Lapack::singularValues' => ['array', 'a'=>'array'], +'Lapack::solveLinearEquation' => ['array', 'a'=>'array', 'b'=>'array'], +'layerObj::addFeature' => ['int', 'shape'=>'shapeObj'], +'layerObj::applySLD' => ['int', 'sldxml'=>'string', 'namedlayer'=>'string'], +'layerObj::applySLDURL' => ['int', 'sldurl'=>'string', 'namedlayer'=>'string'], +'layerObj::clearProcessing' => ['void'], +'layerObj::close' => ['void'], +'layerObj::convertToString' => ['string'], +'layerObj::draw' => ['int', 'image'=>'imageObj'], +'layerObj::drawQuery' => ['int', 'image'=>'imageObj'], +'layerObj::free' => ['void'], +'layerObj::generateSLD' => ['string'], +'layerObj::getClass' => ['classObj', 'classIndex'=>'int'], +'layerObj::getClassIndex' => ['int', 'shape'=>'', 'classgroup'=>'', 'numclasses'=>''], +'layerObj::getExtent' => ['rectObj'], +'layerObj::getFilterString' => ['?string'], +'layerObj::getGridIntersectionCoordinates' => ['array'], +'layerObj::getItems' => ['array'], +'layerObj::getMetaData' => ['int', 'name'=>'string'], +'layerObj::getNumResults' => ['int'], +'layerObj::getProcessing' => ['array'], +'layerObj::getProjection' => ['string'], +'layerObj::getResult' => ['resultObj', 'index'=>'int'], +'layerObj::getResultsBounds' => ['rectObj'], +'layerObj::getShape' => ['shapeObj', 'result'=>'resultObj'], +'layerObj::getWMSFeatureInfoURL' => ['string', 'clickX'=>'int', 'clickY'=>'int', 'featureCount'=>'int', 'infoFormat'=>'string'], +'layerObj::isVisible' => ['bool'], +'layerObj::moveclassdown' => ['int', 'index'=>'int'], +'layerObj::moveclassup' => ['int', 'index'=>'int'], +'layerObj::ms_newLayerObj' => ['layerObj', 'map'=>'mapObj', 'layer'=>'layerObj'], +'layerObj::nextShape' => ['shapeObj'], +'layerObj::open' => ['int'], +'layerObj::queryByAttributes' => ['int', 'qitem'=>'string', 'qstring'=>'string', 'mode'=>'int'], +'layerObj::queryByFeatures' => ['int', 'slayer'=>'int'], +'layerObj::queryByPoint' => ['int', 'point'=>'pointObj', 'mode'=>'int', 'buffer'=>'float'], +'layerObj::queryByRect' => ['int', 'rect'=>'rectObj'], +'layerObj::queryByShape' => ['int', 'shape'=>'shapeObj'], +'layerObj::removeClass' => ['?classObj', 'index'=>'int'], +'layerObj::removeMetaData' => ['int', 'name'=>'string'], +'layerObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'layerObj::setConnectionType' => ['int', 'connectiontype'=>'int', 'plugin_library'=>'string'], +'layerObj::setFilter' => ['int', 'expression'=>'string'], +'layerObj::setMetaData' => ['int', 'name'=>'string', 'value'=>'string'], +'layerObj::setProjection' => ['int', 'proj_params'=>'string'], +'layerObj::setWKTProjection' => ['int', 'proj_params'=>'string'], +'layerObj::updateFromString' => ['int', 'snippet'=>'string'], +'lcfirst' => ['string', 'string'=>'string'], +'lcg_value' => ['float'], +'lchgrp' => ['bool', 'filename'=>'string', 'group'=>'string|int'], +'lchown' => ['bool', 'filename'=>'string', 'user'=>'string|int'], +'ldap_8859_to_t61' => ['string', 'value'=>'string'], +'ldap_add' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_add_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_bind' => ['bool', 'ldap'=>'LDAP\Connection', 'dn='=>'string|null', 'password='=>'string|null'], +'ldap_bind_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn='=>'string|null', 'password='=>'string|null', 'controls='=>'?array'], +'ldap_close' => ['bool', 'ldap'=>'LDAP\Connection'], +'ldap_compare' => ['bool|int', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string', 'controls='=>'?array'], +'ldap_connect' => ['LDAP\Connection|false', 'uri='=>'?string', 'port='=>'int', 'wallet='=>'string', 'password='=>'string', 'auth_mode='=>'int'], +'ldap_count_entries' => ['int', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], +'ldap_delete' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'controls='=>'?array'], +'ldap_delete_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'controls='=>'?array'], +'ldap_dn2ufn' => ['string', 'dn'=>'string'], +'ldap_err2str' => ['string', 'errno'=>'int'], +'ldap_errno' => ['int', 'ldap'=>'LDAP\Connection'], +'ldap_error' => ['string', 'ldap'=>'LDAP\Connection'], +'ldap_escape' => ['string', 'value'=>'string', 'ignore='=>'string', 'flags='=>'int'], +'ldap_exop' => ['LDAP\Result|bool', 'ldap'=>'LDAP\Connection', 'request_oid'=>'string', 'request_data='=>'?string', 'controls='=>'?array', '&w_response_data='=>'string', '&w_response_oid='=>'string'], +'ldap_exop_passwd' => ['bool|string', 'ldap'=>'LDAP\Connection', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string', '&w_controls='=>'array|null'], +'ldap_exop_refresh' => ['int|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'ttl'=>'int'], +'ldap_exop_whoami' => ['string|false', 'ldap'=>'LDAP\Connection'], +'ldap_explode_dn' => ['array|false', 'dn'=>'string', 'with_attrib'=>'int'], +'ldap_first_attribute' => ['string|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], +'ldap_first_entry' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], +'ldap_first_reference' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], +'ldap_free_result' => ['bool', 'result'=>'LDAP\Result'], +'ldap_get_attributes' => ['array', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], +'ldap_get_dn' => ['string|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], +'ldap_get_entries' => ['array|false', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], +'ldap_get_option' => ['bool', 'ldap'=>'LDAP\Connection', 'option'=>'int', '&w_value='=>'array|string|int'], +'ldap_get_values' => ['array|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry', 'attribute'=>'string'], +'ldap_get_values_len' => ['array|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry', 'attribute'=>'string'], +'ldap_list' => ['LDAP\Result|LDAP\Result[]|false', 'ldap'=>'LDAP\Connection|LDAP\Connection[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], +'ldap_mod_add' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_mod_add_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_mod_del' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_mod_del_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_mod_replace' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_mod_replace_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_modify' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], +'ldap_modify_batch' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'modifications_info'=>'array', 'controls='=>'?array'], +'ldap_next_attribute' => ['string|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], +'ldap_next_entry' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], +'ldap_next_reference' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], +'ldap_parse_exop' => ['bool', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result', '&w_response_data='=>'string', '&w_response_oid='=>'string'], +'ldap_parse_reference' => ['bool', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry', '&w_referrals'=>'array'], +'ldap_parse_result' => ['bool', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result', '&w_error_code'=>'int', '&w_matched_dn='=>'string', '&w_error_message='=>'string', '&w_referrals='=>'array', '&w_controls='=>'array'], +'ldap_read' => ['LDAP\Result|LDAP\Result[]|false', 'ldap'=>'LDAP\Connection|LDAP\Connection[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], +'ldap_rename' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], +'ldap_rename_ext' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], +'ldap_sasl_bind' => ['bool', 'ldap'=>'LDAP\Connection', 'dn='=>'?string', 'password='=>'?string', 'mech='=>'?string', 'realm='=>'?string', 'authc_id='=>'?string', 'authz_id='=>'?string', 'props='=>'?string'], +'ldap_search' => ['LDAP\Result|LDAP\Result[]|false', 'ldap'=>'LDAP\Connection|LDAP\Connection[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], +'ldap_set_option' => ['bool', 'ldap'=>'LDAP\Connection|null', 'option'=>'int', 'value'=>'mixed'], +'ldap_set_rebind_proc' => ['bool', 'ldap'=>'LDAP\Connection', 'callback'=>'?callable'], +'ldap_start_tls' => ['bool', 'ldap'=>'LDAP\Connection'], +'ldap_t61_to_8859' => ['string', 'value'=>'string'], +'ldap_unbind' => ['bool', 'ldap'=>'LDAP\Connection'], +'leak' => ['', 'num_bytes'=>'int'], +'leak_variable' => ['', 'variable'=>'', 'leak_data'=>'bool'], +'legendObj::convertToString' => ['string'], +'legendObj::free' => ['void'], +'legendObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'legendObj::updateFromString' => ['int', 'snippet'=>'string'], +'LengthException::__clone' => ['void'], +'LengthException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'LengthException::__toString' => ['string'], +'LengthException::getCode' => ['int'], +'LengthException::getFile' => ['string'], +'LengthException::getLine' => ['int'], +'LengthException::getMessage' => ['string'], +'LengthException::getPrevious' => ['?Throwable'], +'LengthException::getTrace' => ['list\',args?:array}>'], +'LengthException::getTraceAsString' => ['string'], +'LevelDB::__construct' => ['void', 'name'=>'string', 'options='=>'array', 'read_options='=>'array', 'write_options='=>'array'], +'LevelDB::close' => [''], +'LevelDB::compactRange' => ['', 'start'=>'', 'limit'=>''], +'LevelDB::delete' => ['bool', 'key'=>'string', 'write_options='=>'array'], +'LevelDB::destroy' => ['', 'name'=>'', 'options='=>'array'], +'LevelDB::get' => ['bool|string', 'key'=>'string', 'read_options='=>'array'], +'LevelDB::getApproximateSizes' => ['', 'start'=>'', 'limit'=>''], +'LevelDB::getIterator' => ['LevelDBIterator', 'options='=>'array'], +'LevelDB::getProperty' => ['mixed', 'name'=>'string'], +'LevelDB::getSnapshot' => ['LevelDBSnapshot'], +'LevelDB::put' => ['', 'key'=>'string', 'value'=>'string', 'write_options='=>'array'], +'LevelDB::repair' => ['', 'name'=>'', 'options='=>'array'], +'LevelDB::set' => ['', 'key'=>'string', 'value'=>'string', 'write_options='=>'array'], +'LevelDB::write' => ['', 'batch'=>'LevelDBWriteBatch', 'write_options='=>'array'], +'LevelDBIterator::__construct' => ['void', 'db'=>'LevelDB', 'read_options='=>'array'], +'LevelDBIterator::current' => ['mixed'], +'LevelDBIterator::destroy' => [''], +'LevelDBIterator::getError' => [''], +'LevelDBIterator::key' => ['int|string'], +'LevelDBIterator::last' => [''], +'LevelDBIterator::next' => ['void'], +'LevelDBIterator::prev' => [''], +'LevelDBIterator::rewind' => ['void'], +'LevelDBIterator::seek' => ['', 'key'=>''], +'LevelDBIterator::valid' => ['bool'], +'LevelDBSnapshot::__construct' => ['void', 'db'=>'LevelDB'], +'LevelDBSnapshot::release' => [''], +'LevelDBWriteBatch::__construct' => ['void', 'name'=>'', 'options='=>'array', 'read_options='=>'array', 'write_options='=>'array'], +'LevelDBWriteBatch::clear' => [''], +'LevelDBWriteBatch::delete' => ['', 'key'=>'', 'write_options='=>'array'], +'LevelDBWriteBatch::put' => ['', 'key'=>'', 'value'=>'', 'write_options='=>'array'], +'LevelDBWriteBatch::set' => ['', 'key'=>'', 'value'=>'', 'write_options='=>'array'], +'levenshtein' => ['int', 'string1'=>'string', 'string2'=>'string'], +'levenshtein\'1' => ['int', 'string1'=>'string', 'string2'=>'string', 'insertion_cost'=>'int', 'repetition_cost'=>'int', 'deletion_cost'=>'int'], +'libxml_clear_errors' => ['void'], +'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'], +'libxml_get_errors' => ['list'], +'libxml_get_last_error' => ['LibXMLError|false'], +'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'], +'LimitIterator::current' => ['mixed'], +'LimitIterator::getInnerIterator' => ['Iterator'], +'LimitIterator::getPosition' => ['int'], +'LimitIterator::key' => ['mixed'], +'LimitIterator::next' => ['void'], +'LimitIterator::rewind' => ['void'], +'LimitIterator::seek' => ['int', 'position'=>'int'], +'LimitIterator::valid' => ['bool'], +'lineObj::__construct' => ['void'], +'lineObj::add' => ['int', 'point'=>'pointObj'], +'lineObj::addXY' => ['int', 'x'=>'float', 'y'=>'float', 'm'=>'float'], +'lineObj::addXYZ' => ['int', 'x'=>'float', 'y'=>'float', 'z'=>'float', 'm'=>'float'], +'lineObj::ms_newLineObj' => ['lineObj'], +'lineObj::point' => ['pointObj', 'i'=>'int'], +'lineObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], +'link' => ['bool', 'target'=>'string', 'link'=>'string'], +'linkinfo' => ['int|false', 'path'=>'string'], +'litespeed_request_headers' => ['array'], +'litespeed_response_headers' => ['array'], +'Locale::acceptFromHttp' => ['string|false', 'header'=>'string'], +'Locale::canonicalize' => ['string', 'locale'=>'string'], +'Locale::composeLocale' => ['string', 'subtags'=>'array'], +'Locale::filterMatches' => ['?bool', 'languageTag'=>'string', 'locale'=>'string', 'canonicalize='=>'bool'], +'Locale::getAllVariants' => ['array', 'locale'=>'string'], +'Locale::getDefault' => ['string'], +'Locale::getDisplayLanguage' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'Locale::getDisplayName' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'Locale::getDisplayRegion' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'Locale::getDisplayScript' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'Locale::getDisplayVariant' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'Locale::getKeywords' => ['array|false', 'locale'=>'string'], +'Locale::getPrimaryLanguage' => ['string', 'locale'=>'string'], +'Locale::getRegion' => ['string', 'locale'=>'string'], +'Locale::getScript' => ['string', 'locale'=>'string'], +'Locale::lookup' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'?string'], +'Locale::parseLocale' => ['array', 'locale'=>'string'], +'Locale::setDefault' => ['bool', 'locale'=>'string'], +'locale_accept_from_http' => ['string|false', 'header'=>'string'], +'locale_canonicalize' => ['?string', 'locale'=>'string'], +'locale_compose' => ['string|false', 'subtags'=>'array'], +'locale_filter_matches' => ['?bool', 'languageTag'=>'string', 'locale'=>'string', 'canonicalize='=>'bool'], +'locale_get_all_variants' => ['?array', 'locale'=>'string'], +'locale_get_default' => ['string'], +'locale_get_display_language' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'locale_get_display_name' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'locale_get_display_region' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'locale_get_display_script' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'locale_get_display_variant' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], +'locale_get_keywords' => ['array|false|null', 'locale'=>'string'], +'locale_get_primary_language' => ['?string', 'locale'=>'string'], +'locale_get_region' => ['?string', 'locale'=>'string'], +'locale_get_script' => ['?string', 'locale'=>'string'], +'locale_lookup' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'?string'], +'locale_parse' => ['?array', 'locale'=>'string'], +'locale_set_default' => ['bool', 'locale'=>'string'], +'localeconv' => ['array'], +'localtime' => ['array', 'timestamp='=>'?int', 'associative='=>'bool'], +'log' => ['float', 'num'=>'float', 'base='=>'float'], +'log10' => ['float', 'num'=>'float'], +'log1p' => ['float', 'num'=>'float'], +'LogicException::__clone' => ['void'], +'LogicException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'LogicException::__toString' => ['string'], +'LogicException::getCode' => ['int'], +'LogicException::getFile' => ['string'], +'LogicException::getLine' => ['int'], +'LogicException::getMessage' => ['string'], +'LogicException::getPrevious' => ['?Throwable'], +'LogicException::getTrace' => ['list\',args?:array}>'], +'LogicException::getTraceAsString' => ['string'], +'long2ip' => ['string', 'ip'=>'int'], +'lstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'filename'=>'string'], +'ltrim' => ['string', 'string'=>'string', 'characters='=>'string'], +'Lua::__call' => ['mixed', 'lua_func'=>'callable', 'args='=>'array', 'use_self='=>'int'], +'Lua::__construct' => ['void', 'lua_script_file'=>'string'], +'Lua::assign' => ['?Lua', 'name'=>'string', 'value'=>'mixed'], +'Lua::call' => ['mixed', 'lua_func'=>'callable', 'args='=>'array', 'use_self='=>'int'], +'Lua::eval' => ['mixed', 'statements'=>'string'], +'Lua::getVersion' => ['string'], +'Lua::include' => ['mixed', 'file'=>'string'], +'Lua::registerCallback' => ['Lua|null|false', 'name'=>'string', 'function'=>'callable'], +'LuaClosure::__invoke' => ['void', 'arg'=>'mixed', '...args='=>'mixed'], +'lzf_compress' => ['string', 'data'=>'string'], +'lzf_decompress' => ['string', 'data'=>'string'], +'lzf_optimized_for' => ['int'], +'magic_quotes_runtime' => ['bool', 'new_setting'=>'bool'], +'mail' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string|array', 'additional_params='=>'string'], +'mailparse_determine_best_xfer_encoding' => ['string', 'fp'=>'resource'], +'mailparse_msg_create' => ['resource'], +'mailparse_msg_extract_part' => ['void', 'mimemail'=>'resource', 'msgbody'=>'string', 'callbackfunc='=>'callable'], +'mailparse_msg_extract_part_file' => ['string', 'mimemail'=>'resource', 'filename'=>'mixed', 'callbackfunc='=>'callable'], +'mailparse_msg_extract_whole_part_file' => ['string', 'mimemail'=>'resource', 'filename'=>'string', 'callbackfunc='=>'callable'], +'mailparse_msg_free' => ['bool', 'mimemail'=>'resource'], +'mailparse_msg_get_part' => ['resource', 'mimemail'=>'resource', 'mimesection'=>'string'], +'mailparse_msg_get_part_data' => ['array', 'mimemail'=>'resource'], +'mailparse_msg_get_structure' => ['array', 'mimemail'=>'resource'], +'mailparse_msg_parse' => ['bool', 'mimemail'=>'resource', 'data'=>'string'], +'mailparse_msg_parse_file' => ['resource|false', 'filename'=>'string'], +'mailparse_rfc822_parse_addresses' => ['array', 'addresses'=>'string'], +'mailparse_stream_encode' => ['bool', 'sourcefp'=>'resource', 'destfp'=>'resource', 'encoding'=>'string'], +'mailparse_uudecode_all' => ['array', 'fp'=>'resource'], +'mapObj::__construct' => ['void', 'map_file_name'=>'string', 'new_map_path'=>'string'], +'mapObj::appendOutputFormat' => ['int', 'outputFormat'=>'outputformatObj'], +'mapObj::applyconfigoptions' => ['int'], +'mapObj::applySLD' => ['int', 'sldxml'=>'string'], +'mapObj::applySLDURL' => ['int', 'sldurl'=>'string'], +'mapObj::convertToString' => ['string'], +'mapObj::draw' => ['?imageObj'], +'mapObj::drawLabelCache' => ['int', 'image'=>'imageObj'], +'mapObj::drawLegend' => ['imageObj'], +'mapObj::drawQuery' => ['?imageObj'], +'mapObj::drawReferenceMap' => ['imageObj'], +'mapObj::drawScaleBar' => ['imageObj'], +'mapObj::embedLegend' => ['int', 'image'=>'imageObj'], +'mapObj::embedScalebar' => ['int', 'image'=>'imageObj'], +'mapObj::free' => ['void'], +'mapObj::generateSLD' => ['string'], +'mapObj::getAllGroupNames' => ['array'], +'mapObj::getAllLayerNames' => ['array'], +'mapObj::getColorbyIndex' => ['colorObj', 'iCloIndex'=>'int'], +'mapObj::getConfigOption' => ['string', 'key'=>'string'], +'mapObj::getLabel' => ['labelcacheMemberObj', 'index'=>'int'], +'mapObj::getLayer' => ['layerObj', 'index'=>'int'], +'mapObj::getLayerByName' => ['layerObj', 'layer_name'=>'string'], +'mapObj::getLayersDrawingOrder' => ['array'], +'mapObj::getLayersIndexByGroup' => ['array', 'groupname'=>'string'], +'mapObj::getMetaData' => ['int', 'name'=>'string'], +'mapObj::getNumSymbols' => ['int'], +'mapObj::getOutputFormat' => ['?outputformatObj', 'index'=>'int'], +'mapObj::getProjection' => ['string'], +'mapObj::getSymbolByName' => ['int', 'symbol_name'=>'string'], +'mapObj::getSymbolObjectById' => ['symbolObj', 'symbolid'=>'int'], +'mapObj::loadMapContext' => ['int', 'filename'=>'string', 'unique_layer_name'=>'bool'], +'mapObj::loadOWSParameters' => ['int', 'request'=>'OwsrequestObj', 'version'=>'string'], +'mapObj::moveLayerDown' => ['int', 'layerindex'=>'int'], +'mapObj::moveLayerUp' => ['int', 'layerindex'=>'int'], +'mapObj::ms_newMapObjFromString' => ['mapObj', 'map_file_string'=>'string', 'new_map_path'=>'string'], +'mapObj::offsetExtent' => ['int', 'x'=>'float', 'y'=>'float'], +'mapObj::owsDispatch' => ['int', 'request'=>'OwsrequestObj'], +'mapObj::prepareImage' => ['imageObj'], +'mapObj::prepareQuery' => ['void'], +'mapObj::processLegendTemplate' => ['string', 'params'=>'array'], +'mapObj::processQueryTemplate' => ['string', 'params'=>'array', 'generateimages'=>'bool'], +'mapObj::processTemplate' => ['string', 'params'=>'array', 'generateimages'=>'bool'], +'mapObj::queryByFeatures' => ['int', 'slayer'=>'int'], +'mapObj::queryByIndex' => ['int', 'layerindex'=>'', 'tileindex'=>'', 'shapeindex'=>'', 'addtoquery'=>''], +'mapObj::queryByPoint' => ['int', 'point'=>'pointObj', 'mode'=>'int', 'buffer'=>'float'], +'mapObj::queryByRect' => ['int', 'rect'=>'rectObj'], +'mapObj::queryByShape' => ['int', 'shape'=>'shapeObj'], +'mapObj::removeLayer' => ['layerObj', 'nIndex'=>'int'], +'mapObj::removeMetaData' => ['int', 'name'=>'string'], +'mapObj::removeOutputFormat' => ['int', 'name'=>'string'], +'mapObj::save' => ['int', 'filename'=>'string'], +'mapObj::saveMapContext' => ['int', 'filename'=>'string'], +'mapObj::saveQuery' => ['int', 'filename'=>'string', 'results'=>'int'], +'mapObj::scaleExtent' => ['int', 'zoomfactor'=>'float', 'minscaledenom'=>'float', 'maxscaledenom'=>'float'], +'mapObj::selectOutputFormat' => ['int', 'type'=>'string'], +'mapObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'mapObj::setCenter' => ['int', 'center'=>'pointObj'], +'mapObj::setConfigOption' => ['int', 'key'=>'string', 'value'=>'string'], +'mapObj::setExtent' => ['void', 'minx'=>'float', 'miny'=>'float', 'maxx'=>'float', 'maxy'=>'float'], +'mapObj::setFontSet' => ['int', 'fileName'=>'string'], +'mapObj::setMetaData' => ['int', 'name'=>'string', 'value'=>'string'], +'mapObj::setProjection' => ['int', 'proj_params'=>'string', 'bSetUnitsAndExtents'=>'bool'], +'mapObj::setRotation' => ['int', 'rotation_angle'=>'float'], +'mapObj::setSize' => ['int', 'width'=>'int', 'height'=>'int'], +'mapObj::setSymbolSet' => ['int', 'fileName'=>'string'], +'mapObj::setWKTProjection' => ['int', 'proj_params'=>'string', 'bSetUnitsAndExtents'=>'bool'], +'mapObj::zoomPoint' => ['int', 'nZoomFactor'=>'int', 'oPixelPos'=>'pointObj', 'nImageWidth'=>'int', 'nImageHeight'=>'int', 'oGeorefExt'=>'rectObj'], +'mapObj::zoomRectangle' => ['int', 'oPixelExt'=>'rectObj', 'nImageWidth'=>'int', 'nImageHeight'=>'int', 'oGeorefExt'=>'rectObj'], +'mapObj::zoomScale' => ['int', 'nScaleDenom'=>'float', 'oPixelPos'=>'pointObj', 'nImageWidth'=>'int', 'nImageHeight'=>'int', 'oGeorefExt'=>'rectObj', 'oMaxGeorefExt'=>'rectObj'], +'max' => ['mixed', 'value'=>'non-empty-array'], +'max\'1' => ['mixed', 'value'=>'', 'values'=>'', '...args='=>''], +'mb_check_encoding' => ['bool', 'value='=>'array|string|null', 'encoding='=>'string|null'], +'mb_chr' => ['non-empty-string|false', 'codepoint'=>'int', 'encoding='=>'string|null'], +'mb_convert_case' => ['string', 'string'=>'string', 'mode'=>'int', 'encoding='=>'string|null'], +'mb_convert_encoding' => ['string|false', 'string'=>'string', 'to_encoding'=>'string', 'from_encoding='=>'array|string|null'], +'mb_convert_encoding\'1' => ['array', 'string'=>'array', 'to_encoding'=>'string', 'from_encoding='=>'array|string|null'], +'mb_convert_kana' => ['string', 'string'=>'string', 'mode='=>'string', 'encoding='=>'string|null'], +'mb_convert_variables' => ['string|false', 'to_encoding'=>'string', 'from_encoding'=>'array|string', '&rw_var'=>'string|array|object', '&...rw_vars='=>'string|array|object'], +'mb_decode_mimeheader' => ['string', 'string'=>'string'], +'mb_decode_numericentity' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string|null'], +'mb_detect_encoding' => ['string|false', 'string'=>'string', 'encodings='=>'array|string|null', 'strict='=>'bool'], +'mb_detect_order' => ['bool|list', 'encoding='=>'array|string|null'], +'mb_encode_mimeheader' => ['string', 'string'=>'string', 'charset='=>'string|null', 'transfer_encoding='=>'string|null', 'newline='=>'string', 'indent='=>'int'], +'mb_encode_numericentity' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string|null', 'hex='=>'bool'], +'mb_encoding_aliases' => ['list', 'encoding'=>'string'], +'mb_ereg' => ['bool', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array|null'], +'mb_ereg_match' => ['bool', 'pattern'=>'string', 'string'=>'string', 'options='=>'string|null'], +'mb_ereg_replace' => ['string|false|null', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string|null'], +'mb_ereg_replace_callback' => ['string|false|null', 'pattern'=>'string', 'callback'=>'callable', 'string'=>'string', 'options='=>'string|null'], +'mb_ereg_search' => ['bool', 'pattern='=>'string|null', 'options='=>'string|null'], +'mb_ereg_search_getpos' => ['int'], +'mb_ereg_search_getregs' => ['string[]|false'], +'mb_ereg_search_init' => ['bool', 'string'=>'string', 'pattern='=>'string|null', 'options='=>'string|null'], +'mb_ereg_search_pos' => ['int[]|false', 'pattern='=>'string|null', 'options='=>'string|null'], +'mb_ereg_search_regs' => ['string[]|false', 'pattern='=>'string|null', 'options='=>'string|null'], +'mb_ereg_search_setpos' => ['bool', 'offset'=>'int'], +'mb_eregi' => ['bool', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array|null'], +'mb_eregi_replace' => ['string|false|null', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string|null'], +'mb_get_info' => ['array|string|int|false', 'type='=>'string'], +'mb_http_input' => ['array|string|false', 'type='=>'string|null'], +'mb_http_output' => ['string|bool', 'encoding='=>'string|null'], +'mb_internal_encoding' => ['string|bool', 'encoding='=>'string|null'], +'mb_language' => ['string|bool', 'language='=>'string|null'], +'mb_list_encodings' => ['list'], +'mb_ord' => ['int|false', 'string'=>'string', 'encoding='=>'string|null'], +'mb_output_handler' => ['string', 'string'=>'string', 'status'=>'int'], +'mb_parse_str' => ['bool', 'string'=>'string', '&w_result'=>'array'], +'mb_preferred_mime_name' => ['string|false', 'encoding'=>'string'], +'mb_regex_encoding' => ['string|bool', 'encoding='=>'string|null'], +'mb_regex_set_options' => ['string', 'options='=>'string|null'], +'mb_scrub' => ['string', 'string'=>'string', 'encoding='=>'string|null'], +'mb_send_mail' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string|array', 'additional_params='=>'string|null'], +'mb_split' => ['list|false', 'pattern'=>'string', 'string'=>'string', 'limit='=>'int'], +'mb_str_split' => ['list', 'string'=>'string', 'length='=>'positive-int', 'encoding='=>'string|null'], +'mb_strcut' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string|null'], +'mb_strimwidth' => ['string', 'string'=>'string', 'start'=>'int', 'width'=>'int', 'trim_marker='=>'string', 'encoding='=>'string|null'], +'mb_stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], +'mb_stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], +'mb_strlen' => ['0|positive-int', 'string'=>'string', 'encoding='=>'string|null'], +'mb_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], +'mb_strrchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], +'mb_strrichr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], +'mb_strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], +'mb_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], +'mb_strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], +'mb_strtolower' => ['lowercase-string', 'string'=>'string', 'encoding='=>'string|null'], +'mb_strtoupper' => ['string', 'string'=>'string', 'encoding='=>'string|null'], +'mb_strwidth' => ['int', 'string'=>'string', 'encoding='=>'string|null'], +'mb_substitute_character' => ['bool|int|string', 'substitute_character='=>'int|string|null'], +'mb_substr' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string|null'], +'mb_substr_count' => ['int', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string|null'], +'mcrypt_cbc' => ['string', 'cipher'=>'string|int', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], +'mcrypt_cfb' => ['string', 'cipher'=>'string|int', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], +'mcrypt_create_iv' => ['string|false', 'size'=>'int', 'source='=>'int'], +'mcrypt_decrypt' => ['string', 'cipher'=>'string', 'key'=>'string', 'data'=>'string', 'mode'=>'string', 'iv='=>'string'], +'mcrypt_ecb' => ['string', 'cipher'=>'string|int', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], +'mcrypt_enc_get_algorithms_name' => ['string', 'td'=>'resource'], +'mcrypt_enc_get_block_size' => ['int', 'td'=>'resource'], +'mcrypt_enc_get_iv_size' => ['int', 'td'=>'resource'], +'mcrypt_enc_get_key_size' => ['int', 'td'=>'resource'], +'mcrypt_enc_get_modes_name' => ['string', 'td'=>'resource'], +'mcrypt_enc_get_supported_key_sizes' => ['array', 'td'=>'resource'], +'mcrypt_enc_is_block_algorithm' => ['bool', 'td'=>'resource'], +'mcrypt_enc_is_block_algorithm_mode' => ['bool', 'td'=>'resource'], +'mcrypt_enc_is_block_mode' => ['bool', 'td'=>'resource'], +'mcrypt_enc_self_test' => ['int|false', 'td'=>'resource'], +'mcrypt_encrypt' => ['string', 'cipher'=>'string', 'key'=>'string', 'data'=>'string', 'mode'=>'string', 'iv='=>'string'], +'mcrypt_generic' => ['string', 'td'=>'resource', 'data'=>'string'], +'mcrypt_generic_deinit' => ['bool', 'td'=>'resource'], +'mcrypt_generic_end' => ['bool', 'td'=>'resource'], +'mcrypt_generic_init' => ['int|false', 'td'=>'resource', 'key'=>'string', 'iv'=>'string'], +'mcrypt_get_block_size' => ['int', 'cipher'=>'int|string', 'module'=>'string'], +'mcrypt_get_cipher_name' => ['string|false', 'cipher'=>'int|string'], +'mcrypt_get_iv_size' => ['int|false', 'cipher'=>'int|string', 'module'=>'string'], +'mcrypt_get_key_size' => ['int', 'cipher'=>'int|string', 'module'=>'string'], +'mcrypt_list_algorithms' => ['array', 'lib_dir='=>'string'], +'mcrypt_list_modes' => ['array', 'lib_dir='=>'string'], +'mcrypt_module_close' => ['bool', 'td'=>'resource'], +'mcrypt_module_get_algo_block_size' => ['int', 'algorithm'=>'string', 'lib_dir='=>'string'], +'mcrypt_module_get_algo_key_size' => ['int', 'algorithm'=>'string', 'lib_dir='=>'string'], +'mcrypt_module_get_supported_key_sizes' => ['array', 'algorithm'=>'string', 'lib_dir='=>'string'], +'mcrypt_module_is_block_algorithm' => ['bool', 'algorithm'=>'string', 'lib_dir='=>'string'], +'mcrypt_module_is_block_algorithm_mode' => ['bool', 'mode'=>'string', 'lib_dir='=>'string'], +'mcrypt_module_is_block_mode' => ['bool', 'mode'=>'string', 'lib_dir='=>'string'], +'mcrypt_module_open' => ['resource|false', 'cipher'=>'string', 'cipher_directory'=>'string', 'mode'=>'string', 'mode_directory'=>'string'], +'mcrypt_module_self_test' => ['bool', 'algorithm'=>'string', 'lib_dir='=>'string'], +'mcrypt_ofb' => ['string', 'cipher'=>'int|string', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], +'md5' => ['non-falsy-string', 'string'=>'string', 'binary='=>'bool'], +'md5_file' => ['non-falsy-string|false', 'filename'=>'string', 'binary='=>'bool'], +'mdecrypt_generic' => ['string', 'td'=>'resource', 'data'=>'string'], +'Memcache::add' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'Memcache::addServer' => ['bool', 'host'=>'string', 'port='=>'int', 'persistent='=>'bool', 'weight='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable', 'timeoutms='=>'int'], +'Memcache::append' => [''], +'Memcache::cas' => [''], +'Memcache::close' => ['bool'], +'Memcache::connect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], +'Memcache::decrement' => ['int', 'key'=>'string', 'value='=>'int'], +'Memcache::delete' => ['bool', 'key'=>'string', 'timeout='=>'int'], +'Memcache::findServer' => [''], +'Memcache::flush' => ['bool'], +'Memcache::get' => ['string|array|false', 'key'=>'string', 'flags='=>'array', 'keys='=>'array'], +'Memcache::get\'1' => ['array', 'key'=>'string[]', 'flags='=>'int[]'], +'Memcache::getExtendedStats' => ['false|array>', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], +'Memcache::getServerStatus' => ['int', 'host'=>'string', 'port='=>'int'], +'Memcache::getStats' => ['array', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], +'Memcache::getVersion' => ['string'], +'Memcache::increment' => ['int', 'key'=>'string', 'value='=>'int'], +'Memcache::pconnect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], +'Memcache::prepend' => ['string'], +'Memcache::replace' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'Memcache::set' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'Memcache::setCompressThreshold' => ['bool', 'threshold'=>'int', 'min_savings='=>'float'], +'Memcache::setFailureCallback' => [''], +'Memcache::setServerParams' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable'], +'memcache_add' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'memcache_add_server' => ['bool', 'memcache_obj'=>'Memcache', 'host'=>'string', 'port='=>'int', 'persistent='=>'bool', 'weight='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable', 'timeoutms='=>'int'], +'memcache_append' => ['', 'memcache_obj'=>'Memcache'], +'memcache_cas' => ['', 'memcache_obj'=>'Memcache'], +'memcache_close' => ['bool', 'memcache_obj'=>'Memcache'], +'memcache_connect' => ['Memcache|false', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], +'memcache_debug' => ['bool', 'on_off'=>'bool'], +'memcache_decrement' => ['int', 'memcache_obj'=>'Memcache', 'key'=>'string', 'value='=>'int'], +'memcache_delete' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'timeout='=>'int'], +'memcache_flush' => ['bool', 'memcache_obj'=>'Memcache'], +'memcache_get' => ['string', 'memcache_obj'=>'Memcache', 'key'=>'string', 'flags='=>'int'], +'memcache_get\'1' => ['array', 'memcache_obj'=>'Memcache', 'key'=>'string[]', 'flags='=>'int[]'], +'memcache_get_extended_stats' => ['array', 'memcache_obj'=>'Memcache', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], +'memcache_get_server_status' => ['int', 'memcache_obj'=>'Memcache', 'host'=>'string', 'port='=>'int'], +'memcache_get_stats' => ['array', 'memcache_obj'=>'Memcache', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], +'memcache_get_version' => ['string', 'memcache_obj'=>'Memcache'], +'memcache_increment' => ['int', 'memcache_obj'=>'Memcache', 'key'=>'string', 'value='=>'int'], +'memcache_pconnect' => ['Memcache|false', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], +'memcache_prepend' => ['string', 'memcache_obj'=>'Memcache'], +'memcache_replace' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'memcache_set' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'memcache_set_compress_threshold' => ['bool', 'memcache_obj'=>'Memcache', 'threshold'=>'int', 'min_savings='=>'float'], +'memcache_set_failure_callback' => ['', 'memcache_obj'=>'Memcache'], +'memcache_set_server_params' => ['bool', 'memcache_obj'=>'Memcache', 'host'=>'string', 'port='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable'], +'Memcached::__construct' => ['void', 'persistent_id='=>'?string', 'callback='=>'?callable', 'connection_str='=>'?string'], +'Memcached::add' => ['bool', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::addByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::addServer' => ['bool', 'host'=>'string', 'port'=>'int', 'weight='=>'int'], +'Memcached::addServers' => ['bool', 'servers'=>'array'], +'Memcached::append' => ['?bool', 'key'=>'string', 'value'=>'string'], +'Memcached::appendByKey' => ['?bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'string'], +'Memcached::cas' => ['bool', 'cas_token'=>'string|int|float', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::casByKey' => ['bool', 'cas_token'=>'string|int|float', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::decrement' => ['int|false', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], +'Memcached::decrementByKey' => ['int|false', 'server_key'=>'string', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], +'Memcached::delete' => ['bool', 'key'=>'string', 'time='=>'int'], +'Memcached::deleteByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'time='=>'int'], +'Memcached::deleteMulti' => ['array', 'keys'=>'array', 'time='=>'int'], +'Memcached::deleteMultiByKey' => ['array', 'server_key'=>'string', 'keys'=>'array', 'time='=>'int'], +'Memcached::fetch' => ['array|false'], +'Memcached::fetchAll' => ['array|false'], +'Memcached::flush' => ['bool', 'delay='=>'int'], +'Memcached::flushBuffers' => ['bool'], +'Memcached::get' => ['mixed|false', 'key'=>'string', 'cache_cb='=>'?callable', 'get_flags='=>'int'], +'Memcached::getAllKeys' => ['array|false'], +'Memcached::getByKey' => ['mixed|false', 'server_key'=>'string', 'key'=>'string', 'cache_cb='=>'?callable', 'get_flags='=>'int'], +'Memcached::getDelayed' => ['bool', 'keys'=>'array', 'with_cas='=>'bool', 'value_cb='=>'?callable'], +'Memcached::getDelayedByKey' => ['bool', 'server_key'=>'string', 'keys'=>'array', 'with_cas='=>'bool', 'value_cb='=>'?callable'], +'Memcached::getLastDisconnectedServer' => ['array|false'], +'Memcached::getLastErrorCode' => ['int'], +'Memcached::getLastErrorErrno' => ['int'], +'Memcached::getLastErrorMessage' => ['string'], +'Memcached::getMulti' => ['array|false', 'keys'=>'array', 'get_flags='=>'int'], +'Memcached::getMultiByKey' => ['array|false', 'server_key'=>'string', 'keys'=>'array', 'get_flags='=>'int'], +'Memcached::getOption' => ['mixed|false', 'option'=>'int'], +'Memcached::getResultCode' => ['int'], +'Memcached::getResultMessage' => ['string'], +'Memcached::getServerByKey' => ['array', 'server_key'=>'string'], +'Memcached::getServerList' => ['array'], +'Memcached::getStats' => ['false|array>', 'type='=>'?string'], +'Memcached::getVersion' => ['array'], +'Memcached::increment' => ['int|false', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], +'Memcached::incrementByKey' => ['int|false', 'server_key'=>'string', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], +'Memcached::isPersistent' => ['bool'], +'Memcached::isPristine' => ['bool'], +'Memcached::prepend' => ['?bool', 'key'=>'string', 'value'=>'string'], +'Memcached::prependByKey' => ['?bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'string'], +'Memcached::quit' => ['bool'], +'Memcached::replace' => ['bool', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::replaceByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::resetServerList' => ['bool'], +'Memcached::set' => ['bool', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::setBucket' => ['bool', 'host_map'=>'array', 'forward_map'=>'?array', 'replicas'=>'int'], +'Memcached::setByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], +'Memcached::setEncodingKey' => ['bool', 'key'=>'string'], +'Memcached::setMulti' => ['bool', 'items'=>'array', 'expiration='=>'int'], +'Memcached::setMultiByKey' => ['bool', 'server_key'=>'string', 'items'=>'array', 'expiration='=>'int'], +'Memcached::setOption' => ['bool', 'option'=>'int', 'value'=>'mixed'], +'Memcached::setOptions' => ['bool', 'options'=>'array'], +'Memcached::setSaslAuthData' => ['bool', 'username'=>'string', 'password'=>'string'], +'Memcached::touch' => ['bool', 'key'=>'string', 'expiration='=>'int'], +'Memcached::touchByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'expiration='=>'int'], +'MemcachePool::add' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'MemcachePool::addServer' => ['bool', 'host'=>'string', 'port='=>'int', 'persistent='=>'bool', 'weight='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'?callable', 'timeoutms='=>'int'], +'MemcachePool::append' => [''], +'MemcachePool::cas' => [''], +'MemcachePool::close' => ['bool'], +'MemcachePool::connect' => ['bool', 'host'=>'string', 'port'=>'int', 'timeout='=>'int'], +'MemcachePool::decrement' => ['int|false', 'key'=>'', 'value='=>'int|mixed'], +'MemcachePool::delete' => ['bool', 'key'=>'', 'timeout='=>'int|mixed'], +'MemcachePool::findServer' => [''], +'MemcachePool::flush' => ['bool'], +'MemcachePool::get' => ['array|string|false', 'key'=>'array|string', '&flags='=>'array|int'], +'MemcachePool::getExtendedStats' => ['false|array>', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], +'MemcachePool::getServerStatus' => ['int', 'host'=>'string', 'port='=>'int'], +'MemcachePool::getStats' => ['array|false', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], +'MemcachePool::getVersion' => ['string|false'], +'MemcachePool::increment' => ['int|false', 'key'=>'', 'value='=>'int|mixed'], +'MemcachePool::prepend' => ['string'], +'MemcachePool::replace' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'MemcachePool::set' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], +'MemcachePool::setCompressThreshold' => ['bool', 'thresold'=>'int', 'min_saving='=>'float'], +'MemcachePool::setFailureCallback' => [''], +'MemcachePool::setServerParams' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'?callable'], +'memory_get_peak_usage' => ['int', 'real_usage='=>'bool'], +'memory_get_usage' => ['int', 'real_usage='=>'bool'], +'memory_reset_peak_usage' => ['void'], +'MessageFormatter::__construct' => ['void', 'locale'=>'string', 'pattern'=>'string'], +'MessageFormatter::create' => ['MessageFormatter', 'locale'=>'string', 'pattern'=>'string'], +'MessageFormatter::format' => ['false|string', 'args'=>'array'], +'MessageFormatter::formatMessage' => ['false|string', 'locale'=>'string', 'pattern'=>'string', 'args'=>'array'], +'MessageFormatter::getErrorCode' => ['int'], +'MessageFormatter::getErrorMessage' => ['string'], +'MessageFormatter::getLocale' => ['string'], +'MessageFormatter::getPattern' => ['string'], +'MessageFormatter::parse' => ['array|false', 'value'=>'string'], +'MessageFormatter::parseMessage' => ['array|false', 'locale'=>'string', 'pattern'=>'string', 'source'=>'string'], +'MessageFormatter::setPattern' => ['bool', 'pattern'=>'string'], +'metaphone' => ['string', 'string'=>'string', 'max_phonemes='=>'int'], +'method_exists' => ['bool', 'object_or_class'=>'object|class-string|interface-string|enum-string', 'method'=>'string'], +'mhash' => ['string', 'algo'=>'int', 'data'=>'string', 'key='=>'?string'], +'mhash_count' => ['int'], +'mhash_get_block_size' => ['int|false', 'algo'=>'int'], +'mhash_get_hash_name' => ['string|false', 'algo'=>'int'], +'mhash_keygen_s2k' => ['string|false', 'algo'=>'int', 'password'=>'string', 'salt'=>'string', 'length'=>'int'], +'microtime' => ['string', 'as_float='=>'false'], +'microtime\'1' => ['float', 'as_float='=>'true'], +'mime_content_type' => ['string|false', 'filename'=>'string|resource'], +'min' => ['mixed', 'value'=>'non-empty-array'], +'min\'1' => ['mixed', 'value'=>'', 'values'=>'', '...args='=>''], +'ming_keypress' => ['int', 'char'=>'string'], +'ming_setcubicthreshold' => ['void', 'threshold'=>'int'], +'ming_setscale' => ['void', 'scale'=>'float'], +'ming_setswfcompression' => ['void', 'level'=>'int'], +'ming_useconstants' => ['void', 'use'=>'int'], +'ming_useswfversion' => ['void', 'version'=>'int'], +'mkdir' => ['bool', 'directory'=>'string', 'permissions='=>'int', 'recursive='=>'bool', 'context='=>'resource'], +'mktime' => ['int|false', 'hour'=>'int', 'minute='=>'int|null', 'second='=>'int|null', 'month='=>'int|null', 'day='=>'int|null', 'year='=>'int|null'], +'money_format' => ['string', 'format'=>'string', 'value'=>'float'], +'Mongo::__construct' => ['void', 'server='=>'string', 'options='=>'array', 'driver_options='=>'array'], +'Mongo::__get' => ['MongoDB', 'dbname'=>'string'], +'Mongo::__toString' => ['string'], +'Mongo::close' => ['bool'], +'Mongo::connect' => ['bool'], +'Mongo::connectUtil' => ['bool'], +'Mongo::dropDB' => ['array', 'db'=>'mixed'], +'Mongo::forceError' => ['bool'], +'Mongo::getConnections' => ['array'], +'Mongo::getHosts' => ['array'], +'Mongo::getPoolSize' => ['int'], +'Mongo::getReadPreference' => ['array'], +'Mongo::getSlave' => ['?string'], +'Mongo::getSlaveOkay' => ['bool'], +'Mongo::getWriteConcern' => ['array'], +'Mongo::killCursor' => ['', 'server_hash'=>'string', 'id'=>'MongoInt64|int'], +'Mongo::lastError' => ['?array'], +'Mongo::listDBs' => ['array'], +'Mongo::pairConnect' => ['bool'], +'Mongo::pairPersistConnect' => ['bool', 'username='=>'string', 'password='=>'string'], +'Mongo::persistConnect' => ['bool', 'username='=>'string', 'password='=>'string'], +'Mongo::poolDebug' => ['array'], +'Mongo::prevError' => ['array'], +'Mongo::resetError' => ['array'], +'Mongo::selectCollection' => ['MongoCollection', 'db'=>'string', 'collection'=>'string'], +'Mongo::selectDB' => ['MongoDB', 'name'=>'string'], +'Mongo::setPoolSize' => ['bool', 'size'=>'int'], +'Mongo::setReadPreference' => ['bool', 'readPreference'=>'string', 'tags='=>'array'], +'Mongo::setSlaveOkay' => ['bool', 'ok='=>'bool'], +'Mongo::switchSlave' => ['string'], +'MongoBinData::__construct' => ['void', 'data'=>'string', 'type='=>'int'], +'MongoBinData::__toString' => ['string'], +'MongoClient::__construct' => ['void', 'server='=>'string', 'options='=>'array', 'driver_options='=>'array'], +'MongoClient::__get' => ['MongoDB', 'dbname'=>'string'], +'MongoClient::__toString' => ['string'], +'MongoClient::close' => ['bool', 'connection='=>'bool|string'], +'MongoClient::connect' => ['bool'], +'MongoClient::dropDB' => ['array', 'db'=>'mixed'], +'MongoClient::getConnections' => ['array'], +'MongoClient::getHosts' => ['array'], +'MongoClient::getReadPreference' => ['array'], +'MongoClient::getWriteConcern' => ['array'], +'MongoClient::killCursor' => ['bool', 'server_hash'=>'string', 'id'=>'int|MongoInt64'], +'MongoClient::listDBs' => ['array'], +'MongoClient::selectCollection' => ['MongoCollection', 'db'=>'string', 'collection'=>'string'], +'MongoClient::selectDB' => ['MongoDB', 'name'=>'string'], +'MongoClient::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags='=>'array'], +'MongoClient::setWriteConcern' => ['bool', 'w'=>'mixed', 'wtimeout='=>'int'], +'MongoClient::switchSlave' => ['string'], +'MongoCode::__construct' => ['void', 'code'=>'string', 'scope='=>'array'], +'MongoCode::__toString' => ['string'], +'MongoCollection::__construct' => ['void', 'db'=>'MongoDB', 'name'=>'string'], +'MongoCollection::__get' => ['MongoCollection', 'name'=>'string'], +'MongoCollection::__toString' => ['string'], +'MongoCollection::aggregate' => ['array', 'op'=>'array', 'op='=>'array', '...args='=>'array'], +'MongoCollection::aggregate\'1' => ['array', 'pipeline'=>'array', 'options='=>'array'], +'MongoCollection::aggregateCursor' => ['MongoCommandCursor', 'command'=>'array', 'options='=>'array'], +'MongoCollection::batchInsert' => ['array|bool', 'a'=>'array', 'options='=>'array'], +'MongoCollection::count' => ['int', 'query='=>'array', 'limit='=>'int', 'skip='=>'int'], +'MongoCollection::createDBRef' => ['array', 'a'=>'array'], +'MongoCollection::createIndex' => ['array', 'keys'=>'array', 'options='=>'array'], +'MongoCollection::deleteIndex' => ['array', 'keys'=>'string|array'], +'MongoCollection::deleteIndexes' => ['array'], +'MongoCollection::distinct' => ['array|false', 'key'=>'string', 'query='=>'array'], +'MongoCollection::drop' => ['array'], +'MongoCollection::ensureIndex' => ['bool', 'keys'=>'array', 'options='=>'array'], +'MongoCollection::find' => ['MongoCursor', 'query='=>'array', 'fields='=>'array'], +'MongoCollection::findAndModify' => ['array', 'query'=>'array', 'update='=>'array', 'fields='=>'array', 'options='=>'array'], +'MongoCollection::findOne' => ['?array', 'query='=>'array', 'fields='=>'array'], +'MongoCollection::getDBRef' => ['array', 'ref'=>'array'], +'MongoCollection::getIndexInfo' => ['array'], +'MongoCollection::getName' => ['string'], +'MongoCollection::getReadPreference' => ['array'], +'MongoCollection::getSlaveOkay' => ['bool'], +'MongoCollection::getWriteConcern' => ['array'], +'MongoCollection::group' => ['array', 'keys'=>'mixed', 'initial'=>'array', 'reduce'=>'MongoCode', 'options='=>'array'], +'MongoCollection::insert' => ['bool|array', 'a'=>'array|object', 'options='=>'array'], +'MongoCollection::parallelCollectionScan' => ['MongoCommandCursor[]', 'num_cursors'=>'int'], +'MongoCollection::remove' => ['bool|array', 'criteria='=>'array', 'options='=>'array'], +'MongoCollection::save' => ['bool|array', 'a'=>'array|object', 'options='=>'array'], +'MongoCollection::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags='=>'array'], +'MongoCollection::setSlaveOkay' => ['bool', 'ok='=>'bool'], +'MongoCollection::setWriteConcern' => ['bool', 'w'=>'mixed', 'wtimeout='=>'int'], +'MongoCollection::toIndexString' => ['string', 'keys'=>'mixed'], +'MongoCollection::update' => ['bool', 'criteria'=>'array', 'newobj'=>'array', 'options='=>'array'], +'MongoCollection::validate' => ['array', 'scan_data='=>'bool'], +'MongoCommandCursor::__construct' => ['void', 'connection'=>'MongoClient', 'ns'=>'string', 'command'=>'array'], +'MongoCommandCursor::batchSize' => ['MongoCommandCursor', 'batchSize'=>'int'], +'MongoCommandCursor::createFromDocument' => ['MongoCommandCursor', 'connection'=>'MongoClient', 'hash'=>'string', 'document'=>'array'], +'MongoCommandCursor::current' => ['array'], +'MongoCommandCursor::dead' => ['bool'], +'MongoCommandCursor::getReadPreference' => ['array'], +'MongoCommandCursor::info' => ['array'], +'MongoCommandCursor::key' => ['int'], +'MongoCommandCursor::next' => ['void'], +'MongoCommandCursor::rewind' => ['array'], +'MongoCommandCursor::setReadPreference' => ['MongoCommandCursor', 'read_preference'=>'string', 'tags='=>'array'], +'MongoCommandCursor::timeout' => ['MongoCommandCursor', 'ms'=>'int'], +'MongoCommandCursor::valid' => ['bool'], +'MongoCursor::__construct' => ['void', 'connection'=>'MongoClient', 'ns'=>'string', 'query='=>'array', 'fields='=>'array'], +'MongoCursor::addOption' => ['MongoCursor', 'key'=>'string', 'value'=>'mixed'], +'MongoCursor::awaitData' => ['MongoCursor', 'wait='=>'bool'], +'MongoCursor::batchSize' => ['MongoCursor', 'num'=>'int'], +'MongoCursor::count' => ['int', 'foundonly='=>'bool'], +'MongoCursor::current' => ['array'], +'MongoCursor::dead' => ['bool'], +'MongoCursor::doQuery' => ['void'], +'MongoCursor::explain' => ['array'], +'MongoCursor::fields' => ['MongoCursor', 'f'=>'array'], +'MongoCursor::getNext' => ['array'], +'MongoCursor::getReadPreference' => ['array'], +'MongoCursor::hasNext' => ['bool'], +'MongoCursor::hint' => ['MongoCursor', 'key_pattern'=>'string|array|object'], +'MongoCursor::immortal' => ['MongoCursor', 'liveforever='=>'bool'], +'MongoCursor::info' => ['array'], +'MongoCursor::key' => ['string'], +'MongoCursor::limit' => ['MongoCursor', 'num'=>'int'], +'MongoCursor::maxTimeMS' => ['MongoCursor', 'ms'=>'int'], +'MongoCursor::next' => ['array'], +'MongoCursor::partial' => ['MongoCursor', 'okay='=>'bool'], +'MongoCursor::reset' => ['void'], +'MongoCursor::rewind' => ['void'], +'MongoCursor::setFlag' => ['MongoCursor', 'flag'=>'int', 'set='=>'bool'], +'MongoCursor::setReadPreference' => ['MongoCursor', 'read_preference'=>'string', 'tags='=>'array'], +'MongoCursor::skip' => ['MongoCursor', 'num'=>'int'], +'MongoCursor::slaveOkay' => ['MongoCursor', 'okay='=>'bool'], +'MongoCursor::snapshot' => ['MongoCursor'], +'MongoCursor::sort' => ['MongoCursor', 'fields'=>'array'], +'MongoCursor::tailable' => ['MongoCursor', 'tail='=>'bool'], +'MongoCursor::timeout' => ['MongoCursor', 'ms'=>'int'], +'MongoCursor::valid' => ['bool'], +'MongoCursorException::__clone' => ['void'], +'MongoCursorException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'MongoCursorException::__toString' => ['string'], +'MongoCursorException::__wakeup' => ['void'], +'MongoCursorException::getCode' => ['int'], +'MongoCursorException::getFile' => ['string'], +'MongoCursorException::getHost' => ['string'], +'MongoCursorException::getLine' => ['int'], +'MongoCursorException::getMessage' => ['string'], +'MongoCursorException::getPrevious' => ['Exception|Throwable'], +'MongoCursorException::getTrace' => ['list\',args?:array}>'], +'MongoCursorException::getTraceAsString' => ['string'], +'MongoCursorInterface::__construct' => ['void'], +'MongoCursorInterface::batchSize' => ['MongoCursorInterface', 'batchSize'=>'int'], +'MongoCursorInterface::current' => ['mixed'], +'MongoCursorInterface::dead' => ['bool'], +'MongoCursorInterface::getReadPreference' => ['array'], +'MongoCursorInterface::info' => ['array'], +'MongoCursorInterface::key' => ['int|string'], +'MongoCursorInterface::next' => ['void'], +'MongoCursorInterface::rewind' => ['void'], +'MongoCursorInterface::setReadPreference' => ['MongoCursorInterface', 'read_preference'=>'string', 'tags='=>'array'], +'MongoCursorInterface::timeout' => ['MongoCursorInterface', 'ms'=>'int'], +'MongoCursorInterface::valid' => ['bool'], +'MongoDate::__construct' => ['void', 'second='=>'int', 'usecond='=>'int'], +'MongoDate::__toString' => ['string'], +'MongoDate::toDateTime' => ['DateTime'], +'MongoDB::__construct' => ['void', 'conn'=>'MongoClient', 'name'=>'string'], +'MongoDB::__get' => ['MongoCollection', 'name'=>'string'], +'MongoDB::__toString' => ['string'], +'MongoDB::authenticate' => ['array', 'username'=>'string', 'password'=>'string'], +'MongoDB::command' => ['array', 'command'=>'array'], +'MongoDB::createCollection' => ['MongoCollection', 'name'=>'string', 'capped='=>'bool', 'size='=>'int', 'max='=>'int'], +'MongoDB::createDBRef' => ['array', 'collection'=>'string', 'a'=>'mixed'], +'MongoDB::drop' => ['array'], +'MongoDB::dropCollection' => ['array', 'coll'=>'MongoCollection|string'], +'MongoDB::execute' => ['array', 'code'=>'MongoCode|string', 'args='=>'array'], +'MongoDB::forceError' => ['bool'], +'MongoDB::getCollectionInfo' => ['array', 'options='=>'array'], +'MongoDB::getCollectionNames' => ['array', 'options='=>'array'], +'MongoDB::getDBRef' => ['array', 'ref'=>'array'], +'MongoDB::getGridFS' => ['MongoGridFS', 'prefix='=>'string'], +'MongoDB::getProfilingLevel' => ['int'], +'MongoDB::getReadPreference' => ['array'], +'MongoDB::getSlaveOkay' => ['bool'], +'MongoDB::getWriteConcern' => ['array'], +'MongoDB::lastError' => ['array'], +'MongoDB::listCollections' => ['array'], +'MongoDB::prevError' => ['array'], +'MongoDB::repair' => ['array', 'preserve_cloned_files='=>'bool', 'backup_original_files='=>'bool'], +'MongoDB::resetError' => ['array'], +'MongoDB::selectCollection' => ['MongoCollection', 'name'=>'string'], +'MongoDB::setProfilingLevel' => ['int', 'level'=>'int'], +'MongoDB::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags='=>'array'], +'MongoDB::setSlaveOkay' => ['bool', 'ok='=>'bool'], +'MongoDB::setWriteConcern' => ['bool', 'w'=>'mixed', 'wtimeout='=>'int'], +'MongoDB\BSON\Binary::__construct' => ['void', 'data' => 'string', 'type' => 'int'], +'MongoDB\BSON\Binary::getData' => ['string'], +'MongoDB\BSON\Binary::getType' => ['int'], +'MongoDB\BSON\Binary::__toString' => ['string'], +'MongoDB\BSON\Binary::serialize' => ['string'], +'MongoDB\BSON\Binary::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Binary::jsonSerialize' => ['mixed'], +'MongoDB\BSON\BinaryInterface::getData' => ['string'], +'MongoDB\BSON\BinaryInterface::getType' => ['int'], +'MongoDB\BSON\BinaryInterface::__toString' => ['string'], +'MongoDB\BSON\DBPointer::__toString' => ['string'], +'MongoDB\BSON\DBPointer::serialize' => ['string'], +'MongoDB\BSON\DBPointer::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\DBPointer::jsonSerialize' => ['mixed'], +'MongoDB\BSON\Decimal128::__construct' => ['void', 'value' => 'string'], +'MongoDB\BSON\Decimal128::__toString' => ['string'], +'MongoDB\BSON\Decimal128::serialize' => ['string'], +'MongoDB\BSON\Decimal128::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Decimal128::jsonSerialize' => ['mixed'], +'MongoDB\BSON\Decimal128Interface::__toString' => ['string'], +'MongoDB\BSON\Int64::__toString' => ['string'], +'MongoDB\BSON\Int64::serialize' => ['string'], +'MongoDB\BSON\Int64::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Int64::jsonSerialize' => ['mixed'], +'MongoDB\BSON\Javascript::__construct' => ['void', 'code' => 'string', 'scope=' => 'object|array|null'], +'MongoDB\BSON\Javascript::getCode' => ['string'], +'MongoDB\BSON\Javascript::getScope' => ['?object'], +'MongoDB\BSON\Javascript::__toString' => ['string'], +'MongoDB\BSON\Javascript::serialize' => ['string'], +'MongoDB\BSON\Javascript::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Javascript::jsonSerialize' => ['mixed'], +'MongoDB\BSON\JavascriptInterface::getCode' => ['string'], +'MongoDB\BSON\JavascriptInterface::getScope' => ['?object'], +'MongoDB\BSON\JavascriptInterface::__toString' => ['string'], +'MongoDB\BSON\MaxKey::serialize' => ['string'], +'MongoDB\BSON\MaxKey::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\MaxKey::jsonSerialize' => ['mixed'], +'MongoDB\BSON\MinKey::serialize' => ['string'], +'MongoDB\BSON\MinKey::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\MinKey::jsonSerialize' => ['mixed'], +'MongoDB\BSON\ObjectId::__construct' => ['void', 'id=' => '?string'], +'MongoDB\BSON\ObjectId::getTimestamp' => ['int'], +'MongoDB\BSON\ObjectId::__toString' => ['string'], +'MongoDB\BSON\ObjectId::serialize' => ['string'], +'MongoDB\BSON\ObjectId::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\ObjectId::jsonSerialize' => ['mixed'], +'MongoDB\BSON\ObjectIdInterface::getTimestamp' => ['int'], +'MongoDB\BSON\ObjectIdInterface::__toString' => ['string'], +'MongoDB\BSON\Regex::__construct' => ['void', 'pattern' => 'string', 'flags=' => 'string'], +'MongoDB\BSON\Regex::getPattern' => ['string'], +'MongoDB\BSON\Regex::getFlags' => ['string'], +'MongoDB\BSON\Regex::__toString' => ['string'], +'MongoDB\BSON\Regex::serialize' => ['string'], +'MongoDB\BSON\Regex::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Regex::jsonSerialize' => ['mixed'], +'MongoDB\BSON\RegexInterface::getPattern' => ['string'], +'MongoDB\BSON\RegexInterface::getFlags' => ['string'], +'MongoDB\BSON\RegexInterface::__toString' => ['string'], +'MongoDB\BSON\Serializable::bsonSerialize' => ['object|array'], +'MongoDB\BSON\Symbol::__toString' => ['string'], +'MongoDB\BSON\Symbol::serialize' => ['string'], +'MongoDB\BSON\Symbol::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Symbol::jsonSerialize' => ['mixed'], +'MongoDB\BSON\Timestamp::__construct' => ['void', 'increment' => 'string|int', 'timestamp' => 'string|int'], +'MongoDB\BSON\Timestamp::getTimestamp' => ['int'], +'MongoDB\BSON\Timestamp::getIncrement' => ['int'], +'MongoDB\BSON\Timestamp::__toString' => ['string'], +'MongoDB\BSON\Timestamp::serialize' => ['string'], +'MongoDB\BSON\Timestamp::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Timestamp::jsonSerialize' => ['mixed'], +'MongoDB\BSON\TimestampInterface::getTimestamp' => ['int'], +'MongoDB\BSON\TimestampInterface::getIncrement' => ['int'], +'MongoDB\BSON\TimestampInterface::__toString' => ['string'], +'MongoDB\BSON\UTCDateTime::__construct' => ['void', 'milliseconds=' => 'DateTimeInterface|string|int|float|null'], +'MongoDB\BSON\UTCDateTime::toDateTime' => ['DateTime'], +'MongoDB\BSON\UTCDateTime::__toString' => ['string'], +'MongoDB\BSON\UTCDateTime::serialize' => ['string'], +'MongoDB\BSON\UTCDateTime::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\UTCDateTime::jsonSerialize' => ['mixed'], +'MongoDB\BSON\UTCDateTimeInterface::toDateTime' => ['DateTime'], +'MongoDB\BSON\UTCDateTimeInterface::__toString' => ['string'], +'MongoDB\BSON\Undefined::__toString' => ['string'], +'MongoDB\BSON\Undefined::serialize' => ['string'], +'MongoDB\BSON\Undefined::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\BSON\Undefined::jsonSerialize' => ['mixed'], +'MongoDB\BSON\Unserializable::bsonUnserialize' => ['void', 'data' => 'array'], +'MongoDB\Driver\BulkWrite::__construct' => ['void', 'options=' => '?array'], +'MongoDB\Driver\BulkWrite::count' => ['int'], +'MongoDB\Driver\BulkWrite::delete' => ['void', 'filter' => 'object|array', 'deleteOptions=' => '?array'], +'MongoDB\Driver\BulkWrite::insert' => ['mixed', 'document' => 'object|array'], +'MongoDB\Driver\BulkWrite::update' => ['void', 'filter' => 'object|array', 'newObj' => 'object|array', 'updateOptions=' => '?array'], +'MongoDB\Driver\ClientEncryption::__construct' => ['void', 'options' => 'array'], +'MongoDB\Driver\ClientEncryption::addKeyAltName' => ['?object', 'keyId' => 'MongoDB\BSON\Binary', 'keyAltName' => 'string'], +'MongoDB\Driver\ClientEncryption::createDataKey' => ['MongoDB\BSON\Binary', 'kmsProvider' => 'string', 'options=' => '?array'], +'MongoDB\Driver\ClientEncryption::decrypt' => ['mixed', 'value' => 'MongoDB\BSON\Binary'], +'MongoDB\Driver\ClientEncryption::deleteKey' => ['object', 'keyId' => 'MongoDB\BSON\Binary'], +'MongoDB\Driver\ClientEncryption::encrypt' => ['MongoDB\BSON\Binary', 'value' => 'mixed', 'options=' => '?array'], +'MongoDB\Driver\ClientEncryption::getKey' => ['?object', 'keyId' => 'MongoDB\BSON\Binary'], +'MongoDB\Driver\ClientEncryption::getKeyByAltName' => ['?object', 'keyAltName' => 'string'], +'MongoDB\Driver\ClientEncryption::getKeys' => ['MongoDB\Driver\Cursor'], +'MongoDB\Driver\ClientEncryption::removeKeyAltName' => ['?object', 'keyId' => 'MongoDB\BSON\Binary', 'keyAltName' => 'string'], +'MongoDB\Driver\ClientEncryption::rewrapManyDataKey' => ['object', 'filter' => 'object|array', 'options=' => '?array'], +'MongoDB\Driver\Command::__construct' => ['void', 'document' => 'object|array', 'commandOptions=' => '?array'], +'MongoDB\Driver\Cursor::current' => ['object|array|null'], +'MongoDB\Driver\Cursor::getId' => ['MongoDB\Driver\CursorId'], +'MongoDB\Driver\Cursor::getServer' => ['MongoDB\Driver\Server'], +'MongoDB\Driver\Cursor::isDead' => ['bool'], +'MongoDB\Driver\Cursor::key' => ['?int'], +'MongoDB\Driver\Cursor::next' => ['void'], +'MongoDB\Driver\Cursor::rewind' => ['void'], +'MongoDB\Driver\Cursor::setTypeMap' => ['void', 'typemap' => 'array'], +'MongoDB\Driver\Cursor::toArray' => ['array'], +'MongoDB\Driver\Cursor::valid' => ['bool'], +'MongoDB\Driver\CursorId::__toString' => ['string'], +'MongoDB\Driver\CursorId::serialize' => ['string'], +'MongoDB\Driver\CursorId::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\Driver\CursorInterface::getId' => ['MongoDB\Driver\CursorId'], +'MongoDB\Driver\CursorInterface::getServer' => ['MongoDB\Driver\Server'], +'MongoDB\Driver\CursorInterface::isDead' => ['bool'], +'MongoDB\Driver\CursorInterface::setTypeMap' => ['void', 'typemap' => 'array'], +'MongoDB\Driver\CursorInterface::toArray' => ['array'], +'MongoDB\Driver\Exception\AuthenticationException::__toString' => ['string'], +'MongoDB\Driver\Exception\BulkWriteException::__toString' => ['string'], +'MongoDB\Driver\Exception\CommandException::getResultDocument' => ['object'], +'MongoDB\Driver\Exception\CommandException::__toString' => ['string'], +'MongoDB\Driver\Exception\ConnectionException::__toString' => ['string'], +'MongoDB\Driver\Exception\ConnectionTimeoutException::__toString' => ['string'], +'MongoDB\Driver\Exception\EncryptionException::__toString' => ['string'], +'MongoDB\Driver\Exception\Exception::__toString' => ['string'], +'MongoDB\Driver\Exception\ExecutionTimeoutException::__toString' => ['string'], +'MongoDB\Driver\Exception\InvalidArgumentException::__toString' => ['string'], +'MongoDB\Driver\Exception\LogicException::__toString' => ['string'], +'MongoDB\Driver\Exception\RuntimeException::hasErrorLabel' => ['bool', 'errorLabel' => 'string'], +'MongoDB\Driver\Exception\RuntimeException::__toString' => ['string'], +'MongoDB\Driver\Exception\SSLConnectionException::__toString' => ['string'], +'MongoDB\Driver\Exception\ServerException::__toString' => ['string'], +'MongoDB\Driver\Exception\UnexpectedValueException::__toString' => ['string'], +'MongoDB\Driver\Exception\WriteException::getWriteResult' => ['MongoDB\Driver\WriteResult'], +'MongoDB\Driver\Exception\WriteException::__toString' => ['string'], +'MongoDB\Driver\Manager::__construct' => ['void', 'uri=' => '?string', 'uriOptions=' => '?array', 'driverOptions=' => '?array'], +'MongoDB\Driver\Manager::addSubscriber' => ['void', 'subscriber' => 'MongoDB\Driver\Monitoring\Subscriber'], +'MongoDB\Driver\Manager::createClientEncryption' => ['MongoDB\Driver\ClientEncryption', 'options' => 'array'], +'MongoDB\Driver\Manager::executeBulkWrite' => ['MongoDB\Driver\WriteResult', 'namespace' => 'string', 'bulk' => 'MongoDB\Driver\BulkWrite', 'options=' => 'MongoDB\Driver\WriteConcern|array|null'], +'MongoDB\Driver\Manager::executeCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], +'MongoDB\Driver\Manager::executeQuery' => ['MongoDB\Driver\Cursor', 'namespace' => 'string', 'query' => 'MongoDB\Driver\Query', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], +'MongoDB\Driver\Manager::executeReadCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], +'MongoDB\Driver\Manager::executeReadWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], +'MongoDB\Driver\Manager::executeWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], +'MongoDB\Driver\Manager::getEncryptedFieldsMap' => ['object|array|null'], +'MongoDB\Driver\Manager::getReadConcern' => ['MongoDB\Driver\ReadConcern'], +'MongoDB\Driver\Manager::getReadPreference' => ['MongoDB\Driver\ReadPreference'], +'MongoDB\Driver\Manager::getServers' => ['array'], +'MongoDB\Driver\Manager::getWriteConcern' => ['MongoDB\Driver\WriteConcern'], +'MongoDB\Driver\Manager::removeSubscriber' => ['void', 'subscriber' => 'MongoDB\Driver\Monitoring\Subscriber'], +'MongoDB\Driver\Manager::selectServer' => ['MongoDB\Driver\Server', 'readPreference=' => '?MongoDB\Driver\ReadPreference'], +'MongoDB\Driver\Manager::startSession' => ['MongoDB\Driver\Session', 'options=' => '?array'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName' => ['string'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros' => ['int'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getError' => ['Exception'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId' => ['string'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getReply' => ['object'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId' => ['string'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getServer' => ['MongoDB\Driver\Server'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId' => ['?MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId' => ['?int'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand' => ['object'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName' => ['string'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName' => ['string'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId' => ['string'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId' => ['string'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getServer' => ['MongoDB\Driver\Server'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId' => ['?MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId' => ['?int'], +'MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted' => ['void', 'event' => 'MongoDB\Driver\Monitoring\CommandStartedEvent'], +'MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded' => ['void', 'event' => 'MongoDB\Driver\Monitoring\CommandSucceededEvent'], +'MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\CommandFailedEvent'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName' => ['string'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros' => ['int'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId' => ['string'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply' => ['object'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId' => ['string'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer' => ['MongoDB\Driver\Server'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId' => ['?MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId' => ['?int'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerChangedEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerClosedEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerOpeningEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged' => ['void', 'event' => 'MongoDB\Driver\Monitoring\TopologyChangedEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\TopologyClosedEvent'], +'MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening' => ['void', 'event' => 'MongoDB\Driver\Monitoring\TopologyOpeningEvent'], +'MongoDB\Driver\Monitoring\ServerChangedEvent::getPort' => ['int'], +'MongoDB\Driver\Monitoring\ServerChangedEvent::getHost' => ['string'], +'MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription' => ['MongoDB\Driver\ServerDescription'], +'MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription' => ['MongoDB\Driver\ServerDescription'], +'MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\ServerClosedEvent::getPort' => ['int'], +'MongoDB\Driver\Monitoring\ServerClosedEvent::getHost' => ['string'], +'MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros' => ['int'], +'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError' => ['Exception'], +'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort' => ['int'], +'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost' => ['string'], +'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited' => ['bool'], +'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort' => ['int'], +'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost' => ['string'], +'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited' => ['bool'], +'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros' => ['int'], +'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply' => ['object'], +'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort' => ['int'], +'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost' => ['string'], +'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited' => ['bool'], +'MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort' => ['int'], +'MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost' => ['string'], +'MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription' => ['MongoDB\Driver\TopologyDescription'], +'MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription' => ['MongoDB\Driver\TopologyDescription'], +'MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], +'MongoDB\Driver\Query::__construct' => ['void', 'filter' => 'object|array', 'queryOptions=' => '?array'], +'MongoDB\Driver\ReadConcern::__construct' => ['void', 'level=' => '?string'], +'MongoDB\Driver\ReadConcern::getLevel' => ['?string'], +'MongoDB\Driver\ReadConcern::isDefault' => ['bool'], +'MongoDB\Driver\ReadConcern::bsonSerialize' => ['object|array'], +'MongoDB\Driver\ReadConcern::serialize' => ['string'], +'MongoDB\Driver\ReadConcern::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\Driver\ReadPreference::__construct' => ['void', 'mode' => 'string|int', 'tagSets=' => '?array', 'options=' => '?array'], +'MongoDB\Driver\ReadPreference::getHedge' => ['?object'], +'MongoDB\Driver\ReadPreference::getMaxStalenessSeconds' => ['int'], +'MongoDB\Driver\ReadPreference::getMode' => ['int'], +'MongoDB\Driver\ReadPreference::getModeString' => ['string'], +'MongoDB\Driver\ReadPreference::getTagSets' => ['array'], +'MongoDB\Driver\ReadPreference::bsonSerialize' => ['object|array'], +'MongoDB\Driver\ReadPreference::serialize' => ['string'], +'MongoDB\Driver\ReadPreference::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\Driver\Server::executeBulkWrite' => ['MongoDB\Driver\WriteResult', 'namespace' => 'string', 'bulkWrite' => 'MongoDB\Driver\BulkWrite', 'options=' => 'MongoDB\Driver\WriteConcern|array|null'], +'MongoDB\Driver\Server::executeCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], +'MongoDB\Driver\Server::executeQuery' => ['MongoDB\Driver\Cursor', 'namespace' => 'string', 'query' => 'MongoDB\Driver\Query', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], +'MongoDB\Driver\Server::executeReadCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], +'MongoDB\Driver\Server::executeReadWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], +'MongoDB\Driver\Server::executeWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], +'MongoDB\Driver\Server::getHost' => ['string'], +'MongoDB\Driver\Server::getInfo' => ['array'], +'MongoDB\Driver\Server::getLatency' => ['?int'], +'MongoDB\Driver\Server::getPort' => ['int'], +'MongoDB\Driver\Server::getServerDescription' => ['MongoDB\Driver\ServerDescription'], +'MongoDB\Driver\Server::getTags' => ['array'], +'MongoDB\Driver\Server::getType' => ['int'], +'MongoDB\Driver\Server::isArbiter' => ['bool'], +'MongoDB\Driver\Server::isHidden' => ['bool'], +'MongoDB\Driver\Server::isPassive' => ['bool'], +'MongoDB\Driver\Server::isPrimary' => ['bool'], +'MongoDB\Driver\Server::isSecondary' => ['bool'], +'MongoDB\Driver\ServerApi::__construct' => ['void', 'version' => 'string', 'strict=' => '?bool', 'deprecationErrors=' => '?bool'], +'MongoDB\Driver\ServerApi::bsonSerialize' => ['object|array'], +'MongoDB\Driver\ServerApi::serialize' => ['string'], +'MongoDB\Driver\ServerApi::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\Driver\ServerDescription::getHelloResponse' => ['array'], +'MongoDB\Driver\ServerDescription::getHost' => ['string'], +'MongoDB\Driver\ServerDescription::getLastUpdateTime' => ['int'], +'MongoDB\Driver\ServerDescription::getPort' => ['int'], +'MongoDB\Driver\ServerDescription::getRoundTripTime' => ['?int'], +'MongoDB\Driver\ServerDescription::getType' => ['string'], +'MongoDB\Driver\Session::abortTransaction' => ['void'], +'MongoDB\Driver\Session::advanceClusterTime' => ['void', 'clusterTime' => 'object|array'], +'MongoDB\Driver\Session::advanceOperationTime' => ['void', 'operationTime' => 'MongoDB\BSON\TimestampInterface'], +'MongoDB\Driver\Session::commitTransaction' => ['void'], +'MongoDB\Driver\Session::endSession' => ['void'], +'MongoDB\Driver\Session::getClusterTime' => ['?object'], +'MongoDB\Driver\Session::getLogicalSessionId' => ['object'], +'MongoDB\Driver\Session::getOperationTime' => ['?MongoDB\BSON\Timestamp'], +'MongoDB\Driver\Session::getServer' => ['?MongoDB\Driver\Server'], +'MongoDB\Driver\Session::getTransactionOptions' => ['?array'], +'MongoDB\Driver\Session::getTransactionState' => ['string'], +'MongoDB\Driver\Session::isDirty' => ['bool'], +'MongoDB\Driver\Session::isInTransaction' => ['bool'], +'MongoDB\Driver\Session::startTransaction' => ['void', 'options=' => '?array'], +'MongoDB\Driver\TopologyDescription::getServers' => ['array'], +'MongoDB\Driver\TopologyDescription::getType' => ['string'], +'MongoDB\Driver\TopologyDescription::hasReadableServer' => ['bool', 'readPreference=' => '?MongoDB\Driver\ReadPreference'], +'MongoDB\Driver\TopologyDescription::hasWritableServer' => ['bool'], +'MongoDB\Driver\WriteConcern::__construct' => ['void', 'w' => 'string|int', 'wtimeout=' => '?int', 'journal=' => '?bool'], +'MongoDB\Driver\WriteConcern::getJournal' => ['?bool'], +'MongoDB\Driver\WriteConcern::getW' => ['string|int|null'], +'MongoDB\Driver\WriteConcern::getWtimeout' => ['int'], +'MongoDB\Driver\WriteConcern::isDefault' => ['bool'], +'MongoDB\Driver\WriteConcern::bsonSerialize' => ['object|array'], +'MongoDB\Driver\WriteConcern::serialize' => ['string'], +'MongoDB\Driver\WriteConcern::unserialize' => ['void', 'serialized' => 'string'], +'MongoDB\Driver\WriteConcernError::getCode' => ['int'], +'MongoDB\Driver\WriteConcernError::getInfo' => ['?object'], +'MongoDB\Driver\WriteConcernError::getMessage' => ['string'], +'MongoDB\Driver\WriteError::getCode' => ['int'], +'MongoDB\Driver\WriteError::getIndex' => ['int'], +'MongoDB\Driver\WriteError::getInfo' => ['?object'], +'MongoDB\Driver\WriteError::getMessage' => ['string'], +'MongoDB\Driver\WriteResult::getInsertedCount' => ['?int'], +'MongoDB\Driver\WriteResult::getMatchedCount' => ['?int'], +'MongoDB\Driver\WriteResult::getModifiedCount' => ['?int'], +'MongoDB\Driver\WriteResult::getDeletedCount' => ['?int'], +'MongoDB\Driver\WriteResult::getUpsertedCount' => ['?int'], +'MongoDB\Driver\WriteResult::getServer' => ['MongoDB\Driver\Server'], +'MongoDB\Driver\WriteResult::getUpsertedIds' => ['array'], +'MongoDB\Driver\WriteResult::getWriteConcernError' => ['?MongoDB\Driver\WriteConcernError'], +'MongoDB\Driver\WriteResult::getWriteErrors' => ['array'], +'MongoDB\Driver\WriteResult::isAcknowledged' => ['bool'], +'MongoDBRef::create' => ['array', 'collection'=>'string', 'id'=>'mixed', 'database='=>'string'], +'MongoDBRef::get' => ['?array', 'db'=>'MongoDB', 'ref'=>'array'], +'MongoDBRef::isRef' => ['bool', 'ref'=>'mixed'], +'MongoDeleteBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'write_options='=>'array'], +'MongoException::__clone' => ['void'], +'MongoException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'MongoException::__toString' => ['string'], +'MongoException::__wakeup' => ['void'], +'MongoException::getCode' => ['int'], +'MongoException::getFile' => ['string'], +'MongoException::getLine' => ['int'], +'MongoException::getMessage' => ['string'], +'MongoException::getPrevious' => ['Exception|Throwable'], +'MongoException::getTrace' => ['list\',args?:array}>'], +'MongoException::getTraceAsString' => ['string'], +'MongoGridFS::__construct' => ['void', 'db'=>'MongoDB', 'prefix='=>'string', 'chunks='=>'mixed'], +'MongoGridFS::__get' => ['MongoCollection', 'name'=>'string'], +'MongoGridFS::__toString' => ['string'], +'MongoGridFS::aggregate' => ['array', 'pipeline'=>'array', 'op'=>'array', 'pipelineOperators'=>'array'], +'MongoGridFS::aggregateCursor' => ['MongoCommandCursor', 'pipeline'=>'array', 'options'=>'array'], +'MongoGridFS::batchInsert' => ['mixed', 'a'=>'array', 'options='=>'array'], +'MongoGridFS::count' => ['int', 'query='=>'stdClass|array'], +'MongoGridFS::createDBRef' => ['array', 'a'=>'array'], +'MongoGridFS::createIndex' => ['array', 'keys'=>'array', 'options='=>'array'], +'MongoGridFS::delete' => ['bool', 'id'=>'mixed'], +'MongoGridFS::deleteIndex' => ['array', 'keys'=>'array|string'], +'MongoGridFS::deleteIndexes' => ['array'], +'MongoGridFS::distinct' => ['array|bool', 'key'=>'string', 'query='=>'?array'], +'MongoGridFS::drop' => ['array'], +'MongoGridFS::ensureIndex' => ['bool', 'keys'=>'array', 'options='=>'array'], +'MongoGridFS::find' => ['MongoGridFSCursor', 'query='=>'array', 'fields='=>'array'], +'MongoGridFS::findAndModify' => ['array', 'query'=>'array', 'update='=>'?array', 'fields='=>'?array', 'options='=>'?array'], +'MongoGridFS::findOne' => ['?MongoGridFSFile', 'query='=>'mixed', 'fields='=>'mixed'], +'MongoGridFS::get' => ['?MongoGridFSFile', 'id'=>'mixed'], +'MongoGridFS::getDBRef' => ['array', 'ref'=>'array'], +'MongoGridFS::getIndexInfo' => ['array'], +'MongoGridFS::getName' => ['string'], +'MongoGridFS::getReadPreference' => ['array'], +'MongoGridFS::getSlaveOkay' => ['bool'], +'MongoGridFS::group' => ['array', 'keys'=>'mixed', 'initial'=>'array', 'reduce'=>'MongoCode', 'condition='=>'array'], +'MongoGridFS::insert' => ['array|bool', 'a'=>'array|object', 'options='=>'array'], +'MongoGridFS::put' => ['mixed', 'filename'=>'string', 'extra='=>'array'], +'MongoGridFS::remove' => ['bool', 'criteria='=>'array', 'options='=>'array'], +'MongoGridFS::save' => ['array|bool', 'a'=>'array|object', 'options='=>'array'], +'MongoGridFS::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags'=>'array'], +'MongoGridFS::setSlaveOkay' => ['bool', 'ok='=>'bool'], +'MongoGridFS::storeBytes' => ['mixed', 'bytes'=>'string', 'extra='=>'array', 'options='=>'array'], +'MongoGridFS::storeFile' => ['mixed', 'filename'=>'string', 'extra='=>'array', 'options='=>'array'], +'MongoGridFS::storeUpload' => ['mixed', 'name'=>'string', 'filename='=>'string'], +'MongoGridFS::toIndexString' => ['string', 'keys'=>'mixed'], +'MongoGridFS::update' => ['bool', 'criteria'=>'array', 'newobj'=>'array', 'options='=>'array'], +'MongoGridFS::validate' => ['array', 'scan_data='=>'bool'], +'MongoGridFSCursor::__construct' => ['void', 'gridfs'=>'MongoGridFS', 'connection'=>'resource', 'ns'=>'string', 'query'=>'array', 'fields'=>'array'], +'MongoGridFSCursor::addOption' => ['MongoCursor', 'key'=>'string', 'value'=>'mixed'], +'MongoGridFSCursor::awaitData' => ['MongoCursor', 'wait='=>'bool'], +'MongoGridFSCursor::batchSize' => ['MongoCursor', 'batchSize'=>'int'], +'MongoGridFSCursor::count' => ['int', 'all='=>'bool'], +'MongoGridFSCursor::current' => ['MongoGridFSFile'], +'MongoGridFSCursor::dead' => ['bool'], +'MongoGridFSCursor::doQuery' => ['void'], +'MongoGridFSCursor::explain' => ['array'], +'MongoGridFSCursor::fields' => ['MongoCursor', 'f'=>'array'], +'MongoGridFSCursor::getNext' => ['MongoGridFSFile'], +'MongoGridFSCursor::getReadPreference' => ['array'], +'MongoGridFSCursor::hasNext' => ['bool'], +'MongoGridFSCursor::hint' => ['MongoCursor', 'key_pattern'=>'mixed'], +'MongoGridFSCursor::immortal' => ['MongoCursor', 'liveForever='=>'bool'], +'MongoGridFSCursor::info' => ['array'], +'MongoGridFSCursor::key' => ['string'], +'MongoGridFSCursor::limit' => ['MongoCursor', 'num'=>'int'], +'MongoGridFSCursor::maxTimeMS' => ['MongoCursor', 'ms'=>'int'], +'MongoGridFSCursor::next' => ['void'], +'MongoGridFSCursor::partial' => ['MongoCursor', 'okay='=>'bool'], +'MongoGridFSCursor::reset' => ['void'], +'MongoGridFSCursor::rewind' => ['void'], +'MongoGridFSCursor::setFlag' => ['MongoCursor', 'flag'=>'int', 'set='=>'bool'], +'MongoGridFSCursor::setReadPreference' => ['MongoCursor', 'read_preference'=>'string', 'tags'=>'array'], +'MongoGridFSCursor::skip' => ['MongoCursor', 'num'=>'int'], +'MongoGridFSCursor::slaveOkay' => ['MongoCursor', 'okay='=>'bool'], +'MongoGridFSCursor::snapshot' => ['MongoCursor'], +'MongoGridFSCursor::sort' => ['MongoCursor', 'fields'=>'array'], +'MongoGridFSCursor::tailable' => ['MongoCursor', 'tail='=>'bool'], +'MongoGridFSCursor::timeout' => ['MongoCursor', 'ms'=>'int'], +'MongoGridFSCursor::valid' => ['bool'], +'MongoGridfsFile::__construct' => ['void', 'gridfs'=>'MongoGridFS', 'file'=>'array'], +'MongoGridFSFile::getBytes' => ['string'], +'MongoGridFSFile::getFilename' => ['string'], +'MongoGridFSFile::getResource' => ['resource'], +'MongoGridFSFile::getSize' => ['int'], +'MongoGridFSFile::write' => ['int', 'filename='=>'string'], +'MongoId::__construct' => ['void', 'id='=>'string|MongoId'], +'MongoId::__set_state' => ['MongoId', 'props'=>'array'], +'MongoId::__toString' => ['string'], +'MongoId::getHostname' => ['string'], +'MongoId::getInc' => ['int'], +'MongoId::getPID' => ['int'], +'MongoId::getTimestamp' => ['int'], +'MongoId::isValid' => ['bool', 'value'=>'mixed'], +'MongoInsertBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'write_options='=>'array'], +'MongoInt32::__construct' => ['void', 'value'=>'string'], +'MongoInt32::__toString' => ['string'], +'MongoInt64::__construct' => ['void', 'value'=>'string'], +'MongoInt64::__toString' => ['string'], +'MongoLog::getCallback' => ['callable'], +'MongoLog::getLevel' => ['int'], +'MongoLog::getModule' => ['int'], +'MongoLog::setCallback' => ['void', 'log_function'=>'callable'], +'MongoLog::setLevel' => ['void', 'level'=>'int'], +'MongoLog::setModule' => ['void', 'module'=>'int'], +'MongoPool::getSize' => ['int'], +'MongoPool::info' => ['array'], +'MongoPool::setSize' => ['bool', 'size'=>'int'], +'MongoRegex::__construct' => ['void', 'regex'=>'string'], +'MongoRegex::__toString' => ['string'], +'MongoResultException::__clone' => ['void'], +'MongoResultException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'MongoResultException::__toString' => ['string'], +'MongoResultException::__wakeup' => ['void'], +'MongoResultException::getCode' => ['int'], +'MongoResultException::getDocument' => ['array'], +'MongoResultException::getFile' => ['string'], +'MongoResultException::getLine' => ['int'], +'MongoResultException::getMessage' => ['string'], +'MongoResultException::getPrevious' => ['Exception|Throwable'], +'MongoResultException::getTrace' => ['list\',args?:array}>'], +'MongoResultException::getTraceAsString' => ['string'], +'MongoTimestamp::__construct' => ['void', 'second='=>'int', 'inc='=>'int'], +'MongoTimestamp::__toString' => ['string'], +'MongoUpdateBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'write_options='=>'array'], +'MongoUpdateBatch::add' => ['bool', 'item'=>'array'], +'MongoUpdateBatch::execute' => ['array', 'write_options'=>'array'], +'MongoWriteBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'batch_type'=>'string', 'write_options'=>'array'], +'MongoWriteBatch::add' => ['bool', 'item'=>'array'], +'MongoWriteBatch::execute' => ['array', 'write_options'=>'array'], +'MongoWriteConcernException::__clone' => ['void'], +'MongoWriteConcernException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'MongoWriteConcernException::__toString' => ['string'], +'MongoWriteConcernException::__wakeup' => ['void'], +'MongoWriteConcernException::getCode' => ['int'], +'MongoWriteConcernException::getDocument' => ['array'], +'MongoWriteConcernException::getFile' => ['string'], +'MongoWriteConcernException::getLine' => ['int'], +'MongoWriteConcernException::getMessage' => ['string'], +'MongoWriteConcernException::getPrevious' => ['Exception|Throwable'], +'MongoWriteConcernException::getTrace' => ['list\',args?:array}>'], +'MongoWriteConcernException::getTraceAsString' => ['string'], +'monitor_custom_event' => ['void', 'class'=>'string', 'text'=>'string', 'severe='=>'int', 'user_data='=>'mixed'], +'monitor_httperror_event' => ['void', 'error_code'=>'int', 'url'=>'string', 'severe='=>'int'], +'monitor_license_info' => ['array'], +'monitor_pass_error' => ['void', 'errno'=>'int', 'errstr'=>'string', 'errfile'=>'string', 'errline'=>'int'], +'monitor_set_aggregation_hint' => ['void', 'hint'=>'string'], +'move_uploaded_file' => ['bool', 'from'=>'string', 'to'=>'string'], +'mqseries_back' => ['void', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_begin' => ['void', 'hconn'=>'resource', 'beginoptions'=>'array', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_close' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'options'=>'int', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_cmit' => ['void', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_conn' => ['void', 'qmanagername'=>'string', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_connx' => ['void', 'qmanagername'=>'string', 'connoptions'=>'array', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_disc' => ['void', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_get' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'md'=>'array', 'gmo'=>'array', 'bufferlength'=>'int', 'msg'=>'string', 'data_length'=>'int', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_inq' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'selectorcount'=>'int', 'selectors'=>'array', 'intattrcount'=>'int', 'intattr'=>'resource', 'charattrlength'=>'int', 'charattr'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_open' => ['void', 'hconn'=>'resource', 'objdesc'=>'array', 'option'=>'int', 'hobj'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_put' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'md'=>'array', 'pmo'=>'array', 'message'=>'string', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_put1' => ['void', 'hconn'=>'resource', 'objdesc'=>'resource', 'msgdesc'=>'resource', 'pmo'=>'resource', 'buffer'=>'string', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_set' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'selectorcount'=>'int', 'selectors'=>'array', 'intattrcount'=>'int', 'intattrs'=>'array', 'charattrlength'=>'int', 'charattrs'=>'array', 'compcode'=>'resource', 'reason'=>'resource'], +'mqseries_strerror' => ['string', 'reason'=>'int'], +'ms_GetErrorObj' => ['errorObj'], +'ms_GetVersion' => ['string'], +'ms_GetVersionInt' => ['int'], +'ms_iogetStdoutBufferBytes' => ['int'], +'ms_iogetstdoutbufferstring' => ['void'], +'ms_ioinstallstdinfrombuffer' => ['void'], +'ms_ioinstallstdouttobuffer' => ['void'], +'ms_ioresethandlers' => ['void'], +'ms_iostripstdoutbuffercontentheaders' => ['void'], +'ms_iostripstdoutbuffercontenttype' => ['string'], +'ms_ResetErrorList' => ['void'], +'ms_TokenizeMap' => ['array', 'map_file_name'=>'string'], +'msession_connect' => ['bool', 'host'=>'string', 'port'=>'string'], +'msession_count' => ['int'], +'msession_create' => ['bool', 'session'=>'string', 'classname='=>'string', 'data='=>'string'], +'msession_destroy' => ['bool', 'name'=>'string'], +'msession_disconnect' => ['void'], +'msession_find' => ['array', 'name'=>'string', 'value'=>'string'], +'msession_get' => ['string', 'session'=>'string', 'name'=>'string', 'value'=>'string'], +'msession_get_array' => ['array', 'session'=>'string'], +'msession_get_data' => ['string', 'session'=>'string'], +'msession_inc' => ['string', 'session'=>'string', 'name'=>'string'], +'msession_list' => ['array'], +'msession_listvar' => ['array', 'name'=>'string'], +'msession_lock' => ['int', 'name'=>'string'], +'msession_plugin' => ['string', 'session'=>'string', 'value'=>'string', 'param='=>'string'], +'msession_randstr' => ['string', 'param'=>'int'], +'msession_set' => ['bool', 'session'=>'string', 'name'=>'string', 'value'=>'string'], +'msession_set_array' => ['void', 'session'=>'string', 'tuples'=>'array'], +'msession_set_data' => ['bool', 'session'=>'string', 'value'=>'string'], +'msession_timeout' => ['int', 'session'=>'string', 'param='=>'int'], +'msession_uniq' => ['string', 'param'=>'int', 'classname='=>'string', 'data='=>'string'], +'msession_unlock' => ['int', 'session'=>'string', 'key'=>'int'], +'msg_get_queue' => ['SysvMessageQueue|false', 'key'=>'int', 'permissions='=>'int'], +'msg_queue_exists' => ['bool', 'key'=>'int'], +'msg_receive' => ['bool', 'queue'=>'SysvMessageQueue', 'desired_message_type'=>'int', '&w_received_message_type'=>'int', 'max_message_size'=>'int', '&w_message'=>'mixed', 'unserialize='=>'bool', 'flags='=>'int', '&w_error_code='=>'int'], +'msg_remove_queue' => ['bool', 'queue'=>'SysvMessageQueue'], +'msg_send' => ['bool', 'queue'=>'SysvMessageQueue', 'message_type'=>'int', 'message'=>'mixed', 'serialize='=>'bool', 'blocking='=>'bool', '&w_error_code='=>'int'], +'msg_set_queue' => ['bool', 'queue'=>'SysvMessageQueue', 'data'=>'array'], +'msg_stat_queue' => ['array', 'queue'=>'SysvMessageQueue'], +'msgfmt_create' => ['?MessageFormatter', 'locale'=>'string', 'pattern'=>'string'], +'msgfmt_format' => ['string|false', 'formatter'=>'MessageFormatter', 'values'=>'array'], +'msgfmt_format_message' => ['string|false', 'locale'=>'string', 'pattern'=>'string', 'values'=>'array'], +'msgfmt_get_error_code' => ['int', 'formatter'=>'MessageFormatter'], +'msgfmt_get_error_message' => ['string', 'formatter'=>'MessageFormatter'], +'msgfmt_get_locale' => ['string', 'formatter'=>'MessageFormatter'], +'msgfmt_get_pattern' => ['string', 'formatter'=>'MessageFormatter'], +'msgfmt_parse' => ['array|false', 'formatter'=>'MessageFormatter', 'string'=>'string'], +'msgfmt_parse_message' => ['array|false', 'locale'=>'string', 'pattern'=>'string', 'message'=>'string'], +'msgfmt_set_pattern' => ['bool', 'formatter'=>'MessageFormatter', 'pattern'=>'string'], +'msql_affected_rows' => ['int', 'result'=>'resource'], +'msql_close' => ['bool', 'link_identifier='=>'?resource'], +'msql_connect' => ['resource', 'hostname='=>'string'], +'msql_create_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], +'msql_data_seek' => ['bool', 'result'=>'resource', 'row_number'=>'int'], +'msql_db_query' => ['resource', 'database'=>'string', 'query'=>'string', 'link_identifier='=>'?resource'], +'msql_drop_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], +'msql_error' => ['string'], +'msql_fetch_array' => ['array', 'result'=>'resource', 'result_type='=>'int'], +'msql_fetch_field' => ['object', 'result'=>'resource', 'field_offset='=>'int'], +'msql_fetch_object' => ['object', 'result'=>'resource'], +'msql_fetch_row' => ['array', 'result'=>'resource'], +'msql_field_flags' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'msql_field_len' => ['int', 'result'=>'resource', 'field_offset'=>'int'], +'msql_field_name' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'msql_field_seek' => ['bool', 'result'=>'resource', 'field_offset'=>'int'], +'msql_field_table' => ['int', 'result'=>'resource', 'field_offset'=>'int'], +'msql_field_type' => ['string', 'result'=>'resource', 'field_offset'=>'int'], +'msql_free_result' => ['bool', 'result'=>'resource'], +'msql_list_dbs' => ['resource', 'link_identifier='=>'?resource'], +'msql_list_fields' => ['resource', 'database'=>'string', 'tablename'=>'string', 'link_identifier='=>'?resource'], +'msql_list_tables' => ['resource', 'database'=>'string', 'link_identifier='=>'?resource'], +'msql_num_fields' => ['int', 'result'=>'resource'], +'msql_num_rows' => ['int', 'query_identifier'=>'resource'], +'msql_pconnect' => ['resource', 'hostname='=>'string'], +'msql_query' => ['resource', 'query'=>'string', 'link_identifier='=>'?resource'], +'msql_result' => ['string', 'result'=>'resource', 'row'=>'int', 'field='=>'mixed'], +'msql_select_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], +'mt_getrandmax' => ['int'], +'mt_rand' => ['int', 'min'=>'int', 'max'=>'int'], +'mt_rand\'1' => ['int'], +'mt_srand' => ['void', 'seed='=>'int', 'mode='=>'int'], +'MultipleIterator::__construct' => ['void', 'flags='=>'int'], +'MultipleIterator::attachIterator' => ['void', 'iterator'=>'Iterator', 'infos='=>'string'], +'MultipleIterator::containsIterator' => ['bool', 'iterator'=>'Iterator'], +'MultipleIterator::countIterators' => ['int'], +'MultipleIterator::current' => ['array|false'], +'MultipleIterator::detachIterator' => ['void', 'iterator'=>'Iterator'], +'MultipleIterator::getFlags' => ['int'], +'MultipleIterator::key' => ['array'], +'MultipleIterator::next' => ['void'], +'MultipleIterator::rewind' => ['void'], +'MultipleIterator::setFlags' => ['void', 'flags'=>'int'], +'MultipleIterator::valid' => ['bool'], +'Mutex::create' => ['long', 'lock='=>'bool'], +'Mutex::destroy' => ['bool', 'mutex'=>'long'], +'Mutex::lock' => ['bool', 'mutex'=>'long'], +'Mutex::trylock' => ['bool', 'mutex'=>'long'], +'Mutex::unlock' => ['bool', 'mutex'=>'long', 'destroy='=>'bool'], +'mysql_xdevapi\baseresult::getWarnings' => ['array'], +'mysql_xdevapi\baseresult::getWarningsCount' => ['integer'], +'mysql_xdevapi\collection::add' => ['mysql_xdevapi\CollectionAdd', 'document'=>'mixed'], +'mysql_xdevapi\collection::addOrReplaceOne' => ['mysql_xdevapi\Result', 'id'=>'string', 'doc'=>'string'], +'mysql_xdevapi\collection::count' => ['integer'], +'mysql_xdevapi\collection::createIndex' => ['void', 'index_name'=>'string', 'index_desc_json'=>'string'], +'mysql_xdevapi\collection::dropIndex' => ['bool', 'index_name'=>'string'], +'mysql_xdevapi\collection::existsInDatabase' => ['bool'], +'mysql_xdevapi\collection::find' => ['mysql_xdevapi\CollectionFind', 'search_condition='=>'string'], +'mysql_xdevapi\collection::getName' => ['string'], +'mysql_xdevapi\collection::getOne' => ['Document', 'id'=>'string'], +'mysql_xdevapi\collection::getSchema' => ['mysql_xdevapi\schema'], +'mysql_xdevapi\collection::getSession' => ['Session'], +'mysql_xdevapi\collection::modify' => ['mysql_xdevapi\CollectionModify', 'search_condition'=>'string'], +'mysql_xdevapi\collection::remove' => ['mysql_xdevapi\CollectionRemove', 'search_condition'=>'string'], +'mysql_xdevapi\collection::removeOne' => ['mysql_xdevapi\Result', 'id'=>'string'], +'mysql_xdevapi\collection::replaceOne' => ['mysql_xdevapi\Result', 'id'=>'string', 'doc'=>'string'], +'mysql_xdevapi\collectionadd::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\collectionfind::bind' => ['mysql_xdevapi\CollectionFind', 'placeholder_values'=>'array'], +'mysql_xdevapi\collectionfind::execute' => ['mysql_xdevapi\DocResult'], +'mysql_xdevapi\collectionfind::fields' => ['mysql_xdevapi\CollectionFind', 'projection'=>'string'], +'mysql_xdevapi\collectionfind::groupBy' => ['mysql_xdevapi\CollectionFind', 'sort_expr'=>'string'], +'mysql_xdevapi\collectionfind::having' => ['mysql_xdevapi\CollectionFind', 'sort_expr'=>'string'], +'mysql_xdevapi\collectionfind::limit' => ['mysql_xdevapi\CollectionFind', 'rows'=>'integer'], +'mysql_xdevapi\collectionfind::lockExclusive' => ['mysql_xdevapi\CollectionFind', 'lock_waiting_option='=>'integer'], +'mysql_xdevapi\collectionfind::lockShared' => ['mysql_xdevapi\CollectionFind', 'lock_waiting_option='=>'integer'], +'mysql_xdevapi\collectionfind::offset' => ['mysql_xdevapi\CollectionFind', 'position'=>'integer'], +'mysql_xdevapi\collectionfind::sort' => ['mysql_xdevapi\CollectionFind', 'sort_expr'=>'string'], +'mysql_xdevapi\collectionmodify::arrayAppend' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], +'mysql_xdevapi\collectionmodify::arrayInsert' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], +'mysql_xdevapi\collectionmodify::bind' => ['mysql_xdevapi\CollectionModify', 'placeholder_values'=>'array'], +'mysql_xdevapi\collectionmodify::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\collectionmodify::limit' => ['mysql_xdevapi\CollectionModify', 'rows'=>'integer'], +'mysql_xdevapi\collectionmodify::patch' => ['mysql_xdevapi\CollectionModify', 'document'=>'string'], +'mysql_xdevapi\collectionmodify::replace' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], +'mysql_xdevapi\collectionmodify::set' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], +'mysql_xdevapi\collectionmodify::skip' => ['mysql_xdevapi\CollectionModify', 'position'=>'integer'], +'mysql_xdevapi\collectionmodify::sort' => ['mysql_xdevapi\CollectionModify', 'sort_expr'=>'string'], +'mysql_xdevapi\collectionmodify::unset' => ['mysql_xdevapi\CollectionModify', 'fields'=>'array'], +'mysql_xdevapi\collectionremove::bind' => ['mysql_xdevapi\CollectionRemove', 'placeholder_values'=>'array'], +'mysql_xdevapi\collectionremove::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\collectionremove::limit' => ['mysql_xdevapi\CollectionRemove', 'rows'=>'integer'], +'mysql_xdevapi\collectionremove::sort' => ['mysql_xdevapi\CollectionRemove', 'sort_expr'=>'string'], +'mysql_xdevapi\columnresult::getCharacterSetName' => ['string'], +'mysql_xdevapi\columnresult::getCollationName' => ['string'], +'mysql_xdevapi\columnresult::getColumnLabel' => ['string'], +'mysql_xdevapi\columnresult::getColumnName' => ['string'], +'mysql_xdevapi\columnresult::getFractionalDigits' => ['integer'], +'mysql_xdevapi\columnresult::getLength' => ['integer'], +'mysql_xdevapi\columnresult::getSchemaName' => ['string'], +'mysql_xdevapi\columnresult::getTableLabel' => ['string'], +'mysql_xdevapi\columnresult::getTableName' => ['string'], +'mysql_xdevapi\columnresult::getType' => ['integer'], +'mysql_xdevapi\columnresult::isNumberSigned' => ['integer'], +'mysql_xdevapi\columnresult::isPadded' => ['integer'], +'mysql_xdevapi\crudoperationbindable::bind' => ['mysql_xdevapi\CrudOperationBindable', 'placeholder_values'=>'array'], +'mysql_xdevapi\crudoperationlimitable::limit' => ['mysql_xdevapi\CrudOperationLimitable', 'rows'=>'integer'], +'mysql_xdevapi\crudoperationskippable::skip' => ['mysql_xdevapi\CrudOperationSkippable', 'skip'=>'integer'], +'mysql_xdevapi\crudoperationsortable::sort' => ['mysql_xdevapi\CrudOperationSortable', 'sort_expr'=>'string'], +'mysql_xdevapi\databaseobject::existsInDatabase' => ['bool'], +'mysql_xdevapi\databaseobject::getName' => ['string'], +'mysql_xdevapi\databaseobject::getSession' => ['mysql_xdevapi\Session'], +'mysql_xdevapi\docresult::fetchAll' => ['Array'], +'mysql_xdevapi\docresult::fetchOne' => ['Object'], +'mysql_xdevapi\docresult::getWarnings' => ['Array'], +'mysql_xdevapi\docresult::getWarningsCount' => ['integer'], +'mysql_xdevapi\executable::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\getsession' => ['mysql_xdevapi\Session', 'uri'=>'string'], +'mysql_xdevapi\result::getAutoIncrementValue' => ['int'], +'mysql_xdevapi\result::getGeneratedIds' => ['ArrayOfInt'], +'mysql_xdevapi\result::getWarnings' => ['array'], +'mysql_xdevapi\result::getWarningsCount' => ['integer'], +'mysql_xdevapi\rowresult::fetchAll' => ['array'], +'mysql_xdevapi\rowresult::fetchOne' => ['object'], +'mysql_xdevapi\rowresult::getColumnCount' => ['integer'], +'mysql_xdevapi\rowresult::getColumnNames' => ['array'], +'mysql_xdevapi\rowresult::getColumns' => ['array'], +'mysql_xdevapi\rowresult::getWarnings' => ['array'], +'mysql_xdevapi\rowresult::getWarningsCount' => ['integer'], +'mysql_xdevapi\schema::createCollection' => ['mysql_xdevapi\Collection', 'name'=>'string'], +'mysql_xdevapi\schema::dropCollection' => ['bool', 'collection_name'=>'string'], +'mysql_xdevapi\schema::existsInDatabase' => ['bool'], +'mysql_xdevapi\schema::getCollection' => ['mysql_xdevapi\Collection', 'name'=>'string'], +'mysql_xdevapi\schema::getCollectionAsTable' => ['mysql_xdevapi\Table', 'name'=>'string'], +'mysql_xdevapi\schema::getCollections' => ['array'], +'mysql_xdevapi\schema::getName' => ['string'], +'mysql_xdevapi\schema::getSession' => ['mysql_xdevapi\Session'], +'mysql_xdevapi\schema::getTable' => ['mysql_xdevapi\Table', 'name'=>'string'], +'mysql_xdevapi\schema::getTables' => ['array'], +'mysql_xdevapi\schemaobject::getSchema' => ['mysql_xdevapi\Schema'], +'mysql_xdevapi\session::close' => ['bool'], +'mysql_xdevapi\session::commit' => ['Object'], +'mysql_xdevapi\session::createSchema' => ['mysql_xdevapi\Schema', 'schema_name'=>'string'], +'mysql_xdevapi\session::dropSchema' => ['bool', 'schema_name'=>'string'], +'mysql_xdevapi\session::executeSql' => ['Object', 'statement'=>'string'], +'mysql_xdevapi\session::generateUUID' => ['string'], +'mysql_xdevapi\session::getClientId' => ['integer'], +'mysql_xdevapi\session::getSchema' => ['mysql_xdevapi\Schema', 'schema_name'=>'string'], +'mysql_xdevapi\session::getSchemas' => ['array'], +'mysql_xdevapi\session::getServerVersion' => ['integer'], +'mysql_xdevapi\session::killClient' => ['object', 'client_id'=>'integer'], +'mysql_xdevapi\session::listClients' => ['array'], +'mysql_xdevapi\session::quoteName' => ['string', 'name'=>'string'], +'mysql_xdevapi\session::releaseSavepoint' => ['void', 'name'=>'string'], +'mysql_xdevapi\session::rollback' => ['void'], +'mysql_xdevapi\session::rollbackTo' => ['void', 'name'=>'string'], +'mysql_xdevapi\session::setSavepoint' => ['string', 'name='=>'string'], +'mysql_xdevapi\session::sql' => ['mysql_xdevapi\SqlStatement', 'query'=>'string'], +'mysql_xdevapi\session::startTransaction' => ['void'], +'mysql_xdevapi\sqlstatement::bind' => ['mysql_xdevapi\SqlStatement', 'param'=>'string'], +'mysql_xdevapi\sqlstatement::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\sqlstatement::getNextResult' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\sqlstatement::getResult' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\sqlstatement::hasMoreResults' => ['bool'], +'mysql_xdevapi\sqlstatementresult::fetchAll' => ['array'], +'mysql_xdevapi\sqlstatementresult::fetchOne' => ['object'], +'mysql_xdevapi\sqlstatementresult::getAffectedItemsCount' => ['integer'], +'mysql_xdevapi\sqlstatementresult::getColumnCount' => ['integer'], +'mysql_xdevapi\sqlstatementresult::getColumnNames' => ['array'], +'mysql_xdevapi\sqlstatementresult::getColumns' => ['Array'], +'mysql_xdevapi\sqlstatementresult::getGeneratedIds' => ['array'], +'mysql_xdevapi\sqlstatementresult::getLastInsertId' => ['String'], +'mysql_xdevapi\sqlstatementresult::getWarnings' => ['array'], +'mysql_xdevapi\sqlstatementresult::getWarningsCount' => ['integer'], +'mysql_xdevapi\sqlstatementresult::hasData' => ['bool'], +'mysql_xdevapi\sqlstatementresult::nextResult' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\statement::getNextResult' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\statement::getResult' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\statement::hasMoreResults' => ['bool'], +'mysql_xdevapi\table::count' => ['integer'], +'mysql_xdevapi\table::delete' => ['mysql_xdevapi\TableDelete'], +'mysql_xdevapi\table::existsInDatabase' => ['bool'], +'mysql_xdevapi\table::getName' => ['string'], +'mysql_xdevapi\table::getSchema' => ['mysql_xdevapi\Schema'], +'mysql_xdevapi\table::getSession' => ['mysql_xdevapi\Session'], +'mysql_xdevapi\table::insert' => ['mysql_xdevapi\TableInsert', 'columns'=>'mixed', '...args='=>'mixed'], +'mysql_xdevapi\table::isView' => ['bool'], +'mysql_xdevapi\table::select' => ['mysql_xdevapi\TableSelect', 'columns'=>'mixed', '...args='=>'mixed'], +'mysql_xdevapi\table::update' => ['mysql_xdevapi\TableUpdate'], +'mysql_xdevapi\tabledelete::bind' => ['mysql_xdevapi\TableDelete', 'placeholder_values'=>'array'], +'mysql_xdevapi\tabledelete::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\tabledelete::limit' => ['mysql_xdevapi\TableDelete', 'rows'=>'integer'], +'mysql_xdevapi\tabledelete::offset' => ['mysql_xdevapi\TableDelete', 'position'=>'integer'], +'mysql_xdevapi\tabledelete::orderby' => ['mysql_xdevapi\TableDelete', 'orderby_expr'=>'string'], +'mysql_xdevapi\tabledelete::where' => ['mysql_xdevapi\TableDelete', 'where_expr'=>'string'], +'mysql_xdevapi\tableinsert::execute' => ['mysql_xdevapi\Result'], +'mysql_xdevapi\tableinsert::values' => ['mysql_xdevapi\TableInsert', 'row_values'=>'array'], +'mysql_xdevapi\tableselect::bind' => ['mysql_xdevapi\TableSelect', 'placeholder_values'=>'array'], +'mysql_xdevapi\tableselect::execute' => ['mysql_xdevapi\RowResult'], +'mysql_xdevapi\tableselect::groupBy' => ['mysql_xdevapi\TableSelect', 'sort_expr'=>'mixed'], +'mysql_xdevapi\tableselect::having' => ['mysql_xdevapi\TableSelect', 'sort_expr'=>'string'], +'mysql_xdevapi\tableselect::limit' => ['mysql_xdevapi\TableSelect', 'rows'=>'integer'], +'mysql_xdevapi\tableselect::lockExclusive' => ['mysql_xdevapi\TableSelect', 'lock_waiting_option='=>'integer'], +'mysql_xdevapi\tableselect::lockShared' => ['mysql_xdevapi\TableSelect', 'lock_waiting_option='=>'integer'], +'mysql_xdevapi\tableselect::offset' => ['mysql_xdevapi\TableSelect', 'position'=>'integer'], +'mysql_xdevapi\tableselect::orderby' => ['mysql_xdevapi\TableSelect', 'sort_expr'=>'mixed', '...args='=>'mixed'], +'mysql_xdevapi\tableselect::where' => ['mysql_xdevapi\TableSelect', 'where_expr'=>'string'], +'mysql_xdevapi\tableupdate::bind' => ['mysql_xdevapi\TableUpdate', 'placeholder_values'=>'array'], +'mysql_xdevapi\tableupdate::execute' => ['mysql_xdevapi\TableUpdate'], +'mysql_xdevapi\tableupdate::limit' => ['mysql_xdevapi\TableUpdate', 'rows'=>'integer'], +'mysql_xdevapi\tableupdate::orderby' => ['mysql_xdevapi\TableUpdate', 'orderby_expr'=>'mixed', '...args='=>'mixed'], +'mysql_xdevapi\tableupdate::set' => ['mysql_xdevapi\TableUpdate', 'table_field'=>'string', 'expression_or_literal'=>'string'], +'mysql_xdevapi\tableupdate::where' => ['mysql_xdevapi\TableUpdate', 'where_expr'=>'string'], +'mysqli::__construct' => ['void', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], +'mysqli::autocommit' => ['bool', 'enable'=>'bool'], +'mysqli::begin_transaction' => ['bool', 'flags='=>'int', 'name='=>'?string'], +'mysqli::change_user' => ['bool', 'username'=>'string', 'password'=>'string', 'database'=>'?string'], +'mysqli::character_set_name' => ['string'], +'mysqli::close' => ['bool'], +'mysqli::commit' => ['bool', 'flags='=>'int', 'name='=>'?string'], +'mysqli::connect' => ['bool', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], +'mysqli::debug' => ['bool', 'options'=>'string'], +'mysqli::disable_reads_from_master' => ['bool'], +'mysqli::dump_debug_info' => ['bool'], +'mysqli::escape_string' => ['string', 'string'=>'string'], +'mysqli::execute_query' => ['mysqli_result|bool', 'query'=>'non-empty-string', 'params='=>'list|null'], +'mysqli::get_charset' => ['object'], +'mysqli::get_client_info' => ['string'], +'mysqli::get_connection_stats' => ['array'], +'mysqli::get_warnings' => ['mysqli_warning'], +'mysqli::init' => ['false|null'], +'mysqli::kill' => ['bool', 'process_id'=>'int'], +'mysqli::more_results' => ['bool'], +'mysqli::multi_query' => ['bool', 'query'=>'string'], +'mysqli::next_result' => ['bool'], +'mysqli::options' => ['bool', 'option'=>'int', 'value'=>'string|int'], +'mysqli::ping' => ['bool'], +'mysqli::poll' => ['int|false', '&w_read'=>'array', '&w_write'=>'array', '&w_error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'], +'mysqli::prepare' => ['mysqli_stmt|false', 'query'=>'string'], +'mysqli::query' => ['bool|mysqli_result', 'query'=>'string', 'result_mode='=>'int'], +'mysqli::real_connect' => ['bool', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null', 'flags='=>'int'], +'mysqli::real_escape_string' => ['string', 'string'=>'string'], +'mysqli::real_query' => ['bool', 'query'=>'string'], +'mysqli::reap_async_query' => ['mysqli_result|false'], +'mysqli::refresh' => ['bool', 'flags'=>'int'], +'mysqli::release_savepoint' => ['bool', 'name'=>'string'], +'mysqli::rollback' => ['bool', 'flags='=>'int', 'name='=>'?string'], +'mysqli::rpl_query_type' => ['int', 'query'=>'string'], +'mysqli::savepoint' => ['bool', 'name'=>'string'], +'mysqli::select_db' => ['bool', 'database'=>'string'], +'mysqli::send_query' => ['bool', 'query'=>'string'], +'mysqli::set_charset' => ['bool', 'charset'=>'string'], +'mysqli::set_local_infile_default' => ['void'], +'mysqli::set_local_infile_handler' => ['bool', 'read_func='=>'callable'], +'mysqli::set_opt' => ['bool', 'option'=>'int', 'value'=>'string|int'], +'mysqli::ssl_set' => ['bool', 'key'=>'?string', 'certificate'=>'?string', 'ca_certificate'=>'?string', 'ca_path'=>'?string', 'cipher_algos'=>'?string'], +'mysqli::stat' => ['string|false'], +'mysqli::stmt_init' => ['mysqli_stmt'], +'mysqli::store_result' => ['mysqli_result|false', 'mode='=>'int'], +'mysqli::thread_safe' => ['bool'], +'mysqli::use_result' => ['mysqli_result|false'], +'mysqli_affected_rows' => ['int<-1, max>|numeric-string', 'mysql'=>'mysqli'], +'mysqli_autocommit' => ['bool', 'mysql'=>'mysqli', 'enable'=>'bool'], +'mysqli_begin_transaction' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'], +'mysqli_change_user' => ['bool', 'mysql'=>'mysqli', 'username'=>'string', 'password'=>'string', 'database'=>'?string'], +'mysqli_character_set_name' => ['string', 'mysql'=>'mysqli'], +'mysqli_close' => ['true', 'mysql'=>'mysqli'], +'mysqli_commit' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'], +'mysqli_connect' => ['mysqli|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], +'mysqli_connect_errno' => ['int'], +'mysqli_connect_error' => ['?string'], +'mysqli_data_seek' => ['bool', 'result'=>'mysqli_result', 'offset'=>'int'], +'mysqli_debug' => ['true', 'options'=>'string'], +'mysqli_disable_reads_from_master' => ['bool', 'link'=>'mysqli'], +'mysqli_disable_rpl_parse' => ['bool', 'link'=>'mysqli'], +'mysqli_driver::embedded_server_end' => ['void'], +'mysqli_driver::embedded_server_start' => ['bool', 'start'=>'int', 'arguments'=>'array', 'groups'=>'array'], +'mysqli_dump_debug_info' => ['bool', 'mysql'=>'mysqli'], +'mysqli_embedded_server_end' => ['void'], +'mysqli_embedded_server_start' => ['bool', 'start'=>'int', 'arguments'=>'array', 'groups'=>'array'], +'mysqli_enable_reads_from_master' => ['bool', 'link'=>'mysqli'], +'mysqli_enable_rpl_parse' => ['bool', 'link'=>'mysqli'], +'mysqli_errno' => ['int', 'mysql'=>'mysqli'], +'mysqli_error' => ['string', 'mysql'=>'mysqli'], +'mysqli_error_list' => ['array', 'mysql'=>'mysqli'], +'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], +'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt', 'params='=>'list|null'], +'mysqli_execute_query' => ['mysqli_result|bool', 'mysql'=>'mysqli', 'query'=>'non-empty-string', 'params='=>'list|null'], +'mysqli_fetch_all' => ['list>', 'result'=>'mysqli_result', 'mode='=>'3'], +'mysqli_fetch_all\'1' => ['list>', 'result'=>'mysqli_result', 'mode='=>'1'], +'mysqli_fetch_all\'2' => ['list>', 'result'=>'mysqli_result', 'mode='=>'2'], +'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'3'], +'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'1'], +'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'2'], +'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], +'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'], +'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], +'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], +'mysqli_fetch_fields' => ['stdClass[]', 'result'=>'mysqli_result'], +'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], +'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], +'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], +'mysqli_field_count' => ['int', 'mysql'=>'mysqli'], +'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'], +'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'], +'mysqli_free_result' => ['void', 'result'=>'mysqli_result'], +'mysqli_get_cache_stats' => ['array|false'], +'mysqli_get_charset' => ['?object', 'mysql'=>'mysqli'], +'mysqli_get_client_info' => ['string', 'mysql='=>'?mysqli'], +'mysqli_get_client_stats' => ['array'], +'mysqli_get_client_version' => ['int', 'link'=>'mysqli'], +'mysqli_get_connection_stats' => ['array', 'mysql'=>'mysqli'], +'mysqli_get_host_info' => ['string', 'mysql'=>'mysqli'], +'mysqli_get_links_stats' => ['array'], +'mysqli_get_proto_info' => ['int', 'mysql'=>'mysqli'], +'mysqli_get_server_info' => ['string', 'mysql'=>'mysqli'], +'mysqli_get_server_version' => ['int', 'mysql'=>'mysqli'], +'mysqli_get_warnings' => ['mysqli_warning', 'mysql'=>'mysqli'], +'mysqli_info' => ['?string', 'mysql'=>'mysqli'], +'mysqli_init' => ['mysqli|false'], +'mysqli_insert_id' => ['int|string', 'mysql'=>'mysqli'], +'mysqli_kill' => ['bool', 'mysql'=>'mysqli', 'process_id'=>'int'], +'mysqli_link_construct' => ['object'], +'mysqli_master_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'], +'mysqli_more_results' => ['bool', 'mysql'=>'mysqli'], +'mysqli_multi_query' => ['bool', 'mysql'=>'mysqli', 'query'=>'string'], +'mysqli_next_result' => ['bool', 'mysql'=>'mysqli'], +'mysqli_num_fields' => ['int', 'result'=>'mysqli_result'], +'mysqli_num_rows' => ['int<0, max>|numeric-string', 'result'=>'mysqli_result'], +'mysqli_options' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'], +'mysqli_ping' => ['bool', 'mysql'=>'mysqli'], +'mysqli_poll' => ['int|false', 'read'=>'array', 'write'=>'array', 'error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'], +'mysqli_prepare' => ['mysqli_stmt|false', 'mysql'=>'mysqli', 'query'=>'string'], +'mysqli_query' => ['mysqli_result|bool', 'mysql'=>'mysqli', 'query'=>'string', 'result_mode='=>'int'], +'mysqli_real_connect' => ['bool', 'mysql='=>'mysqli', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null', 'flags='=>'int'], +'mysqli_real_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], +'mysqli_real_query' => ['bool', 'mysql'=>'mysqli', 'query'=>'string'], +'mysqli_reap_async_query' => ['mysqli_result|false', 'mysql'=>'mysqli'], +'mysqli_refresh' => ['bool', 'mysql'=>'mysqli', 'flags'=>'int'], +'mysqli_release_savepoint' => ['bool', 'mysql'=>'mysqli', 'name'=>'string'], +'mysqli_report' => ['bool', 'flags'=>'int'], +'mysqli_result::__construct' => ['void', 'mysql'=>'mysqli', 'result_mode='=>'int'], +'mysqli_result::close' => ['void'], +'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], +'mysqli_result::fetch_all' => ['list>', 'mode='=>'3'], +'mysqli_result::fetch_all\'1' => ['list>', 'mode='=>'1'], +'mysqli_result::fetch_all\'2' => ['list>', 'mode='=>'2'], +'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'3'], +'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'1'], +'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'2'], +'mysqli_result::fetch_assoc' => ['array|false|null'], +'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'], +'mysqli_result::fetch_field' => ['object|false'], +'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], +'mysqli_result::fetch_fields' => ['stdClass[]'], +'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], +'mysqli_result::fetch_row' => ['list|false|null'], +'mysqli_result::field_seek' => ['bool', 'index'=>'int'], +'mysqli_result::free' => ['void'], +'mysqli_result::free_result' => ['void'], +'mysqli_rollback' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'], +'mysqli_rpl_parse_enabled' => ['int', 'link'=>'mysqli'], +'mysqli_rpl_probe' => ['bool', 'link'=>'mysqli'], +'mysqli_rpl_query_type' => ['int', 'link'=>'mysqli', 'query'=>'string'], +'mysqli_savepoint' => ['bool', 'mysql'=>'mysqli', 'name'=>'string'], +'mysqli_savepoint_libmysql' => ['bool'], +'mysqli_select_db' => ['bool', 'mysql'=>'mysqli', 'database'=>'string'], +'mysqli_send_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'], +'mysqli_set_charset' => ['bool', 'mysql'=>'mysqli', 'charset'=>'string'], +'mysqli_set_local_infile_default' => ['void', 'link'=>'mysqli'], +'mysqli_set_local_infile_handler' => ['bool', 'link'=>'mysqli', 'read_func'=>'callable'], +'mysqli_set_opt' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'], +'mysqli_slave_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'], +'mysqli_sqlstate' => ['string', 'mysql'=>'mysqli'], +'mysqli_ssl_set' => ['true', 'mysql'=>'mysqli', 'key'=>'?string', 'certificate'=>'?string', 'ca_certificate'=>'?string', 'ca_path'=>'?string', 'cipher_algos'=>'?string'], +'mysqli_stat' => ['string|false', 'mysql'=>'mysqli'], +'mysqli_stmt::__construct' => ['void', 'mysql'=>'mysqli', 'query'=>'string'], +'mysqli_stmt::attr_get' => ['int', 'attribute'=>'int'], +'mysqli_stmt::attr_set' => ['bool', 'attribute'=>'int', 'value'=>'int'], +'mysqli_stmt::bind_param' => ['bool', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'], +'mysqli_stmt::bind_result' => ['bool', '&w_var1'=>'', '&...w_vars='=>''], +'mysqli_stmt::close' => ['bool'], +'mysqli_stmt::data_seek' => ['void', 'offset'=>'int'], +'mysqli_stmt::execute' => ['bool', 'params='=>'list|null'], +'mysqli_stmt::fetch' => ['bool|null'], +'mysqli_stmt::free_result' => ['void'], +'mysqli_stmt::get_result' => ['mysqli_result|false'], +'mysqli_stmt::get_warnings' => ['object'], +'mysqli_stmt::more_results' => ['bool'], +'mysqli_stmt::next_result' => ['bool'], +'mysqli_stmt::num_rows' => ['int<0, max>|numeric-string'], +'mysqli_stmt::prepare' => ['bool', 'query'=>'string'], +'mysqli_stmt::reset' => ['bool'], +'mysqli_stmt::result_metadata' => ['mysqli_result|false'], +'mysqli_stmt::send_long_data' => ['bool', 'param_num'=>'int', 'data'=>'string'], +'mysqli_stmt::store_result' => ['bool'], +'mysqli_stmt_affected_rows' => ['int<-1, max>|numeric-string', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_attr_get' => ['int', 'statement'=>'mysqli_stmt', 'attribute'=>'int'], +'mysqli_stmt_attr_set' => ['bool', 'statement'=>'mysqli_stmt', 'attribute'=>'int', 'value'=>'int'], +'mysqli_stmt_bind_param' => ['bool', 'statement'=>'mysqli_stmt', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'], +'mysqli_stmt_bind_result' => ['bool', 'statement'=>'mysqli_stmt', '&w_var1'=>'', '&...w_vars='=>''], +'mysqli_stmt_close' => ['true', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_data_seek' => ['void', 'statement'=>'mysqli_stmt', 'offset'=>'int'], +'mysqli_stmt_errno' => ['int', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_error' => ['string', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_error_list' => ['array', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_execute' => ['bool', 'statement'=>'mysqli_stmt', 'params='=>'list|null'], +'mysqli_stmt_fetch' => ['bool|null', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_field_count' => ['int', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_free_result' => ['void', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_get_result' => ['mysqli_result|false', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_get_warnings' => ['object', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_init' => ['mysqli_stmt', 'mysql'=>'mysqli'], +'mysqli_stmt_insert_id' => ['mixed', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_more_results' => ['bool', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_next_result' => ['bool', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_num_rows' => ['int', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_param_count' => ['int', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_prepare' => ['bool', 'statement'=>'mysqli_stmt', 'query'=>'string'], +'mysqli_stmt_reset' => ['bool', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_result_metadata' => ['mysqli_result|false', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_send_long_data' => ['bool', 'statement'=>'mysqli_stmt', 'param_num'=>'int', 'data'=>'string'], +'mysqli_stmt_sqlstate' => ['string', 'statement'=>'mysqli_stmt'], +'mysqli_stmt_store_result' => ['bool', 'statement'=>'mysqli_stmt'], +'mysqli_store_result' => ['mysqli_result|false', 'mysql'=>'mysqli', 'mode='=>'int'], +'mysqli_thread_id' => ['int', 'mysql'=>'mysqli'], +'mysqli_thread_safe' => ['bool'], +'mysqli_use_result' => ['mysqli_result|false', 'mysql'=>'mysqli'], +'mysqli_warning::__construct' => ['void'], +'mysqli_warning::next' => ['bool'], +'mysqli_warning_count' => ['int', 'mysql'=>'mysqli'], +'mysqlnd_memcache_get_config' => ['array', 'connection'=>'mixed'], +'mysqlnd_memcache_set' => ['bool', 'mysql_connection'=>'mixed', 'memcache_connection='=>'Memcached', 'pattern='=>'string', 'callback='=>'callable'], +'mysqlnd_ms_dump_servers' => ['array', 'connection'=>'mixed'], +'mysqlnd_ms_fabric_select_global' => ['array', 'connection'=>'mixed', 'table_name'=>'mixed'], +'mysqlnd_ms_fabric_select_shard' => ['array', 'connection'=>'mixed', 'table_name'=>'mixed', 'shard_key'=>'mixed'], +'mysqlnd_ms_get_last_gtid' => ['string', 'connection'=>'mixed'], +'mysqlnd_ms_get_last_used_connection' => ['array', 'connection'=>'mixed'], +'mysqlnd_ms_get_stats' => ['array'], +'mysqlnd_ms_match_wild' => ['bool', 'table_name'=>'string', 'wildcard'=>'string'], +'mysqlnd_ms_query_is_select' => ['int', 'query'=>'string'], +'mysqlnd_ms_set_qos' => ['bool', 'connection'=>'mixed', 'service_level'=>'int', 'service_level_option='=>'int', 'option_value='=>'mixed'], +'mysqlnd_ms_set_user_pick_server' => ['bool', 'function'=>'string'], +'mysqlnd_ms_xa_begin' => ['int', 'connection'=>'mixed', 'gtrid'=>'string', 'timeout='=>'int'], +'mysqlnd_ms_xa_commit' => ['int', 'connection'=>'mixed', 'gtrid'=>'string'], +'mysqlnd_ms_xa_gc' => ['int', 'connection'=>'mixed', 'gtrid='=>'string', 'ignore_max_retries='=>'bool'], +'mysqlnd_ms_xa_rollback' => ['int', 'connection'=>'mixed', 'gtrid'=>'string'], +'mysqlnd_qc_change_handler' => ['bool', 'handler'=>''], +'mysqlnd_qc_clear_cache' => ['bool'], +'mysqlnd_qc_get_available_handlers' => ['array'], +'mysqlnd_qc_get_cache_info' => ['array'], +'mysqlnd_qc_get_core_stats' => ['array'], +'mysqlnd_qc_get_handler' => ['array'], +'mysqlnd_qc_get_normalized_query_trace_log' => ['array'], +'mysqlnd_qc_get_query_trace_log' => ['array'], +'mysqlnd_qc_set_cache_condition' => ['bool', 'condition_type'=>'int', 'condition'=>'mixed', 'condition_option'=>'mixed'], +'mysqlnd_qc_set_is_select' => ['mixed', 'callback'=>'string'], +'mysqlnd_qc_set_storage_handler' => ['bool', 'handler'=>'string'], +'mysqlnd_qc_set_user_handlers' => ['bool', 'get_hash'=>'string', 'find_query_in_cache'=>'string', 'return_to_cache'=>'string', 'add_query_to_cache_if_not_exists'=>'string', 'query_is_select'=>'string', 'update_query_run_time_stats'=>'string', 'get_stats'=>'string', 'clear_cache'=>'string'], +'mysqlnd_uh_convert_to_mysqlnd' => ['resource', '&rw_mysql_connection'=>'mysqli'], +'mysqlnd_uh_set_connection_proxy' => ['bool', '&rw_connection_proxy'=>'MysqlndUhConnection', '&rw_mysqli_connection='=>'mysqli'], +'mysqlnd_uh_set_statement_proxy' => ['bool', '&rw_statement_proxy'=>'MysqlndUhStatement'], +'MysqlndUhConnection::__construct' => ['void'], +'MysqlndUhConnection::changeUser' => ['bool', 'connection'=>'mysqlnd_connection', 'user'=>'string', 'password'=>'string', 'database'=>'string', 'silent'=>'bool', 'passwd_len'=>'int'], +'MysqlndUhConnection::charsetName' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::close' => ['bool', 'connection'=>'mysqlnd_connection', 'close_type'=>'int'], +'MysqlndUhConnection::connect' => ['bool', 'connection'=>'mysqlnd_connection', 'host'=>'string', 'use'=>'string', 'password'=>'string', 'database'=>'string', 'port'=>'int', 'socket'=>'string', 'mysql_flags'=>'int'], +'MysqlndUhConnection::endPSession' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::escapeString' => ['string', 'connection'=>'mysqlnd_connection', 'escape_string'=>'string'], +'MysqlndUhConnection::getAffectedRows' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getErrorNumber' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getErrorString' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getFieldCount' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getHostInformation' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getLastInsertId' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getLastMessage' => ['void', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getProtocolInformation' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getServerInformation' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getServerStatistics' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getServerVersion' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getSqlstate' => ['string', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getStatistics' => ['array', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getThreadId' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::getWarningCount' => ['int', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::init' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::killConnection' => ['bool', 'connection'=>'mysqlnd_connection', 'pid'=>'int'], +'MysqlndUhConnection::listFields' => ['array', 'connection'=>'mysqlnd_connection', 'table'=>'string', 'achtung_wild'=>'string'], +'MysqlndUhConnection::listMethod' => ['void', 'connection'=>'mysqlnd_connection', 'query'=>'string', 'achtung_wild'=>'string', 'par1'=>'string'], +'MysqlndUhConnection::moreResults' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::nextResult' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::ping' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::query' => ['bool', 'connection'=>'mysqlnd_connection', 'query'=>'string'], +'MysqlndUhConnection::queryReadResultsetHeader' => ['bool', 'connection'=>'mysqlnd_connection', 'mysqlnd_stmt'=>'mysqlnd_statement'], +'MysqlndUhConnection::reapQuery' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::refreshServer' => ['bool', 'connection'=>'mysqlnd_connection', 'options'=>'int'], +'MysqlndUhConnection::restartPSession' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::selectDb' => ['bool', 'connection'=>'mysqlnd_connection', 'database'=>'string'], +'MysqlndUhConnection::sendClose' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::sendQuery' => ['bool', 'connection'=>'mysqlnd_connection', 'query'=>'string'], +'MysqlndUhConnection::serverDumpDebugInformation' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::setAutocommit' => ['bool', 'connection'=>'mysqlnd_connection', 'mode'=>'int'], +'MysqlndUhConnection::setCharset' => ['bool', 'connection'=>'mysqlnd_connection', 'charset'=>'string'], +'MysqlndUhConnection::setClientOption' => ['bool', 'connection'=>'mysqlnd_connection', 'option'=>'int', 'value'=>'int'], +'MysqlndUhConnection::setServerOption' => ['void', 'connection'=>'mysqlnd_connection', 'option'=>'int'], +'MysqlndUhConnection::shutdownServer' => ['void', 'MYSQLND_UH_RES_MYSQLND_NAME'=>'string', 'level'=>'string'], +'MysqlndUhConnection::simpleCommand' => ['bool', 'connection'=>'mysqlnd_connection', 'command'=>'int', 'arg'=>'string', 'ok_packet'=>'int', 'silent'=>'bool', 'ignore_upsert_status'=>'bool'], +'MysqlndUhConnection::simpleCommandHandleResponse' => ['bool', 'connection'=>'mysqlnd_connection', 'ok_packet'=>'int', 'silent'=>'bool', 'command'=>'int', 'ignore_upsert_status'=>'bool'], +'MysqlndUhConnection::sslSet' => ['bool', 'connection'=>'mysqlnd_connection', 'key'=>'string', 'cert'=>'string', 'ca'=>'string', 'capath'=>'string', 'cipher'=>'string'], +'MysqlndUhConnection::stmtInit' => ['resource', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::storeResult' => ['resource', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::txCommit' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::txRollback' => ['bool', 'connection'=>'mysqlnd_connection'], +'MysqlndUhConnection::useResult' => ['resource', 'connection'=>'mysqlnd_connection'], +'MysqlndUhPreparedStatement::__construct' => ['void'], +'MysqlndUhPreparedStatement::execute' => ['bool', 'statement'=>'mysqlnd_prepared_statement'], +'MysqlndUhPreparedStatement::prepare' => ['bool', 'statement'=>'mysqlnd_prepared_statement', 'query'=>'string'], +'natcasesort' => ['bool', '&rw_array'=>'array'], +'natsort' => ['bool', '&rw_array'=>'array'], +'net_get_interfaces' => ['array>|false'], +'newrelic_add_custom_parameter' => ['bool', 'key'=>'string', 'value'=>'bool|float|int|string'], +'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' => ['true'], +'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|Throwable'], +'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_record_datastore_segment' => ['mixed', 'func'=>'callable', 'parameters'=>'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'], +'next' => ['mixed', '&r_array'=>'array|object'], +'ngettext' => ['string', 'singular'=>'string', 'plural'=>'string', 'count'=>'int'], +'nl2br' => ['string', 'string'=>'string', 'use_xhtml='=>'bool'], +'nl_langinfo' => ['string|false', 'item'=>'int'], +'NoRewindIterator::__construct' => ['void', 'iterator'=>'Iterator'], +'NoRewindIterator::current' => ['mixed'], +'NoRewindIterator::getInnerIterator' => ['Iterator'], +'NoRewindIterator::key' => ['mixed'], +'NoRewindIterator::next' => ['void'], +'NoRewindIterator::rewind' => ['void'], +'NoRewindIterator::valid' => ['bool'], +'Normalizer::getRawDecomposition' => ['?string', 'string'=>'string', 'form='=>'int'], +'Normalizer::isNormalized' => ['bool', 'string'=>'string', 'form='=>'int'], +'Normalizer::normalize' => ['string|false', 'string'=>'string', 'form='=>'int'], +'normalizer_get_raw_decomposition' => ['string|null', 'string'=>'string', 'form='=>'int'], +'normalizer_is_normalized' => ['bool', 'string'=>'string', 'form='=>'int'], +'normalizer_normalize' => ['string|false', 'string'=>'string', 'form='=>'int'], +'notes_body' => ['array', 'server'=>'string', 'mailbox'=>'string', 'msg_number'=>'int'], +'notes_copy_db' => ['bool', 'from_database_name'=>'string', 'to_database_name'=>'string'], +'notes_create_db' => ['bool', 'database_name'=>'string'], +'notes_create_note' => ['bool', 'database_name'=>'string', 'form_name'=>'string'], +'notes_drop_db' => ['bool', 'database_name'=>'string'], +'notes_find_note' => ['int', 'database_name'=>'string', 'name'=>'string', 'type='=>'string'], +'notes_header_info' => ['object', 'server'=>'string', 'mailbox'=>'string', 'msg_number'=>'int'], +'notes_list_msgs' => ['bool', 'db'=>'string'], +'notes_mark_read' => ['bool', 'database_name'=>'string', 'user_name'=>'string', 'note_id'=>'string'], +'notes_mark_unread' => ['bool', 'database_name'=>'string', 'user_name'=>'string', 'note_id'=>'string'], +'notes_nav_create' => ['bool', 'database_name'=>'string', 'name'=>'string'], +'notes_search' => ['array', 'database_name'=>'string', 'keywords'=>'string'], +'notes_unread' => ['array', 'database_name'=>'string', 'user_name'=>'string'], +'notes_version' => ['float', 'database_name'=>'string'], +'nsapi_request_headers' => ['array'], +'nsapi_response_headers' => ['array'], +'nsapi_virtual' => ['bool', 'uri'=>'string'], +'nthmac' => ['string', 'clent'=>'string', 'data'=>'string'], +'number_format' => ['string', 'num'=>'float|int', 'decimals='=>'int', 'decimal_separator='=>'?string', 'thousands_separator='=>'?string'], +'NumberFormatter::__construct' => ['void', 'locale'=>'string', 'style'=>'int', 'pattern='=>'?string'], +'NumberFormatter::create' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'?string'], +'NumberFormatter::format' => ['string|false', 'num'=>'', 'type='=>'int'], +'NumberFormatter::formatCurrency' => ['string|false', 'num'=>'float', 'currency'=>'string'], +'NumberFormatter::getAttribute' => ['int|false', 'attr'=>'int'], +'NumberFormatter::getErrorCode' => ['int'], +'NumberFormatter::getErrorMessage' => ['string'], +'NumberFormatter::getLocale' => ['string', 'type='=>'int'], +'NumberFormatter::getPattern' => ['string|false'], +'NumberFormatter::getSymbol' => ['string|false', 'attr'=>'int'], +'NumberFormatter::getTextAttribute' => ['string|false', 'attr'=>'int'], +'NumberFormatter::parse' => ['float|false', 'string'=>'string', 'type='=>'int', '&rw_position='=>'int'], +'NumberFormatter::parseCurrency' => ['float|false', 'string'=>'string', '&w_currency'=>'string', '&rw_position='=>'int'], +'NumberFormatter::setAttribute' => ['bool', 'attr'=>'int', 'value'=>''], +'NumberFormatter::setPattern' => ['bool', 'pattern'=>'string'], +'NumberFormatter::setSymbol' => ['bool', 'attr'=>'int', 'symbol'=>'string'], +'NumberFormatter::setTextAttribute' => ['bool', 'attr'=>'int', 'value'=>'string'], +'numfmt_create' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'?string'], +'numfmt_format' => ['string|false', 'formatter'=>'NumberFormatter', 'num'=>'int|float', 'type='=>'int'], +'numfmt_format_currency' => ['string|false', 'formatter'=>'NumberFormatter', 'amount'=>'float', 'currency'=>'string'], +'numfmt_get_attribute' => ['int|false', 'formatter'=>'NumberFormatter', 'attribute'=>'int'], +'numfmt_get_error_code' => ['int', 'formatter'=>'NumberFormatter'], +'numfmt_get_error_message' => ['string', 'formatter'=>'NumberFormatter'], +'numfmt_get_locale' => ['string', 'formatter'=>'NumberFormatter', 'type='=>'int'], +'numfmt_get_pattern' => ['string|false', 'formatter'=>'NumberFormatter'], +'numfmt_get_symbol' => ['string|false', 'formatter'=>'NumberFormatter', 'symbol'=>'int'], +'numfmt_get_text_attribute' => ['string|false', 'formatter'=>'NumberFormatter', 'attribute'=>'int'], +'numfmt_parse' => ['float|int|false', 'formatter'=>'NumberFormatter', 'string'=>'string', 'type='=>'int', '&rw_offset='=>'int'], +'numfmt_parse_currency' => ['float|false', 'formatter'=>'NumberFormatter', 'string'=>'string', '&w_currency'=>'string', '&rw_offset='=>'int'], +'numfmt_set_attribute' => ['bool', 'formatter'=>'NumberFormatter', 'attribute'=>'int', 'value'=>'int'], +'numfmt_set_pattern' => ['bool', 'formatter'=>'NumberFormatter', 'pattern'=>'string'], +'numfmt_set_symbol' => ['bool', 'formatter'=>'NumberFormatter', 'symbol'=>'int', 'value'=>'string'], +'numfmt_set_text_attribute' => ['bool', 'formatter'=>'NumberFormatter', 'attribute'=>'int', 'value'=>'string'], +'OAuth::__construct' => ['void', 'consumer_key'=>'string', 'consumer_secret'=>'string', 'signature_method='=>'string', 'auth_type='=>'int'], +'OAuth::disableDebug' => ['bool'], +'OAuth::disableRedirects' => ['bool'], +'OAuth::disableSSLChecks' => ['bool'], +'OAuth::enableDebug' => ['bool'], +'OAuth::enableRedirects' => ['bool'], +'OAuth::enableSSLChecks' => ['bool'], +'OAuth::fetch' => ['mixed', 'protected_resource_url'=>'string', 'extra_parameters='=>'array', 'http_method='=>'string', 'http_headers='=>'array'], +'OAuth::generateSignature' => ['string', 'http_method'=>'string', 'url'=>'string', 'extra_parameters='=>'mixed'], +'OAuth::getAccessToken' => ['array|false', 'access_token_url'=>'string', 'auth_session_handle='=>'string', 'verifier_token='=>'string', 'http_method='=>'string'], +'OAuth::getCAPath' => ['array'], +'OAuth::getLastResponse' => ['string'], +'OAuth::getLastResponseHeaders' => ['string|false'], +'OAuth::getLastResponseInfo' => ['array'], +'OAuth::getRequestHeader' => ['string|false', 'http_method'=>'string', 'url'=>'string', 'extra_parameters='=>'mixed'], +'OAuth::getRequestToken' => ['array|false', 'request_token_url'=>'string', 'callback_url='=>'string', 'http_method='=>'string'], +'OAuth::setAuthType' => ['bool', 'auth_type'=>'int'], +'OAuth::setCAPath' => ['mixed', 'ca_path='=>'string', 'ca_info='=>'string'], +'OAuth::setNonce' => ['mixed', 'nonce'=>'string'], +'OAuth::setRequestEngine' => ['void', 'reqengine'=>'int'], +'OAuth::setRSACertificate' => ['mixed', 'cert'=>'string'], +'OAuth::setSSLChecks' => ['bool', 'sslcheck'=>'int'], +'OAuth::setTimeout' => ['void', 'timeout'=>'int'], +'OAuth::setTimestamp' => ['mixed', 'timestamp'=>'string'], +'OAuth::setToken' => ['bool', 'token'=>'string', 'token_secret'=>'string'], +'OAuth::setVersion' => ['bool', 'version'=>'string'], +'oauth_get_sbs' => ['string', 'http_method'=>'string', 'uri'=>'string', 'parameters'=>'array'], +'oauth_urlencode' => ['string', 'uri'=>'string'], +'OAuthProvider::__construct' => ['void', 'params_array='=>'array'], +'OAuthProvider::addRequiredParameter' => ['bool', 'req_params'=>'string'], +'OAuthProvider::callconsumerHandler' => ['void'], +'OAuthProvider::callTimestampNonceHandler' => ['void'], +'OAuthProvider::calltokenHandler' => ['void'], +'OAuthProvider::checkOAuthRequest' => ['void', 'uri='=>'string', 'method='=>'string'], +'OAuthProvider::consumerHandler' => ['void', 'callback_function'=>'callable'], +'OAuthProvider::generateToken' => ['string', 'size'=>'int', 'strong='=>'bool'], +'OAuthProvider::is2LeggedEndpoint' => ['void', 'params_array'=>'mixed'], +'OAuthProvider::isRequestTokenEndpoint' => ['void', 'will_issue_request_token'=>'bool'], +'OAuthProvider::removeRequiredParameter' => ['bool', 'req_params'=>'string'], +'OAuthProvider::reportProblem' => ['string', 'oauthexception'=>'string', 'send_headers='=>'bool'], +'OAuthProvider::setParam' => ['bool', 'param_key'=>'string', 'param_val='=>'mixed'], +'OAuthProvider::setRequestTokenPath' => ['bool', 'path'=>'string'], +'OAuthProvider::timestampNonceHandler' => ['void', 'callback_function'=>'callable'], +'OAuthProvider::tokenHandler' => ['void', 'callback_function'=>'callable'], +'ob_clean' => ['bool'], +'ob_deflatehandler' => ['string', 'data'=>'string', 'mode'=>'int'], +'ob_end_clean' => ['bool'], +'ob_end_flush' => ['bool'], +'ob_etaghandler' => ['string', 'data'=>'string', 'mode'=>'int'], +'ob_flush' => ['bool'], +'ob_get_clean' => ['string|false'], +'ob_get_contents' => ['string|false'], +'ob_get_flush' => ['string|false'], +'ob_get_length' => ['int|false'], +'ob_get_level' => ['int'], +'ob_get_status' => ['array', 'full_status='=>'bool'], +'ob_gzhandler' => ['string|false', 'data'=>'string', 'flags'=>'int'], +'ob_iconv_handler' => ['string', 'contents'=>'string', 'status'=>'int'], +'ob_implicit_flush' => ['void', 'enable='=>'bool'], +'ob_inflatehandler' => ['string', 'data'=>'string', 'mode'=>'int'], +'ob_list_handlers' => ['list'], +'ob_start' => ['bool', 'callback='=>'string|array|?callable', 'chunk_size='=>'int', 'flags='=>'int'], +'ob_tidyhandler' => ['string', 'input'=>'string', 'mode='=>'int'], +'oci_bind_array_by_name' => ['bool', 'statement'=>'resource', 'param'=>'string', '&rw_var'=>'array', 'max_array_length'=>'int', 'max_item_length='=>'int', 'type='=>'int'], +'oci_bind_by_name' => ['bool', 'statement'=>'resource', 'param'=>'string', '&rw_var'=>'mixed', 'max_length='=>'int', 'type='=>'int'], +'oci_cancel' => ['bool', 'statement'=>'resource'], +'oci_client_version' => ['string'], +'oci_close' => ['bool', 'connection'=>'resource'], +'OCICollection::append' => ['bool', 'value'=>'mixed'], +'OCICollection::assign' => ['bool', 'from'=>'OCI_Collection'], +'OCICollection::assignElem' => ['bool', 'index'=>'int', 'value'=>'mixed'], +'OCICollection::free' => ['bool'], +'OCICollection::getElem' => ['mixed', 'index'=>'int'], +'OCICollection::max' => ['int|false'], +'OCICollection::size' => ['int|false'], +'OCICollection::trim' => ['bool', 'num'=>'int'], +'oci_collection_append' => ['bool', 'collection'=>'string'], +'oci_collection_assign' => ['bool', 'to'=>'object'], +'oci_collection_element_assign' => ['bool', 'collection'=>'int', 'index'=>'string'], +'oci_collection_element_get' => ['string', 'collection'=>'int'], +'oci_collection_max' => ['int'], +'oci_collection_size' => ['int'], +'oci_collection_trim' => ['bool', 'collection'=>'int'], +'oci_commit' => ['bool', 'connection'=>'resource'], +'oci_connect' => ['resource|false', 'username'=>'string', 'password'=>'string', 'connection_string='=>'string', 'encoding='=>'string', 'session_mode='=>'int'], +'oci_define_by_name' => ['bool', 'statement'=>'resource', 'column'=>'string', '&w_var'=>'mixed', 'type='=>'int'], +'oci_error' => ['array|false', 'connection_or_statement='=>'resource'], +'oci_execute' => ['bool', 'statement'=>'resource', 'mode='=>'int'], +'oci_fetch' => ['bool', 'statement'=>'resource'], +'oci_fetch_all' => ['int|false', 'statement'=>'resource', '&w_output'=>'array', 'offset='=>'int', 'limit='=>'int', 'flags='=>'int'], +'oci_fetch_array' => ['array|false', 'statement'=>'resource', 'mode='=>'int'], +'oci_fetch_assoc' => ['array|false', 'statement'=>'resource'], +'oci_fetch_object' => ['object|false', 'statement'=>'resource'], +'oci_fetch_row' => ['array|false', 'statement'=>'resource'], +'oci_field_is_null' => ['bool', 'statement'=>'resource', 'column'=>'mixed'], +'oci_field_name' => ['string|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_field_precision' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_field_scale' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_field_size' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_field_type' => ['mixed|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_field_type_raw' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_free_collection' => ['bool'], +'oci_free_cursor' => ['bool', 'statement'=>'resource'], +'oci_free_descriptor' => ['bool'], +'oci_free_statement' => ['bool', 'statement'=>'resource'], +'oci_get_implicit' => ['bool', 'stmt'=>''], +'oci_get_implicit_resultset' => ['resource|false', 'statement'=>'resource'], +'oci_internal_debug' => ['void', 'onoff'=>'bool'], +'OCILob::append' => ['bool', 'lob_from'=>'OCILob'], +'OCILob::close' => ['bool'], +'OCILob::eof' => ['bool'], +'OCILob::erase' => ['int|false', 'offset='=>'int', 'length='=>'int'], +'OCILob::export' => ['bool', 'filename'=>'string', 'start='=>'int', 'length='=>'int'], +'OCILob::flush' => ['bool', 'flag='=>'int'], +'OCILob::free' => ['bool'], +'OCILob::getbuffering' => ['bool'], +'OCILob::import' => ['bool', 'filename'=>'string'], +'OCILob::load' => ['string|false'], +'OCILob::read' => ['string|false', 'length'=>'int'], +'OCILob::rewind' => ['bool'], +'OCILob::save' => ['bool', 'data'=>'string', 'offset='=>'int'], +'OCILob::savefile' => ['bool', 'filename'=>''], +'OCILob::seek' => ['bool', 'offset'=>'int', 'whence='=>'int'], +'OCILob::setbuffering' => ['bool', 'on_off'=>'bool'], +'OCILob::size' => ['int|false'], +'OCILob::tell' => ['int|false'], +'OCILob::truncate' => ['bool', 'length='=>'int'], +'OCILob::write' => ['int|false', 'data'=>'string', 'length='=>'int'], +'OCILob::writeTemporary' => ['bool', 'data'=>'string', 'lob_type='=>'int'], +'OCILob::writetofile' => ['bool', 'filename'=>'', 'start'=>'', 'length'=>''], +'oci_lob_append' => ['bool', 'to'=>'object'], +'oci_lob_close' => ['bool'], +'oci_lob_copy' => ['bool', 'to'=>'OCILob', 'from'=>'OCILob', 'length='=>'int'], +'oci_lob_eof' => ['bool'], +'oci_lob_erase' => ['int', 'lob'=>'int', 'offset'=>'int'], +'oci_lob_export' => ['bool', 'lob'=>'string', 'filename'=>'int', 'offset'=>'int'], +'oci_lob_flush' => ['bool', 'lob'=>'int'], +'oci_lob_import' => ['bool', 'lob'=>'string'], +'oci_lob_is_equal' => ['bool', 'lob1'=>'OCILob', 'lob2'=>'OCILob'], +'oci_lob_load' => ['string'], +'oci_lob_read' => ['string', 'lob'=>'int'], +'oci_lob_rewind' => ['bool'], +'oci_lob_save' => ['bool', 'lob'=>'string', 'data'=>'int'], +'oci_lob_seek' => ['bool', 'lob'=>'int', 'offset'=>'int'], +'oci_lob_size' => ['int'], +'oci_lob_tell' => ['int'], +'oci_lob_truncate' => ['bool', 'lob'=>'int'], +'oci_lob_write' => ['int', 'lob'=>'string', 'data'=>'int'], +'oci_lob_write_temporary' => ['bool', 'value'=>'string', 'lob_type'=>'int'], +'oci_new_collection' => ['OCICollection|false', 'connection'=>'resource', 'type_name'=>'string', 'schema='=>'string'], +'oci_new_connect' => ['resource|false', 'username'=>'string', 'password'=>'string', 'connection_string='=>'string', 'encoding='=>'string', 'session_mode='=>'int'], +'oci_new_cursor' => ['resource|false', 'connection'=>'resource'], +'oci_new_descriptor' => ['OCILob|false', 'connection'=>'resource', 'type='=>'int'], +'oci_num_fields' => ['int|false', 'statement'=>'resource'], +'oci_num_rows' => ['int|false', 'statement'=>'resource'], +'oci_parse' => ['resource|false', 'connection'=>'resource', 'sql'=>'string'], +'oci_password_change' => ['bool', 'connection'=>'resource', 'username'=>'string', 'old_password'=>'string', 'new_password'=>'string'], +'oci_pconnect' => ['resource|false', 'username'=>'string', 'password'=>'string', 'connection_string='=>'string', 'encoding='=>'string', 'session_mode='=>'int'], +'oci_register_taf_callback' => ['bool', 'connection'=>'resource', 'callback='=>'callable'], +'oci_result' => ['mixed|false', 'statement'=>'resource', 'column'=>'mixed'], +'oci_rollback' => ['bool', 'connection'=>'resource'], +'oci_server_version' => ['string|false', 'connection'=>'resource'], +'oci_set_action' => ['bool', 'connection'=>'resource', 'action'=>'string'], +'oci_set_call_timeout' => ['bool', 'connection'=>'resource', 'timeout'=>'int'], +'oci_set_client_identifier' => ['bool', 'connection'=>'resource', 'client_id'=>'string'], +'oci_set_client_info' => ['bool', 'connection'=>'resource', 'client_info'=>'string'], +'oci_set_db_operation' => ['bool', 'connection'=>'resource', 'action'=>'string'], +'oci_set_edition' => ['bool', 'edition'=>'string'], +'oci_set_module_name' => ['bool', 'connection'=>'resource', 'name'=>'string'], +'oci_set_prefetch' => ['bool', 'statement'=>'resource', 'rows'=>'int'], +'oci_statement_type' => ['string|false', 'statement'=>'resource'], +'oci_unregister_taf_callback' => ['bool', 'connection'=>'resource'], +'ocifetchinto' => ['int|bool', 'statement'=>'resource', '&w_result'=>'array', 'mode='=>'int'], +'ocigetbufferinglob' => ['bool'], +'ocisetbufferinglob' => ['bool', 'lob'=>'bool'], +'octdec' => ['int|float', 'octal_string'=>'string'], +'odbc_autocommit' => ['int|bool', 'odbc'=>'resource', 'enable='=>'bool'], +'odbc_binmode' => ['bool', 'statement'=>'resource', 'mode'=>'int'], +'odbc_close' => ['void', 'odbc'=>'resource'], +'odbc_close_all' => ['void'], +'odbc_columnprivileges' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string', 'column'=>'string'], +'odbc_columns' => ['resource|false', 'odbc'=>'resource', 'catalog='=>'?string', 'schema='=>'?string', 'table='=>'?string', 'column='=>'?string'], +'odbc_commit' => ['bool', 'odbc'=>'resource'], +'odbc_connect' => ['resource|false', 'dsn'=>'string', 'user'=>'string', 'password'=>'string', 'cursor_option='=>'int'], +'odbc_cursor' => ['string', 'statement'=>'resource'], +'odbc_data_source' => ['array|false', 'odbc'=>'resource', 'fetch_type'=>'int'], +'odbc_do' => ['resource', 'odbc'=>'resource', 'query'=>'string'], +'odbc_error' => ['string', 'odbc='=>'resource'], +'odbc_errormsg' => ['string', 'odbc='=>'resource'], +'odbc_exec' => ['resource', 'odbc'=>'resource', 'query'=>'string'], +'odbc_execute' => ['bool', 'statement'=>'resource', 'params='=>'array'], +'odbc_fetch_array' => ['array|false', 'statement'=>'resource', 'row='=>'int'], +'odbc_fetch_into' => ['int', 'statement'=>'resource', '&w_array'=>'array', 'row='=>'int'], +'odbc_fetch_object' => ['stdClass|false', 'statement'=>'resource', 'row='=>'int'], +'odbc_fetch_row' => ['bool', 'statement'=>'resource', 'row='=>'?int'], +'odbc_field_len' => ['int|false', 'statement'=>'resource', 'field'=>'int'], +'odbc_field_name' => ['string|false', 'statement'=>'resource', 'field'=>'int'], +'odbc_field_num' => ['int|false', 'statement'=>'resource', 'field'=>'string'], +'odbc_field_precision' => ['int', 'statement'=>'resource', 'field'=>'int'], +'odbc_field_scale' => ['int|false', 'statement'=>'resource', 'field'=>'int'], +'odbc_field_type' => ['string|false', 'statement'=>'resource', 'field'=>'int'], +'odbc_foreignkeys' => ['resource|false', 'odbc'=>'resource', 'pk_catalog'=>'?string', 'pk_schema'=>'string', 'pk_table'=>'string', 'fk_catalog'=>'string', 'fk_schema'=>'string', 'fk_table'=>'string'], +'odbc_free_result' => ['bool', 'statement'=>'resource'], +'odbc_gettypeinfo' => ['resource', 'odbc'=>'resource', 'data_type='=>'int'], +'odbc_longreadlen' => ['bool', 'statement'=>'resource', 'length'=>'int'], +'odbc_next_result' => ['bool', 'statement'=>'resource'], +'odbc_num_fields' => ['int', 'statement'=>'resource'], +'odbc_num_rows' => ['int', 'statement'=>'resource'], +'odbc_pconnect' => ['resource|false', 'dsn'=>'string', 'user'=>'string', 'password'=>'string', 'cursor_option='=>'int'], +'odbc_prepare' => ['resource|false', 'odbc'=>'resource', 'query'=>'string'], +'odbc_primarykeys' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string'], +'odbc_procedurecolumns' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'string', 'schema'=>'string', 'procedure'=>'string', 'column'=>'string'], +'odbc_procedures' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'string', 'schema'=>'string', 'procedure'=>'string'], +'odbc_result' => ['mixed|false', 'statement'=>'resource', 'field'=>'mixed'], +'odbc_result_all' => ['int|false', 'statement'=>'resource', 'format='=>'string'], +'odbc_rollback' => ['bool', 'odbc'=>'resource'], +'odbc_setoption' => ['bool', 'odbc'=>'resource', 'which'=>'int', 'option'=>'int', 'value'=>'int'], +'odbc_specialcolumns' => ['resource|false', 'odbc'=>'resource', 'type'=>'int', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string', 'scope'=>'int', 'nullable'=>'int'], +'odbc_statistics' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string', 'unique'=>'int', 'accuracy'=>'int'], +'odbc_tableprivileges' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string'], +'odbc_tables' => ['resource|false', 'odbc'=>'resource', 'catalog='=>'?string', 'schema='=>'?string', 'table='=>'?string', 'types='=>'?string'], +'opcache_compile_file' => ['bool', 'filename'=>'string'], +'opcache_get_configuration' => ['array'], +'opcache_get_status' => ['array|false', 'include_scripts='=>'bool'], +'opcache_invalidate' => ['bool', 'filename'=>'string', 'force='=>'bool'], +'opcache_is_script_cached' => ['bool', 'filename'=>'string'], +'opcache_reset' => ['bool'], +'openal_buffer_create' => ['resource'], +'openal_buffer_data' => ['bool', 'buffer'=>'resource', 'format'=>'int', 'data'=>'string', 'freq'=>'int'], +'openal_buffer_destroy' => ['bool', 'buffer'=>'resource'], +'openal_buffer_get' => ['int', 'buffer'=>'resource', 'property'=>'int'], +'openal_buffer_loadwav' => ['bool', 'buffer'=>'resource', 'wavfile'=>'string'], +'openal_context_create' => ['resource', 'device'=>'resource'], +'openal_context_current' => ['bool', 'context'=>'resource'], +'openal_context_destroy' => ['bool', 'context'=>'resource'], +'openal_context_process' => ['bool', 'context'=>'resource'], +'openal_context_suspend' => ['bool', 'context'=>'resource'], +'openal_device_close' => ['bool', 'device'=>'resource'], +'openal_device_open' => ['resource|false', 'device_desc='=>'string'], +'openal_listener_get' => ['mixed', 'property'=>'int'], +'openal_listener_set' => ['bool', 'property'=>'int', 'setting'=>'mixed'], +'openal_source_create' => ['resource'], +'openal_source_destroy' => ['bool', 'source'=>'resource'], +'openal_source_get' => ['mixed', 'source'=>'resource', 'property'=>'int'], +'openal_source_pause' => ['bool', 'source'=>'resource'], +'openal_source_play' => ['bool', 'source'=>'resource'], +'openal_source_rewind' => ['bool', 'source'=>'resource'], +'openal_source_set' => ['bool', 'source'=>'resource', 'property'=>'int', 'setting'=>'mixed'], +'openal_source_stop' => ['bool', 'source'=>'resource'], +'openal_stream' => ['resource', 'source'=>'resource', 'format'=>'int', 'rate'=>'int'], +'opendir' => ['resource|false', 'directory'=>'string', 'context='=>'resource'], +'openlog' => ['true', 'prefix'=>'string', 'flags'=>'int', 'facility'=>'int'], +'openssl_cipher_iv_length' => ['int|false', 'cipher_algo'=>'string'], +'openssl_cipher_key_length' => ['positive-int|false', 'cipher_algo'=>'non-empty-string'], +'openssl_csr_export' => ['bool', 'csr'=>'OpenSSLCertificateSigningRequest|string', '&w_output'=>'string', 'no_text='=>'bool'], +'openssl_csr_export_to_file' => ['bool', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'output_filename'=>'string', 'no_text='=>'bool'], +'openssl_csr_get_public_key' => ['OpenSSLAsymmetricKey|false', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'short_names='=>'bool'], +'openssl_csr_get_subject' => ['array|false', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'short_names='=>'bool'], +'openssl_csr_new' => ['OpenSSLCertificateSigningRequest|false', 'distinguished_names'=>'array', '&w_private_key'=>'OpenSSLAsymmetricKey', 'options='=>'array|null', 'extra_attributes='=>'array|null'], +'openssl_csr_sign' => ['OpenSSLCertificate|false', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'ca_certificate'=>'OpenSSLCertificate|string|null', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'days'=>'int', 'options='=>'array|null', 'serial='=>'int'], +'openssl_decrypt' => ['string|false', 'data'=>'string', 'cipher_algo'=>'string', 'passphrase'=>'string', 'options='=>'int', 'iv='=>'string', 'tag='=>'?string', 'aad='=>'string'], +'openssl_dh_compute_key' => ['string|false', 'public_key'=>'string', 'private_key'=>'OpenSSLAsymmetricKey'], +'openssl_digest' => ['string|false', 'data'=>'string', 'digest_algo'=>'string', 'binary='=>'bool'], +'openssl_encrypt' => ['string|false', 'data'=>'string', 'cipher_algo'=>'string', 'passphrase'=>'string', 'options='=>'int', 'iv='=>'string', '&w_tag='=>'string', 'aad='=>'string', 'tag_length='=>'int'], +'openssl_error_string' => ['string|false'], +'openssl_free_key' => ['void', 'key'=>'OpenSSLAsymmetricKey'], +'openssl_get_cert_locations' => ['array'], +'openssl_get_cipher_methods' => ['array', 'aliases='=>'bool'], +'openssl_get_curve_names' => ['list'], +'openssl_get_md_methods' => ['array', 'aliases='=>'bool'], +'openssl_get_privatekey' => ['OpenSSLAsymmetricKey|false', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'passphrase='=>'?string'], +'openssl_get_publickey' => ['OpenSSLAsymmetricKey|false', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string'], +'openssl_open' => ['bool', 'data'=>'string', '&w_output'=>'string', 'encrypted_key'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'cipher_algo'=>'string', 'iv='=>'string|null'], +'openssl_pbkdf2' => ['string|false', 'password'=>'string', 'salt'=>'string', 'key_length'=>'int', 'iterations'=>'int', 'digest_algo='=>'string'], +'openssl_pkcs12_export' => ['bool', 'certificate'=>'OpenSSLCertificate|string', '&w_output'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'passphrase'=>'string', 'options='=>'array'], +'openssl_pkcs12_export_to_file' => ['bool', 'certificate'=>'OpenSSLCertificate|string', 'output_filename'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'passphrase'=>'string', 'options='=>'array'], +'openssl_pkcs12_read' => ['bool', 'pkcs12'=>'string', '&w_certificates'=>'array', 'passphrase'=>'string'], +'openssl_pkcs7_decrypt' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'OpenSSLCertificate|string', 'private_key='=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string|null'], +'openssl_pkcs7_encrypt' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'OpenSSLCertificate|list|string', 'headers'=>'array|null', 'flags='=>'int', 'cipher_algo='=>'int'], +'openssl_pkcs7_read' => ['bool', 'input_filename'=>'string', '&w_certificates'=>'array'], +'openssl_pkcs7_sign' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'OpenSSLCertificate|string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'headers'=>'array|null', 'flags='=>'int', 'untrusted_certificates_filename='=>'string|null'], +'openssl_pkcs7_verify' => ['bool|int', 'input_filename'=>'string', 'flags'=>'int', 'signers_certificates_filename='=>'?string', 'ca_info='=>'array', 'untrusted_certificates_filename='=>'?string', 'content='=>'?string', 'output_filename='=>'?string'], +'openssl_pkey_derive' => ['string|false', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'key_length='=>'int'], +'openssl_pkey_export' => ['bool', 'key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', '&w_output'=>'string', 'passphrase='=>'string|null', 'options='=>'array|null'], +'openssl_pkey_export_to_file' => ['bool', 'key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'output_filename'=>'string', 'passphrase='=>'string|null', 'options='=>'array|null'], +'openssl_pkey_free' => ['void', 'key'=>'OpenSSLAsymmetricKey'], +'openssl_pkey_get_details' => ['array|false', 'key'=>'OpenSSLAsymmetricKey'], +'openssl_pkey_get_private' => ['OpenSSLAsymmetricKey|false', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array|string', 'passphrase='=>'?string'], +'openssl_pkey_get_public' => ['OpenSSLAsymmetricKey|false', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string'], +'openssl_pkey_new' => ['OpenSSLAsymmetricKey|false', 'options='=>'array|null'], +'openssl_private_decrypt' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], +'openssl_private_encrypt' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], +'openssl_public_decrypt' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], +'openssl_public_encrypt' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], +'openssl_random_pseudo_bytes' => ['string', 'length'=>'int', '&w_strong_result='=>'bool'], +'openssl_seal' => ['int|false', 'data'=>'string', '&w_sealed_data'=>'string', '&w_encrypted_keys'=>'array', 'public_key'=>'list', 'cipher_algo'=>'string', '&rw_iv='=>'string'], +'openssl_sign' => ['bool', 'data'=>'string', '&w_signature'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'algorithm='=>'int|string'], +'openssl_spki_export' => ['string|false', 'spki'=>'string'], +'openssl_spki_export_challenge' => ['string|false', 'spki'=>'string'], +'openssl_spki_new' => ['string|false', 'private_key'=>'OpenSSLAsymmetricKey', 'challenge'=>'string', 'digest_algo='=>'int'], +'openssl_spki_verify' => ['bool', 'spki'=>'string'], +'openssl_verify' => ['-1|0|1|false', 'data'=>'string', 'signature'=>'string', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'algorithm='=>'int|string'], +'openssl_x509_check_private_key' => ['bool', 'certificate'=>'OpenSSLCertificate|string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string'], +'openssl_x509_checkpurpose' => ['bool|int', 'certificate'=>'OpenSSLCertificate|string', 'purpose'=>'int', 'ca_info='=>'array', 'untrusted_certificates_file='=>'string|null'], +'openssl_x509_export' => ['bool', 'certificate'=>'OpenSSLCertificate|string', '&w_output'=>'string', 'no_text='=>'bool'], +'openssl_x509_export_to_file' => ['bool', 'certificate'=>'OpenSSLCertificate|string', 'output_filename'=>'string', 'no_text='=>'bool'], +'openssl_x509_fingerprint' => ['string|false', 'certificate'=>'OpenSSLCertificate|string', 'digest_algo='=>'string', 'binary='=>'bool'], +'openssl_x509_free' => ['void', 'certificate'=>'OpenSSLCertificate'], +'openssl_x509_parse' => ['array|false', 'certificate'=>'OpenSSLCertificate|string', 'short_names='=>'bool'], +'openssl_x509_read' => ['OpenSSLCertificate|false', 'certificate'=>'OpenSSLCertificate|string'], +'openssl_x509_verify' => ['int', 'certificate'=>'string|OpenSSLCertificate', 'public_key'=>'string|OpenSSLCertificate|OpenSSLAsymmetricKey|array'], +'ord' => ['int', 'character'=>'string'], +'OuterIterator::current' => ['mixed'], +'OuterIterator::getInnerIterator' => ['Iterator'], +'OuterIterator::key' => ['int|string'], +'OuterIterator::next' => ['void'], +'OuterIterator::rewind' => ['void'], +'OuterIterator::valid' => ['bool'], +'OutOfBoundsException::__clone' => ['void'], +'OutOfBoundsException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'OutOfBoundsException::__toString' => ['string'], +'OutOfBoundsException::getCode' => ['int'], +'OutOfBoundsException::getFile' => ['string'], +'OutOfBoundsException::getLine' => ['int'], +'OutOfBoundsException::getMessage' => ['string'], +'OutOfBoundsException::getPrevious' => ['?Throwable'], +'OutOfBoundsException::getTrace' => ['list\',args?:array}>'], +'OutOfBoundsException::getTraceAsString' => ['string'], +'OutOfRangeException::__clone' => ['void'], +'OutOfRangeException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'OutOfRangeException::__toString' => ['string'], +'OutOfRangeException::getCode' => ['int'], +'OutOfRangeException::getFile' => ['string'], +'OutOfRangeException::getLine' => ['int'], +'OutOfRangeException::getMessage' => ['string'], +'OutOfRangeException::getPrevious' => ['?Throwable'], +'OutOfRangeException::getTrace' => ['list\',args?:array}>'], +'OutOfRangeException::getTraceAsString' => ['string'], +'output_add_rewrite_var' => ['bool', 'name'=>'string', 'value'=>'string'], +'output_cache_disable' => ['void'], +'output_cache_disable_compression' => ['void'], +'output_cache_exists' => ['bool', 'key'=>'string', 'lifetime'=>'int'], +'output_cache_fetch' => ['string', 'key'=>'string', 'function'=>'', 'lifetime'=>'int'], +'output_cache_get' => ['mixed|false', 'key'=>'string', 'lifetime'=>'int'], +'output_cache_output' => ['string', 'key'=>'string', 'function'=>'', 'lifetime'=>'int'], +'output_cache_put' => ['bool', 'key'=>'string', 'data'=>'mixed'], +'output_cache_remove' => ['bool', 'filename'=>''], +'output_cache_remove_key' => ['bool', 'key'=>'string'], +'output_cache_remove_url' => ['bool', 'url'=>'string'], +'output_cache_stop' => ['void'], +'output_reset_rewrite_vars' => ['bool'], +'outputformatObj::getOption' => ['string', 'property_name'=>'string'], +'outputformatObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'outputformatObj::setOption' => ['void', 'property_name'=>'string', 'new_value'=>'string'], +'outputformatObj::validate' => ['int'], +'OverflowException::__clone' => ['void'], +'OverflowException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'OverflowException::__toString' => ['string'], +'OverflowException::getCode' => ['int'], +'OverflowException::getFile' => ['string'], +'OverflowException::getLine' => ['int'], +'OverflowException::getMessage' => ['string'], +'OverflowException::getPrevious' => ['?Throwable'], +'OverflowException::getTrace' => ['list\',args?:array}>'], +'OverflowException::getTraceAsString' => ['string'], +'overload' => ['', 'class_name'=>'string'], +'override_function' => ['bool', 'function_name'=>'string', 'function_args'=>'string', 'function_code'=>'string'], +'OwsrequestObj::__construct' => ['void'], +'OwsrequestObj::addParameter' => ['int', 'name'=>'string', 'value'=>'string'], +'OwsrequestObj::getName' => ['string', 'index'=>'int'], +'OwsrequestObj::getValue' => ['string', 'index'=>'int'], +'OwsrequestObj::getValueByName' => ['string', 'name'=>'string'], +'OwsrequestObj::loadParams' => ['int'], +'OwsrequestObj::setParameter' => ['int', 'name'=>'string', 'value'=>'string'], +'pack' => ['string', 'format'=>'string', '...values='=>'mixed'], +'parallel\Future::done' => ['bool'], +'parallel\Future::select' => ['mixed', '&resolving'=>'parallel\Future[]', '&w_resolved'=>'parallel\Future[]', '&w_errored'=>'parallel\Future[]', '&w_timedout='=>'parallel\Future[]', 'timeout='=>'int'], +'parallel\Future::value' => ['mixed', 'timeout='=>'int'], +'parallel\Runtime::__construct' => ['void', 'arg'=>'string|array'], +'parallel\Runtime::__construct\'1' => ['void', 'bootstrap'=>'string', 'configuration'=>'array'], +'parallel\Runtime::close' => ['void'], +'parallel\Runtime::kill' => ['void'], +'parallel\Runtime::run' => ['?parallel\Future', 'closure'=>'Closure', 'args='=>'array'], +'ParentIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator'], +'ParentIterator::accept' => ['bool'], +'ParentIterator::getChildren' => ['?ParentIterator'], +'ParentIterator::hasChildren' => ['bool'], +'ParentIterator::next' => ['void'], +'ParentIterator::rewind' => ['void'], +'ParentIterator::valid' => ['bool'], +'Parle\Lexer::advance' => ['void'], +'Parle\Lexer::build' => ['void'], +'Parle\Lexer::callout' => ['void', 'id'=>'int', 'callback'=>'callable'], +'Parle\Lexer::consume' => ['void', 'data'=>'string'], +'Parle\Lexer::dump' => ['void'], +'Parle\Lexer::getToken' => ['Parle\Token'], +'Parle\Lexer::insertMacro' => ['void', 'name'=>'string', 'regex'=>'string'], +'Parle\Lexer::push' => ['void', 'regex'=>'string', 'id'=>'int'], +'Parle\Lexer::reset' => ['void', 'pos'=>'int'], +'Parle\Parser::advance' => ['void'], +'Parle\Parser::build' => ['void'], +'Parle\Parser::consume' => ['void', 'data'=>'string', 'lexer'=>'Parle\Lexer'], +'Parle\Parser::dump' => ['void'], +'Parle\Parser::errorInfo' => ['Parle\ErrorInfo'], +'Parle\Parser::left' => ['void', 'token'=>'string'], +'Parle\Parser::nonassoc' => ['void', 'token'=>'string'], +'Parle\Parser::precedence' => ['void', 'token'=>'string'], +'Parle\Parser::push' => ['int', 'name'=>'string', 'rule'=>'string'], +'Parle\Parser::reset' => ['void', 'tokenId'=>'int'], +'Parle\Parser::right' => ['void', 'token'=>'string'], +'Parle\Parser::sigil' => ['string', 'idx'=>'array'], +'Parle\Parser::token' => ['void', 'token'=>'string'], +'Parle\Parser::tokenId' => ['int', 'token'=>'string'], +'Parle\Parser::trace' => ['string'], +'Parle\Parser::validate' => ['bool', 'data'=>'string', 'lexer'=>'Parle\Lexer'], +'Parle\RLexer::advance' => ['void'], +'Parle\RLexer::build' => ['void'], +'Parle\RLexer::callout' => ['void', 'id'=>'int', 'callback'=>'callable'], +'Parle\RLexer::consume' => ['void', 'data'=>'string'], +'Parle\RLexer::dump' => ['void'], +'Parle\RLexer::getToken' => ['Parle\Token'], +'parle\rlexer::insertMacro' => ['void', 'name'=>'string', 'regex'=>'string'], +'Parle\RLexer::push' => ['void', 'state'=>'string', 'regex'=>'string', 'newState'=>'string'], +'Parle\RLexer::pushState' => ['int', 'state'=>'string'], +'Parle\RLexer::reset' => ['void', 'pos'=>'int'], +'Parle\RParser::advance' => ['void'], +'Parle\RParser::build' => ['void'], +'Parle\RParser::consume' => ['void', 'data'=>'string', 'lexer'=>'Parle\Lexer'], +'Parle\RParser::dump' => ['void'], +'Parle\RParser::errorInfo' => ['Parle\ErrorInfo'], +'Parle\RParser::left' => ['void', 'token'=>'string'], +'Parle\RParser::nonassoc' => ['void', 'token'=>'string'], +'Parle\RParser::precedence' => ['void', 'token'=>'string'], +'Parle\RParser::push' => ['int', 'name'=>'string', 'rule'=>'string'], +'Parle\RParser::reset' => ['void', 'tokenId'=>'int'], +'Parle\RParser::right' => ['void', 'token'=>'string'], +'Parle\RParser::sigil' => ['string', 'idx'=>'array'], +'Parle\RParser::token' => ['void', 'token'=>'string'], +'Parle\RParser::tokenId' => ['int', 'token'=>'string'], +'Parle\RParser::trace' => ['string'], +'Parle\RParser::validate' => ['bool', 'data'=>'string', 'lexer'=>'Parle\Lexer'], +'Parle\Stack::pop' => ['void'], +'Parle\Stack::push' => ['void', 'item'=>'mixed'], +'parse_ini_file' => ['array|false', 'filename'=>'string', 'process_sections='=>'bool', 'scanner_mode='=>'int'], +'parse_ini_string' => ['array|false', 'ini_string'=>'string', 'process_sections='=>'bool', 'scanner_mode='=>'int'], +'parse_str' => ['void', 'string'=>'string', '&w_result'=>'array'], +'parse_url' => ['int|string|array|null|false', 'url'=>'string', 'component='=>'int'], +'ParseError::__clone' => ['void'], +'ParseError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'ParseError::__toString' => ['string'], +'ParseError::getCode' => ['int'], +'ParseError::getFile' => ['string'], +'ParseError::getLine' => ['int'], +'ParseError::getMessage' => ['string'], +'ParseError::getPrevious' => ['?Throwable'], +'ParseError::getTrace' => ['list\',args?:array}>'], +'ParseError::getTraceAsString' => ['string'], +'parsekit_compile_file' => ['array', 'filename'=>'string', 'errors='=>'array', 'options='=>'int'], +'parsekit_compile_string' => ['array', 'phpcode'=>'string', 'errors='=>'array', 'options='=>'int'], +'parsekit_func_arginfo' => ['array', 'function'=>'mixed'], +'passthru' => ['void', 'command'=>'string', '&w_result_code='=>'int'], +'password_get_info' => ['array', 'hash'=>'string'], +'password_hash' => ['string', 'password'=>'string', 'algo'=>'int|string|null', 'options='=>'array'], +'password_make_salt' => ['bool', 'password'=>'string', 'hash'=>'string'], +'password_needs_rehash' => ['bool', 'hash'=>'string', 'algo'=>'int|string|null', 'options='=>'array'], +'password_verify' => ['bool', 'password'=>'string', 'hash'=>'string'], +'pathinfo' => ['array|string', 'path'=>'string', 'flags='=>'int'], +'pclose' => ['int', 'handle'=>'resource'], +'pcnlt_sigwaitinfo' => ['int', 'set'=>'array', '&w_siginfo'=>'array'], +'pcntl_alarm' => ['int', 'seconds'=>'int'], +'pcntl_async_signals' => ['bool', 'enable='=>'?bool'], +'pcntl_errno' => ['int'], +'pcntl_exec' => ['false', 'path'=>'string', 'args='=>'array', 'env_vars='=>'array'], +'pcntl_fork' => ['int'], +'pcntl_get_last_error' => ['int'], +'pcntl_getpriority' => ['int', 'process_id='=>'?int', 'mode='=>'int'], +'pcntl_setpriority' => ['bool', 'priority'=>'int', 'process_id='=>'?int', 'mode='=>'int'], +'pcntl_signal' => ['bool', 'signal'=>'int', 'handler'=>'callable():void|callable(int):void|callable(int,array):void|int', 'restart_syscalls='=>'bool'], +'pcntl_signal_dispatch' => ['bool'], +'pcntl_signal_get_handler' => ['int|string', 'signal'=>'int'], +'pcntl_sigprocmask' => ['bool', 'mode'=>'int', 'signals'=>'array', '&w_old_signals='=>'array'], +'pcntl_sigtimedwait' => ['int', 'signals'=>'array', '&w_info='=>'array', 'seconds='=>'int', 'nanoseconds='=>'int'], +'pcntl_sigwaitinfo' => ['int', 'signals'=>'array', '&w_info='=>'array'], +'pcntl_strerror' => ['string', 'error_code'=>'int'], +'pcntl_wait' => ['int', '&w_status'=>'int', 'flags='=>'int', '&w_resource_usage='=>'array'], +'pcntl_waitpid' => ['int', 'process_id'=>'int', '&w_status'=>'int', 'flags='=>'int', '&w_resource_usage='=>'array'], +'pcntl_wexitstatus' => ['int', 'status'=>'int'], +'pcntl_wifcontinued' => ['bool', 'status'=>'int'], +'pcntl_wifexited' => ['bool', 'status'=>'int'], +'pcntl_wifsignaled' => ['bool', 'status'=>'int'], +'pcntl_wifstopped' => ['bool', 'status'=>'int'], +'pcntl_wstopsig' => ['int', 'status'=>'int'], +'pcntl_wtermsig' => ['int', 'status'=>'int'], +'PDF_activate_item' => ['bool', 'pdfdoc'=>'resource', 'id'=>'int'], +'PDF_add_launchlink' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string'], +'PDF_add_locallink' => ['bool', 'pdfdoc'=>'resource', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'page'=>'int', 'dest'=>'string'], +'PDF_add_nameddest' => ['bool', 'pdfdoc'=>'resource', 'name'=>'string', 'optlist'=>'string'], +'PDF_add_note' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'contents'=>'string', 'title'=>'string', 'icon'=>'string', 'open'=>'int'], +'PDF_add_pdflink' => ['bool', 'pdfdoc'=>'resource', 'bottom_left_x'=>'float', 'bottom_left_y'=>'float', 'up_right_x'=>'float', 'up_right_y'=>'float', 'filename'=>'string', 'page'=>'int', 'dest'=>'string'], +'PDF_add_table_cell' => ['int', 'pdfdoc'=>'resource', 'table'=>'int', 'column'=>'int', 'row'=>'int', 'text'=>'string', 'optlist'=>'string'], +'PDF_add_textflow' => ['int', 'pdfdoc'=>'resource', 'textflow'=>'int', 'text'=>'string', 'optlist'=>'string'], +'PDF_add_thumbnail' => ['bool', 'pdfdoc'=>'resource', 'image'=>'int'], +'PDF_add_weblink' => ['bool', 'pdfdoc'=>'resource', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'url'=>'string'], +'PDF_arc' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], +'PDF_arcn' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], +'PDF_attach_file' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string', 'description'=>'string', 'author'=>'string', 'mimetype'=>'string', 'icon'=>'string'], +'PDF_begin_document' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'optlist'=>'string'], +'PDF_begin_font' => ['bool', 'pdfdoc'=>'resource', 'filename'=>'string', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float', 'optlist'=>'string'], +'PDF_begin_glyph' => ['bool', 'pdfdoc'=>'resource', 'glyphname'=>'string', 'wx'=>'float', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float'], +'PDF_begin_item' => ['int', 'pdfdoc'=>'resource', 'tag'=>'string', 'optlist'=>'string'], +'PDF_begin_layer' => ['bool', 'pdfdoc'=>'resource', 'layer'=>'int'], +'PDF_begin_page' => ['bool', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float'], +'PDF_begin_page_ext' => ['bool', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], +'PDF_begin_pattern' => ['int', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'xstep'=>'float', 'ystep'=>'float', 'painttype'=>'int'], +'PDF_begin_template' => ['int', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float'], +'PDF_begin_template_ext' => ['int', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], +'PDF_circle' => ['bool', 'pdfdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'r'=>'float'], +'PDF_clip' => ['bool', 'p'=>'resource'], +'PDF_close' => ['bool', 'p'=>'resource'], +'PDF_close_image' => ['bool', 'p'=>'resource', 'image'=>'int'], +'PDF_close_pdi' => ['bool', 'p'=>'resource', 'doc'=>'int'], +'PDF_close_pdi_page' => ['bool', 'p'=>'resource', 'page'=>'int'], +'PDF_closepath' => ['bool', 'p'=>'resource'], +'PDF_closepath_fill_stroke' => ['bool', 'p'=>'resource'], +'PDF_closepath_stroke' => ['bool', 'p'=>'resource'], +'PDF_concat' => ['bool', 'p'=>'resource', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], +'PDF_continue_text' => ['bool', 'p'=>'resource', 'text'=>'string'], +'PDF_create_3dview' => ['int', 'pdfdoc'=>'resource', 'username'=>'string', 'optlist'=>'string'], +'PDF_create_action' => ['int', 'pdfdoc'=>'resource', 'type'=>'string', 'optlist'=>'string'], +'PDF_create_annotation' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'type'=>'string', 'optlist'=>'string'], +'PDF_create_bookmark' => ['int', 'pdfdoc'=>'resource', 'text'=>'string', 'optlist'=>'string'], +'PDF_create_field' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'name'=>'string', 'type'=>'string', 'optlist'=>'string'], +'PDF_create_fieldgroup' => ['bool', 'pdfdoc'=>'resource', 'name'=>'string', 'optlist'=>'string'], +'PDF_create_gstate' => ['int', 'pdfdoc'=>'resource', 'optlist'=>'string'], +'PDF_create_pvf' => ['bool', 'pdfdoc'=>'resource', 'filename'=>'string', 'data'=>'string', 'optlist'=>'string'], +'PDF_create_textflow' => ['int', 'pdfdoc'=>'resource', 'text'=>'string', 'optlist'=>'string'], +'PDF_curveto' => ['bool', 'p'=>'resource', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], +'PDF_define_layer' => ['int', 'pdfdoc'=>'resource', 'name'=>'string', 'optlist'=>'string'], +'PDF_delete' => ['bool', 'pdfdoc'=>'resource'], +'PDF_delete_pvf' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string'], +'PDF_delete_table' => ['bool', 'pdfdoc'=>'resource', 'table'=>'int', 'optlist'=>'string'], +'PDF_delete_textflow' => ['bool', 'pdfdoc'=>'resource', 'textflow'=>'int'], +'PDF_encoding_set_char' => ['bool', 'pdfdoc'=>'resource', 'encoding'=>'string', 'slot'=>'int', 'glyphname'=>'string', 'uv'=>'int'], +'PDF_end_document' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], +'PDF_end_font' => ['bool', 'pdfdoc'=>'resource'], +'PDF_end_glyph' => ['bool', 'pdfdoc'=>'resource'], +'PDF_end_item' => ['bool', 'pdfdoc'=>'resource', 'id'=>'int'], +'PDF_end_layer' => ['bool', 'pdfdoc'=>'resource'], +'PDF_end_page' => ['bool', 'p'=>'resource'], +'PDF_end_page_ext' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], +'PDF_end_pattern' => ['bool', 'p'=>'resource'], +'PDF_end_template' => ['bool', 'p'=>'resource'], +'PDF_endpath' => ['bool', 'p'=>'resource'], +'PDF_fill' => ['bool', 'p'=>'resource'], +'PDF_fill_imageblock' => ['int', 'pdfdoc'=>'resource', 'page'=>'int', 'blockname'=>'string', 'image'=>'int', 'optlist'=>'string'], +'PDF_fill_pdfblock' => ['int', 'pdfdoc'=>'resource', 'page'=>'int', 'blockname'=>'string', 'contents'=>'int', 'optlist'=>'string'], +'PDF_fill_stroke' => ['bool', 'p'=>'resource'], +'PDF_fill_textblock' => ['int', 'pdfdoc'=>'resource', 'page'=>'int', 'blockname'=>'string', 'text'=>'string', 'optlist'=>'string'], +'PDF_findfont' => ['int', 'p'=>'resource', 'fontname'=>'string', 'encoding'=>'string', 'embed'=>'int'], +'PDF_fit_image' => ['bool', 'pdfdoc'=>'resource', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], +'PDF_fit_pdi_page' => ['bool', 'pdfdoc'=>'resource', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], +'PDF_fit_table' => ['string', 'pdfdoc'=>'resource', 'table'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], +'PDF_fit_textflow' => ['string', 'pdfdoc'=>'resource', 'textflow'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], +'PDF_fit_textline' => ['bool', 'pdfdoc'=>'resource', 'text'=>'string', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], +'PDF_get_apiname' => ['string', 'pdfdoc'=>'resource'], +'PDF_get_buffer' => ['string', 'p'=>'resource'], +'PDF_get_errmsg' => ['string', 'pdfdoc'=>'resource'], +'PDF_get_errnum' => ['int', 'pdfdoc'=>'resource'], +'PDF_get_majorversion' => ['int'], +'PDF_get_minorversion' => ['int'], +'PDF_get_parameter' => ['string', 'p'=>'resource', 'key'=>'string', 'modifier'=>'float'], +'PDF_get_pdi_parameter' => ['string', 'p'=>'resource', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], +'PDF_get_pdi_value' => ['float', 'p'=>'resource', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], +'PDF_get_value' => ['float', 'p'=>'resource', 'key'=>'string', 'modifier'=>'float'], +'PDF_info_font' => ['float', 'pdfdoc'=>'resource', 'font'=>'int', 'keyword'=>'string', 'optlist'=>'string'], +'PDF_info_matchbox' => ['float', 'pdfdoc'=>'resource', 'boxname'=>'string', 'num'=>'int', 'keyword'=>'string'], +'PDF_info_table' => ['float', 'pdfdoc'=>'resource', 'table'=>'int', 'keyword'=>'string'], +'PDF_info_textflow' => ['float', 'pdfdoc'=>'resource', 'textflow'=>'int', 'keyword'=>'string'], +'PDF_info_textline' => ['float', 'pdfdoc'=>'resource', 'text'=>'string', 'keyword'=>'string', 'optlist'=>'string'], +'PDF_initgraphics' => ['bool', 'p'=>'resource'], +'PDF_lineto' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float'], +'PDF_load_3ddata' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'optlist'=>'string'], +'PDF_load_font' => ['int', 'pdfdoc'=>'resource', 'fontname'=>'string', 'encoding'=>'string', 'optlist'=>'string'], +'PDF_load_iccprofile' => ['int', 'pdfdoc'=>'resource', 'profilename'=>'string', 'optlist'=>'string'], +'PDF_load_image' => ['int', 'pdfdoc'=>'resource', 'imagetype'=>'string', 'filename'=>'string', 'optlist'=>'string'], +'PDF_makespotcolor' => ['int', 'p'=>'resource', 'spotname'=>'string'], +'PDF_moveto' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float'], +'PDF_new' => ['resource'], +'PDF_open_ccitt' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'width'=>'int', 'height'=>'int', 'bitreverse'=>'int', 'k'=>'int', 'blackls1'=>'int'], +'PDF_open_file' => ['bool', 'p'=>'resource', 'filename'=>'string'], +'PDF_open_image' => ['int', 'p'=>'resource', 'imagetype'=>'string', 'source'=>'string', 'data'=>'string', 'length'=>'int', 'width'=>'int', 'height'=>'int', 'components'=>'int', 'bpc'=>'int', 'params'=>'string'], +'PDF_open_image_file' => ['int', 'p'=>'resource', 'imagetype'=>'string', 'filename'=>'string', 'stringparam'=>'string', 'intparam'=>'int'], +'PDF_open_memory_image' => ['int', 'p'=>'resource', 'image'=>'resource'], +'PDF_open_pdi' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'optlist'=>'string', 'length'=>'int'], +'PDF_open_pdi_document' => ['int', 'p'=>'resource', 'filename'=>'string', 'optlist'=>'string'], +'PDF_open_pdi_page' => ['int', 'p'=>'resource', 'doc'=>'int', 'pagenumber'=>'int', 'optlist'=>'string'], +'PDF_pcos_get_number' => ['float', 'p'=>'resource', 'doc'=>'int', 'path'=>'string'], +'PDF_pcos_get_stream' => ['string', 'p'=>'resource', 'doc'=>'int', 'optlist'=>'string', 'path'=>'string'], +'PDF_pcos_get_string' => ['string', 'p'=>'resource', 'doc'=>'int', 'path'=>'string'], +'PDF_place_image' => ['bool', 'pdfdoc'=>'resource', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'scale'=>'float'], +'PDF_place_pdi_page' => ['bool', 'pdfdoc'=>'resource', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'sx'=>'float', 'sy'=>'float'], +'PDF_process_pdi' => ['int', 'pdfdoc'=>'resource', 'doc'=>'int', 'page'=>'int', 'optlist'=>'string'], +'PDF_rect' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], +'PDF_restore' => ['bool', 'p'=>'resource'], +'PDF_resume_page' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], +'PDF_rotate' => ['bool', 'p'=>'resource', 'phi'=>'float'], +'PDF_save' => ['bool', 'p'=>'resource'], +'PDF_scale' => ['bool', 'p'=>'resource', 'sx'=>'float', 'sy'=>'float'], +'PDF_set_border_color' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDF_set_border_dash' => ['bool', 'pdfdoc'=>'resource', 'black'=>'float', 'white'=>'float'], +'PDF_set_border_style' => ['bool', 'pdfdoc'=>'resource', 'style'=>'string', 'width'=>'float'], +'PDF_set_gstate' => ['bool', 'pdfdoc'=>'resource', 'gstate'=>'int'], +'PDF_set_info' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'string'], +'PDF_set_layer_dependency' => ['bool', 'pdfdoc'=>'resource', 'type'=>'string', 'optlist'=>'string'], +'PDF_set_parameter' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'string'], +'PDF_set_text_pos' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float'], +'PDF_set_value' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'float'], +'PDF_setcolor' => ['bool', 'p'=>'resource', 'fstype'=>'string', 'colorspace'=>'string', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float'], +'PDF_setdash' => ['bool', 'pdfdoc'=>'resource', 'b'=>'float', 'w'=>'float'], +'PDF_setdashpattern' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], +'PDF_setflat' => ['bool', 'pdfdoc'=>'resource', 'flatness'=>'float'], +'PDF_setfont' => ['bool', 'pdfdoc'=>'resource', 'font'=>'int', 'fontsize'=>'float'], +'PDF_setgray' => ['bool', 'p'=>'resource', 'g'=>'float'], +'PDF_setgray_fill' => ['bool', 'p'=>'resource', 'g'=>'float'], +'PDF_setgray_stroke' => ['bool', 'p'=>'resource', 'g'=>'float'], +'PDF_setlinecap' => ['bool', 'p'=>'resource', 'linecap'=>'int'], +'PDF_setlinejoin' => ['bool', 'p'=>'resource', 'value'=>'int'], +'PDF_setlinewidth' => ['bool', 'p'=>'resource', 'width'=>'float'], +'PDF_setmatrix' => ['bool', 'p'=>'resource', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], +'PDF_setmiterlimit' => ['bool', 'pdfdoc'=>'resource', 'miter'=>'float'], +'PDF_setrgbcolor' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDF_setrgbcolor_fill' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDF_setrgbcolor_stroke' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDF_shading' => ['int', 'pdfdoc'=>'resource', 'shtype'=>'string', 'x0'=>'float', 'y0'=>'float', 'x1'=>'float', 'y1'=>'float', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float', 'optlist'=>'string'], +'PDF_shading_pattern' => ['int', 'pdfdoc'=>'resource', 'shading'=>'int', 'optlist'=>'string'], +'PDF_shfill' => ['bool', 'pdfdoc'=>'resource', 'shading'=>'int'], +'PDF_show' => ['bool', 'pdfdoc'=>'resource', 'text'=>'string'], +'PDF_show_boxed' => ['int', 'p'=>'resource', 'text'=>'string', 'left'=>'float', 'top'=>'float', 'width'=>'float', 'height'=>'float', 'mode'=>'string', 'feature'=>'string'], +'PDF_show_xy' => ['bool', 'p'=>'resource', 'text'=>'string', 'x'=>'float', 'y'=>'float'], +'PDF_skew' => ['bool', 'p'=>'resource', 'alpha'=>'float', 'beta'=>'float'], +'PDF_stringwidth' => ['float', 'p'=>'resource', 'text'=>'string', 'font'=>'int', 'fontsize'=>'float'], +'PDF_stroke' => ['bool', 'p'=>'resource'], +'PDF_suspend_page' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], +'PDF_translate' => ['bool', 'p'=>'resource', 'tx'=>'float', 'ty'=>'float'], +'PDF_utf16_to_utf8' => ['string', 'pdfdoc'=>'resource', 'utf16string'=>'string'], +'PDF_utf32_to_utf16' => ['string', 'pdfdoc'=>'resource', 'utf32string'=>'string', 'ordering'=>'string'], +'PDF_utf8_to_utf16' => ['string', 'pdfdoc'=>'resource', 'utf8string'=>'string', 'ordering'=>'string'], +'PDFlib::activate_item' => ['bool', 'id'=>''], +'PDFlib::add_launchlink' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string'], +'PDFlib::add_locallink' => ['bool', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'page'=>'int', 'dest'=>'string'], +'PDFlib::add_nameddest' => ['bool', 'name'=>'string', 'optlist'=>'string'], +'PDFlib::add_note' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'contents'=>'string', 'title'=>'string', 'icon'=>'string', 'open'=>'int'], +'PDFlib::add_pdflink' => ['bool', 'bottom_left_x'=>'float', 'bottom_left_y'=>'float', 'up_right_x'=>'float', 'up_right_y'=>'float', 'filename'=>'string', 'page'=>'int', 'dest'=>'string'], +'PDFlib::add_table_cell' => ['int', 'table'=>'int', 'column'=>'int', 'row'=>'int', 'text'=>'string', 'optlist'=>'string'], +'PDFlib::add_textflow' => ['int', 'textflow'=>'int', 'text'=>'string', 'optlist'=>'string'], +'PDFlib::add_thumbnail' => ['bool', 'image'=>'int'], +'PDFlib::add_weblink' => ['bool', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'url'=>'string'], +'PDFlib::arc' => ['bool', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], +'PDFlib::arcn' => ['bool', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], +'PDFlib::attach_file' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string', 'description'=>'string', 'author'=>'string', 'mimetype'=>'string', 'icon'=>'string'], +'PDFlib::begin_document' => ['int', 'filename'=>'string', 'optlist'=>'string'], +'PDFlib::begin_font' => ['bool', 'filename'=>'string', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float', 'optlist'=>'string'], +'PDFlib::begin_glyph' => ['bool', 'glyphname'=>'string', 'wx'=>'float', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float'], +'PDFlib::begin_item' => ['int', 'tag'=>'string', 'optlist'=>'string'], +'PDFlib::begin_layer' => ['bool', 'layer'=>'int'], +'PDFlib::begin_page' => ['bool', 'width'=>'float', 'height'=>'float'], +'PDFlib::begin_page_ext' => ['bool', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], +'PDFlib::begin_pattern' => ['int', 'width'=>'float', 'height'=>'float', 'xstep'=>'float', 'ystep'=>'float', 'painttype'=>'int'], +'PDFlib::begin_template' => ['int', 'width'=>'float', 'height'=>'float'], +'PDFlib::begin_template_ext' => ['int', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], +'PDFlib::circle' => ['bool', 'x'=>'float', 'y'=>'float', 'r'=>'float'], +'PDFlib::clip' => ['bool'], +'PDFlib::close' => ['bool'], +'PDFlib::close_image' => ['bool', 'image'=>'int'], +'PDFlib::close_pdi' => ['bool', 'doc'=>'int'], +'PDFlib::close_pdi_page' => ['bool', 'page'=>'int'], +'PDFlib::closepath' => ['bool'], +'PDFlib::closepath_fill_stroke' => ['bool'], +'PDFlib::closepath_stroke' => ['bool'], +'PDFlib::concat' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], +'PDFlib::continue_text' => ['bool', 'text'=>'string'], +'PDFlib::create_3dview' => ['int', 'username'=>'string', 'optlist'=>'string'], +'PDFlib::create_action' => ['int', 'type'=>'string', 'optlist'=>'string'], +'PDFlib::create_annotation' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'type'=>'string', 'optlist'=>'string'], +'PDFlib::create_bookmark' => ['int', 'text'=>'string', 'optlist'=>'string'], +'PDFlib::create_field' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'name'=>'string', 'type'=>'string', 'optlist'=>'string'], +'PDFlib::create_fieldgroup' => ['bool', 'name'=>'string', 'optlist'=>'string'], +'PDFlib::create_gstate' => ['int', 'optlist'=>'string'], +'PDFlib::create_pvf' => ['bool', 'filename'=>'string', 'data'=>'string', 'optlist'=>'string'], +'PDFlib::create_textflow' => ['int', 'text'=>'string', 'optlist'=>'string'], +'PDFlib::curveto' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], +'PDFlib::define_layer' => ['int', 'name'=>'string', 'optlist'=>'string'], +'PDFlib::delete' => ['bool'], +'PDFlib::delete_pvf' => ['int', 'filename'=>'string'], +'PDFlib::delete_table' => ['bool', 'table'=>'int', 'optlist'=>'string'], +'PDFlib::delete_textflow' => ['bool', 'textflow'=>'int'], +'PDFlib::encoding_set_char' => ['bool', 'encoding'=>'string', 'slot'=>'int', 'glyphname'=>'string', 'uv'=>'int'], +'PDFlib::end_document' => ['bool', 'optlist'=>'string'], +'PDFlib::end_font' => ['bool'], +'PDFlib::end_glyph' => ['bool'], +'PDFlib::end_item' => ['bool', 'id'=>'int'], +'PDFlib::end_layer' => ['bool'], +'PDFlib::end_page' => ['bool', 'p'=>''], +'PDFlib::end_page_ext' => ['bool', 'optlist'=>'string'], +'PDFlib::end_pattern' => ['bool', 'p'=>''], +'PDFlib::end_template' => ['bool', 'p'=>''], +'PDFlib::endpath' => ['bool', 'p'=>''], +'PDFlib::fill' => ['bool'], +'PDFlib::fill_imageblock' => ['int', 'page'=>'int', 'blockname'=>'string', 'image'=>'int', 'optlist'=>'string'], +'PDFlib::fill_pdfblock' => ['int', 'page'=>'int', 'blockname'=>'string', 'contents'=>'int', 'optlist'=>'string'], +'PDFlib::fill_stroke' => ['bool'], +'PDFlib::fill_textblock' => ['int', 'page'=>'int', 'blockname'=>'string', 'text'=>'string', 'optlist'=>'string'], +'PDFlib::findfont' => ['int', 'fontname'=>'string', 'encoding'=>'string', 'embed'=>'int'], +'PDFlib::fit_image' => ['bool', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], +'PDFlib::fit_pdi_page' => ['bool', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], +'PDFlib::fit_table' => ['string', 'table'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], +'PDFlib::fit_textflow' => ['string', 'textflow'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], +'PDFlib::fit_textline' => ['bool', 'text'=>'string', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], +'PDFlib::get_apiname' => ['string'], +'PDFlib::get_buffer' => ['string'], +'PDFlib::get_errmsg' => ['string'], +'PDFlib::get_errnum' => ['int'], +'PDFlib::get_majorversion' => ['int'], +'PDFlib::get_minorversion' => ['int'], +'PDFlib::get_parameter' => ['string', 'key'=>'string', 'modifier'=>'float'], +'PDFlib::get_pdi_parameter' => ['string', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], +'PDFlib::get_pdi_value' => ['float', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], +'PDFlib::get_value' => ['float', 'key'=>'string', 'modifier'=>'float'], +'PDFlib::info_font' => ['float', 'font'=>'int', 'keyword'=>'string', 'optlist'=>'string'], +'PDFlib::info_matchbox' => ['float', 'boxname'=>'string', 'num'=>'int', 'keyword'=>'string'], +'PDFlib::info_table' => ['float', 'table'=>'int', 'keyword'=>'string'], +'PDFlib::info_textflow' => ['float', 'textflow'=>'int', 'keyword'=>'string'], +'PDFlib::info_textline' => ['float', 'text'=>'string', 'keyword'=>'string', 'optlist'=>'string'], +'PDFlib::initgraphics' => ['bool'], +'PDFlib::lineto' => ['bool', 'x'=>'float', 'y'=>'float'], +'PDFlib::load_3ddata' => ['int', 'filename'=>'string', 'optlist'=>'string'], +'PDFlib::load_font' => ['int', 'fontname'=>'string', 'encoding'=>'string', 'optlist'=>'string'], +'PDFlib::load_iccprofile' => ['int', 'profilename'=>'string', 'optlist'=>'string'], +'PDFlib::load_image' => ['int', 'imagetype'=>'string', 'filename'=>'string', 'optlist'=>'string'], +'PDFlib::makespotcolor' => ['int', 'spotname'=>'string'], +'PDFlib::moveto' => ['bool', 'x'=>'float', 'y'=>'float'], +'PDFlib::open_ccitt' => ['int', 'filename'=>'string', 'width'=>'int', 'height'=>'int', 'BitReverse'=>'int', 'k'=>'int', 'Blackls1'=>'int'], +'PDFlib::open_file' => ['bool', 'filename'=>'string'], +'PDFlib::open_image' => ['int', 'imagetype'=>'string', 'source'=>'string', 'data'=>'string', 'length'=>'int', 'width'=>'int', 'height'=>'int', 'components'=>'int', 'bpc'=>'int', 'params'=>'string'], +'PDFlib::open_image_file' => ['int', 'imagetype'=>'string', 'filename'=>'string', 'stringparam'=>'string', 'intparam'=>'int'], +'PDFlib::open_memory_image' => ['int', 'image'=>'resource'], +'PDFlib::open_pdi' => ['int', 'filename'=>'string', 'optlist'=>'string', 'length'=>'int'], +'PDFlib::open_pdi_document' => ['int', 'filename'=>'string', 'optlist'=>'string'], +'PDFlib::open_pdi_page' => ['int', 'doc'=>'int', 'pagenumber'=>'int', 'optlist'=>'string'], +'PDFlib::pcos_get_number' => ['float', 'doc'=>'int', 'path'=>'string'], +'PDFlib::pcos_get_stream' => ['string', 'doc'=>'int', 'optlist'=>'string', 'path'=>'string'], +'PDFlib::pcos_get_string' => ['string', 'doc'=>'int', 'path'=>'string'], +'PDFlib::place_image' => ['bool', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'scale'=>'float'], +'PDFlib::place_pdi_page' => ['bool', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'sx'=>'float', 'sy'=>'float'], +'PDFlib::process_pdi' => ['int', 'doc'=>'int', 'page'=>'int', 'optlist'=>'string'], +'PDFlib::rect' => ['bool', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], +'PDFlib::restore' => ['bool', 'p'=>''], +'PDFlib::resume_page' => ['bool', 'optlist'=>'string'], +'PDFlib::rotate' => ['bool', 'phi'=>'float'], +'PDFlib::save' => ['bool', 'p'=>''], +'PDFlib::scale' => ['bool', 'sx'=>'float', 'sy'=>'float'], +'PDFlib::set_border_color' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDFlib::set_border_dash' => ['bool', 'black'=>'float', 'white'=>'float'], +'PDFlib::set_border_style' => ['bool', 'style'=>'string', 'width'=>'float'], +'PDFlib::set_gstate' => ['bool', 'gstate'=>'int'], +'PDFlib::set_info' => ['bool', 'key'=>'string', 'value'=>'string'], +'PDFlib::set_layer_dependency' => ['bool', 'type'=>'string', 'optlist'=>'string'], +'PDFlib::set_parameter' => ['bool', 'key'=>'string', 'value'=>'string'], +'PDFlib::set_text_pos' => ['bool', 'x'=>'float', 'y'=>'float'], +'PDFlib::set_value' => ['bool', 'key'=>'string', 'value'=>'float'], +'PDFlib::setcolor' => ['bool', 'fstype'=>'string', 'colorspace'=>'string', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float'], +'PDFlib::setdash' => ['bool', 'b'=>'float', 'w'=>'float'], +'PDFlib::setdashpattern' => ['bool', 'optlist'=>'string'], +'PDFlib::setflat' => ['bool', 'flatness'=>'float'], +'PDFlib::setfont' => ['bool', 'font'=>'int', 'fontsize'=>'float'], +'PDFlib::setgray' => ['bool', 'g'=>'float'], +'PDFlib::setgray_fill' => ['bool', 'g'=>'float'], +'PDFlib::setgray_stroke' => ['bool', 'g'=>'float'], +'PDFlib::setlinecap' => ['bool', 'linecap'=>'int'], +'PDFlib::setlinejoin' => ['bool', 'value'=>'int'], +'PDFlib::setlinewidth' => ['bool', 'width'=>'float'], +'PDFlib::setmatrix' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], +'PDFlib::setmiterlimit' => ['bool', 'miter'=>'float'], +'PDFlib::setrgbcolor' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDFlib::setrgbcolor_fill' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDFlib::setrgbcolor_stroke' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'PDFlib::shading' => ['int', 'shtype'=>'string', 'x0'=>'float', 'y0'=>'float', 'x1'=>'float', 'y1'=>'float', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float', 'optlist'=>'string'], +'PDFlib::shading_pattern' => ['int', 'shading'=>'int', 'optlist'=>'string'], +'PDFlib::shfill' => ['bool', 'shading'=>'int'], +'PDFlib::show' => ['bool', 'text'=>'string'], +'PDFlib::show_boxed' => ['int', 'text'=>'string', 'left'=>'float', 'top'=>'float', 'width'=>'float', 'height'=>'float', 'mode'=>'string', 'feature'=>'string'], +'PDFlib::show_xy' => ['bool', 'text'=>'string', 'x'=>'float', 'y'=>'float'], +'PDFlib::skew' => ['bool', 'alpha'=>'float', 'beta'=>'float'], +'PDFlib::stringwidth' => ['float', 'text'=>'string', 'font'=>'int', 'fontsize'=>'float'], +'PDFlib::stroke' => ['bool', 'p'=>''], +'PDFlib::suspend_page' => ['bool', 'optlist'=>'string'], +'PDFlib::translate' => ['bool', 'tx'=>'float', 'ty'=>'float'], +'PDFlib::utf16_to_utf8' => ['string', 'utf16string'=>'string'], +'PDFlib::utf32_to_utf16' => ['string', 'utf32string'=>'string', 'ordering'=>'string'], +'PDFlib::utf8_to_utf16' => ['string', 'utf8string'=>'string', 'ordering'=>'string'], +'PDO::__construct' => ['void', 'dsn'=>'string', 'username='=>'?string', 'password='=>'?string', 'options='=>'?array'], +'PDO::__sleep' => ['list'], +'PDO::__wakeup' => ['void'], +'PDO::beginTransaction' => ['bool'], +'PDO::commit' => ['bool'], +'PDO::cubrid_schema' => ['array', 'schema_type'=>'int', 'table_name='=>'string', 'col_name='=>'string'], +'PDO::errorCode' => ['?string'], +'PDO::errorInfo' => ['array{0: ?string, 1: ?int, 2: ?string, 3?: mixed, 4?: mixed}'], +'PDO::exec' => ['int|false', 'statement'=>'string'], +'PDO::getAttribute' => ['mixed', 'attribute'=>'int'], +'PDO::getAvailableDrivers' => ['array'], +'PDO::inTransaction' => ['bool'], +'PDO::lastInsertId' => ['string', 'name='=>'string|null'], +'PDO::pgsqlCopyFromArray' => ['bool', 'table_name'=>'string', 'rows'=>'array', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], +'PDO::pgsqlCopyFromFile' => ['bool', 'table_name'=>'string', 'filename'=>'string', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], +'PDO::pgsqlCopyToArray' => ['array', 'table_name'=>'string', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], +'PDO::pgsqlCopyToFile' => ['bool', 'table_name'=>'string', 'filename'=>'string', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], +'PDO::pgsqlGetNotify' => ['array{message:string,pid:int,payload?:string}|false', 'result_type='=>'PDO::FETCH_*', 'ms_timeout='=>'int'], +'PDO::pgsqlGetPid' => ['int'], +'PDO::pgsqlLOBCreate' => ['string'], +'PDO::pgsqlLOBOpen' => ['resource', 'oid'=>'string', 'mode='=>'string'], +'PDO::pgsqlLOBUnlink' => ['bool', 'oid'=>'string'], +'PDO::prepare' => ['PDOStatement|false', 'query'=>'string', 'options='=>'array'], +'PDO::query' => ['PDOStatement|false', 'query'=>'string'], +'PDO::query\'1' => ['PDOStatement|false', 'query'=>'string', 'fetch_column'=>'int', 'colno='=>'int'], +'PDO::query\'2' => ['PDOStatement|false', 'query'=>'string', 'fetch_class'=>'int', 'classname'=>'string', 'constructorArgs'=>'array'], +'PDO::query\'3' => ['PDOStatement|false', 'query'=>'string', 'fetch_into'=>'int', 'object'=>'object'], +'PDO::quote' => ['string|false', 'string'=>'string', 'type='=>'int'], +'PDO::rollBack' => ['bool'], +'PDO::setAttribute' => ['bool', 'attribute'=>'int', 'value'=>''], +'PDO::sqliteCreateAggregate' => ['bool', 'function_name'=>'string', 'step_func'=>'callable', 'finalize_func'=>'callable', 'num_args='=>'int'], +'PDO::sqliteCreateCollation' => ['bool', 'name'=>'string', 'callback'=>'callable'], +'PDO::sqliteCreateFunction' => ['bool', 'function_name'=>'string', 'callback'=>'callable', 'num_args='=>'int'], +'pdo_drivers' => ['array'], +'PDOException::getCode' => ['int|string'], +'PDOException::getFile' => ['string'], +'PDOException::getLine' => ['int'], +'PDOException::getMessage' => ['string'], +'PDOException::getPrevious' => ['?Throwable'], +'PDOException::getTrace' => ['list\',args?:array}>'], +'PDOException::getTraceAsString' => ['string'], +'PDOStatement::__sleep' => ['list'], +'PDOStatement::__wakeup' => ['void'], +'PDOStatement::bindColumn' => ['bool', 'column'=>'string|int', '&rw_var'=>'mixed', 'type='=>'int', 'maxLength='=>'int', 'driverOptions='=>'mixed'], +'PDOStatement::bindParam' => ['bool', 'param'=>'string|int', '&rw_var'=>'mixed', 'type='=>'int', 'maxLength='=>'int', 'driverOptions='=>'mixed'], +'PDOStatement::bindValue' => ['bool', 'param'=>'string|int', 'value'=>'mixed', 'type='=>'int'], +'PDOStatement::closeCursor' => ['bool'], +'PDOStatement::columnCount' => ['int'], +'PDOStatement::debugDumpParams' => ['bool|null'], +'PDOStatement::errorCode' => ['string|null'], +'PDOStatement::errorInfo' => ['array{0: ?string, 1: ?int, 2: ?string, 3?: mixed, 4?: mixed}'], +'PDOStatement::execute' => ['bool', 'params='=>'?array'], +'PDOStatement::fetch' => ['mixed', 'mode='=>'int', 'cursorOrientation='=>'int', 'cursorOffset='=>'int'], +'PDOStatement::fetchAll' => ['array', 'mode='=>'int', '...args='=>'mixed'], +'PDOStatement::fetchColumn' => ['mixed', 'column='=>'int'], +'PDOStatement::fetchObject' => ['object|false', 'class='=>'?string', 'constructorArgs='=>'array'], +'PDOStatement::getAttribute' => ['mixed', 'name'=>'int'], +'PDOStatement::getColumnMeta' => ['array|false', 'column'=>'int'], +'PDOStatement::nextRowset' => ['bool'], +'PDOStatement::rowCount' => ['int'], +'PDOStatement::setAttribute' => ['bool', 'attribute'=>'int', 'value'=>'mixed'], +'PDOStatement::setFetchMode' => ['bool', 'mode'=>'int', '...args='=> 'mixed'], +'pfsockopen' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'?float'], +'pg_affected_rows' => ['int', 'result'=>'\PgSql\Result'], +'pg_cancel_query' => ['bool', 'connection'=>'\PgSql\Connection'], +'pg_client_encoding' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_close' => ['bool', 'connection='=>'?\PgSql\Connection'], +'pg_connect' => ['\PgSql\Connection|false', 'connection_string'=>'string', 'flags='=>'int'], +'pg_connect_poll' => ['int', 'connection'=>'\PgSql\Connection'], +'pg_connection_busy' => ['bool', 'connection'=>'\PgSql\Connection'], +'pg_connection_reset' => ['bool', 'connection'=>'\PgSql\Connection'], +'pg_connection_status' => ['int', 'connection'=>'\PgSql\Connection'], +'pg_consume_input' => ['bool', 'connection'=>'\PgSql\Connection'], +'pg_convert' => ['array|false', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'values'=>'array', 'flags='=>'int'], +'pg_copy_from' => ['bool', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'rows'=>'array', 'separator='=>'string', 'null_as='=>'string'], +'pg_copy_to' => ['array|false', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'separator='=>'string', 'null_as='=>'string'], +'pg_dbname' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_delete' => ['string|bool', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'conditions'=>'array', 'flags='=>'int'], +'pg_end_copy' => ['bool', 'connection='=>'?\PgSql\Connection'], +'pg_escape_bytea' => ['string', 'connection'=>'\PgSql\Connection', 'string'=>'string'], +'pg_escape_bytea\'1' => ['string', 'connection'=>'string'], +'pg_escape_identifier' => ['string|false', 'connection'=>'\PgSql\Connection', 'string'=>'string'], +'pg_escape_identifier\'1' => ['string|false', 'connection'=>'string'], +'pg_escape_literal' => ['string|false', 'connection'=>'\PgSql\Connection', 'string'=>'string'], +'pg_escape_literal\'1' => ['string|false', 'connection'=>'string'], +'pg_escape_string' => ['string', 'connection'=>'\PgSql\Connection', 'string'=>'string'], +'pg_escape_string\'1' => ['string', 'connection'=>'string'], +'pg_exec' => ['\PgSql\Result|false', 'connection'=>'\PgSql\Connection', 'query'=>'string'], +'pg_exec\'1' => ['\PgSql\Result|false', 'connection'=>'string'], +'pg_execute' => ['\PgSql\Result|false', 'connection'=>'\PgSql\Connection', 'statement_name'=>'string', 'params'=>'array'], +'pg_execute\'1' => ['\PgSql\Result|false', 'connection'=>'string', 'statement_name'=>'array'], +'pg_fetch_all' => ['array', 'result'=>'\PgSql\Result', 'mode='=>'int'], +'pg_fetch_all_columns' => ['array', 'result'=>'\PgSql\Result', 'field='=>'int'], +'pg_fetch_array' => ['array|false', 'result'=>'\PgSql\Result', 'row='=>'?int', 'mode='=>'int'], +'pg_fetch_assoc' => ['array|false', 'result'=>'\PgSql\Result', 'row='=>'?int'], +'pg_fetch_object' => ['object|false', 'result'=>'\PgSql\Result', 'row='=>'?int', 'class='=>'string', 'constructor_args='=>'array'], +'pg_fetch_result' => ['string|false|null', 'result'=>'\PgSql\Result', 'row'=>'string|int'], +'pg_fetch_result\'1' => ['string|false|null', 'result'=>'\PgSql\Result', 'row'=>'?int', 'field'=>'string|int'], +'pg_fetch_row' => ['array|false', 'result'=>'\PgSql\Result', 'row='=>'?int', 'mode='=>'int'], +'pg_field_is_null' => ['int|false', 'result'=>'\PgSql\Result', 'row'=>'string|int'], +'pg_field_is_null\'1' => ['int|false', 'result'=>'\PgSql\Result', 'row'=>'int', 'field'=>'string|int'], +'pg_field_name' => ['string', 'result'=>'\PgSql\Result', 'field'=>'int'], +'pg_field_num' => ['int', 'result'=>'\PgSql\Result', 'field'=>'string'], +'pg_field_prtlen' => ['int|false', 'result'=>'\PgSql\Result', 'row'=>'string|int'], +'pg_field_prtlen\'1' => ['int|false', 'result'=>'\PgSql\Result', 'row'=>'int', 'field'=>'string|int'], +'pg_field_size' => ['int', 'result'=>'\PgSql\Result', 'field'=>'int'], +'pg_field_table' => ['string|int|false', 'result'=>'\PgSql\Result', 'field'=>'int', 'oid_only='=>'bool'], +'pg_field_type' => ['string', 'result'=>'\PgSql\Result', 'field'=>'int'], +'pg_field_type_oid' => ['int|string', 'result'=>'\PgSql\Result', 'field'=>'int'], +'pg_flush' => ['int|bool', 'connection'=>'\PgSql\Connection'], +'pg_free_result' => ['bool', 'result'=>'\PgSql\Result'], +'pg_get_notify' => ['array|false', 'connection'=>'\PgSql\Connection', 'mode='=>'int'], +'pg_get_pid' => ['int', 'connection'=>'\PgSql\Connection'], +'pg_get_result' => ['\PgSql\Result|false', 'connection'=>'\PgSql\Connection'], +'pg_host' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_insert' => ['\PgSql\Result|string|false', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'values'=>'array', 'flags='=>'int'], +'pg_last_error' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_last_notice' => ['string|array|bool', 'connection'=>'\PgSql\Connection', 'mode='=>'int'], +'pg_last_oid' => ['string|int|false', 'result'=>'\PgSql\Result'], +'pg_lo_close' => ['bool', 'lob'=>'\PgSql\Lob'], +'pg_lo_create' => ['int|string|false', 'connection='=>'\PgSql\Connection', 'oid='=>'int|string'], +'pg_lo_export' => ['bool', 'connection'=>'\PgSql\Connection', 'oid'=>'int|string', 'filename'=>'string'], +'pg_lo_export\'1' => ['bool', 'connection'=>'int|string', 'oid'=>'string'], +'pg_lo_import' => ['int|string|false', 'connection'=>'\PgSql\Connection', 'filename'=>'string', 'oid'=>'string|int'], +'pg_lo_import\'1' => ['int|string|false', 'connection'=>'string', 'filename'=>'string|int'], +'pg_lo_open' => ['\PgSql\Lob|false', 'connection'=>'\PgSql\Connection', 'oid'=>'int|string', 'mode'=>'string'], +'pg_lo_open\'1' => ['\PgSql\Lob|false', 'connection'=>'int|string', 'oid'=>'string'], +'pg_lo_read' => ['string|false', 'lob'=>'\PgSql\Lob', 'length='=>'int'], +'pg_lo_read_all' => ['int', 'lob'=>'\PgSql\Lob'], +'pg_lo_seek' => ['bool', 'lob'=>'\PgSql\Lob', 'offset'=>'int', 'whence='=>'int'], +'pg_lo_tell' => ['int', 'lob'=>'\PgSql\Lob'], +'pg_lo_truncate' => ['bool', 'lob'=>'\PgSql\Lob', 'size'=>'int'], +'pg_lo_unlink' => ['bool', 'connection'=>'\PgSql\Connection', 'oid'=>'int|string'], +'pg_lo_unlink\'1' => ['bool', 'connection'=>'int|string'], +'pg_lo_write' => ['int|false', 'lob'=>'\PgSql\Lob', 'data'=>'string', 'length='=>'?int'], +'pg_meta_data' => ['array|false', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'extended='=>'bool'], +'pg_num_fields' => ['int', 'result'=>'\PgSql\Result'], +'pg_num_rows' => ['int', 'result'=>'\PgSql\Result'], +'pg_options' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_parameter_status' => ['string|false', 'connection'=>'\PgSql\Connection', 'name'=>'string'], +'pg_parameter_status\'1' => ['string|false', 'connection'=>'string'], +'pg_pconnect' => ['\PgSql\Connection|false', 'connection_string'=>'string', 'flags='=>'int'], +'pg_ping' => ['bool', 'connection='=>'?\PgSql\Connection'], +'pg_port' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_prepare' => ['\PgSql\Result|false', 'connection'=>'\PgSql\Connection', 'statement_name'=>'string', 'query'=>'string'], +'pg_prepare\'1' => ['\PgSql\Result|false', 'connection'=>'string', 'statement_name'=>'string'], +'pg_put_line' => ['bool', 'connection'=>'\PgSql\Connection', 'data'=>'string'], +'pg_put_line\'1' => ['bool', 'connection'=>'string'], +'pg_query' => ['\PgSql\Result|false', 'connection'=>'\PgSql\Connection', 'query'=>'string'], +'pg_query\'1' => ['\PgSql\Result|false', 'connection'=>'string'], +'pg_query_params' => ['\PgSql\Result|false', 'connection'=>'\PgSql\Connection', 'query'=>'string', 'params'=>'array'], +'pg_query_params\'1' => ['\PgSql\Result|false', 'connection'=>'string', 'query'=>'array'], +'pg_result_error' => ['string|false', 'result'=>'\PgSql\Result'], +'pg_result_error_field' => ['string|false|null', 'result'=>'\PgSql\Result', 'field_code'=>'int'], +'pg_result_seek' => ['bool', 'result'=>'\PgSql\Result', 'row'=>'int'], +'pg_result_status' => ['string|int', 'result'=>'\PgSql\Result', 'mode='=>'int'], +'pg_select' => ['string|array|false', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'conditions'=>'array', 'flags='=>'int', 'mode='=>'int'], +'pg_send_execute' => ['bool|int', 'connection'=>'\PgSql\Connection', 'statement_name'=>'string', 'params'=>'array'], +'pg_send_prepare' => ['bool|int', 'connection'=>'\PgSql\Connection', 'statement_name'=>'string', 'query'=>'string'], +'pg_send_query' => ['bool|int', 'connection'=>'\PgSql\Connection', 'query'=>'string'], +'pg_send_query_params' => ['bool|int', 'connection'=>'\PgSql\Connection', 'query'=>'string', 'params'=>'array'], +'pg_set_client_encoding' => ['int', 'connection'=>'\PgSql\Connection', 'encoding'=>'string'], +'pg_set_client_encoding\'1' => ['int', 'connection'=>'string'], +'pg_set_error_verbosity' => ['int|false', 'connection'=>'\PgSql\Connection', 'verbosity'=>'int'], +'pg_set_error_verbosity\'1' => ['int|false', 'connection'=>'int'], +'pg_socket' => ['resource|false', 'connection'=>'\PgSql\Connection'], +'pg_trace' => ['bool', 'filename'=>'string', 'mode='=>'string', 'connection='=>'?\PgSql\Connection'], +'pg_transaction_status' => ['int', 'connection'=>'\PgSql\Connection'], +'pg_tty' => ['string', 'connection='=>'?\PgSql\Connection'], +'pg_unescape_bytea' => ['string', 'string'=>'string'], +'pg_untrace' => ['bool', 'connection='=>'?\PgSql\Connection'], +'pg_update' => ['string|bool', 'connection'=>'\PgSql\Connection', 'table_name'=>'string', 'values'=>'array', 'conditions'=>'array', 'flags='=>'int'], +'pg_version' => ['array', 'connection='=>'?\PgSql\Connection'], +'Phar::__construct' => ['void', 'fname'=>'string', 'flags='=>'int', 'alias='=>'string'], +'Phar::addEmptyDir' => ['void', 'dirname'=>'string'], +'Phar::addFile' => ['void', 'file'=>'string', 'localname='=>'string'], +'Phar::addFromString' => ['void', 'localname'=>'string', 'contents'=>'string'], +'Phar::apiVersion' => ['string'], +'Phar::buildFromDirectory' => ['array', 'base_dir'=>'string', 'regex='=>'string'], +'Phar::buildFromIterator' => ['array', 'iter'=>'Iterator', 'base_directory='=>'string'], +'Phar::canCompress' => ['bool', 'method='=>'int'], +'Phar::canWrite' => ['bool'], +'Phar::compress' => ['?Phar', 'compression'=>'int', 'extension='=>'?string'], +'Phar::compressAllFilesBZIP2' => ['bool'], +'Phar::compressAllFilesGZ' => ['bool'], +'Phar::compressFiles' => ['void', 'compression'=>'int'], +'Phar::convertToData' => ['?PharData', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], +'Phar::convertToExecutable' => ['?Phar', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], +'Phar::copy' => ['bool', 'oldfile'=>'string', 'newfile'=>'string'], +'Phar::count' => ['int'], +'Phar::createDefaultStub' => ['string', 'indexfile='=>'string', 'webindexfile='=>'string'], +'Phar::decompress' => ['?Phar', 'extension='=>'?string'], +'Phar::decompressFiles' => ['bool'], +'Phar::delete' => ['bool', 'entry'=>'string'], +'Phar::delMetadata' => ['bool'], +'Phar::extractTo' => ['bool', 'pathto'=>'string', 'files='=>'string|array|null', 'overwrite='=>'bool'], +'Phar::getAlias' => ['?string'], +'Phar::getMetadata' => ['mixed', 'unserializeOptions='=>'array'], +'Phar::getModified' => ['bool'], +'Phar::getPath' => ['string'], +'Phar::getSignature' => ['array{hash:string, hash_type:string}'], +'Phar::getStub' => ['string'], +'Phar::getSupportedCompression' => ['array'], +'Phar::getSupportedSignatures' => ['array'], +'Phar::getVersion' => ['string'], +'Phar::hasMetadata' => ['bool'], +'Phar::interceptFileFuncs' => ['void'], +'Phar::isBuffering' => ['bool'], +'Phar::isCompressed' => ['int|false'], +'Phar::isFileFormat' => ['bool', 'format'=>'int'], +'Phar::isValidPharFilename' => ['bool', 'filename'=>'string', 'executable='=>'bool'], +'Phar::isWritable' => ['bool'], +'Phar::loadPhar' => ['bool', 'filename'=>'string', 'alias='=>'?string'], +'Phar::mapPhar' => ['bool', 'alias='=>'string', 'dataoffset='=>'int'], +'Phar::mount' => ['void', 'pharpath'=>'string', 'externalpath'=>'string'], +'Phar::mungServer' => ['void', 'munglist'=>'array'], +'Phar::offsetExists' => ['bool', 'offset'=>'string'], +'Phar::offsetGet' => ['PharFileInfo', 'offset'=>'string'], +'Phar::offsetSet' => ['void', 'offset'=>'string', 'value'=>'string'], +'Phar::offsetUnset' => ['bool', 'offset'=>'string'], +'Phar::running' => ['string', 'retphar='=>'bool'], +'Phar::setAlias' => ['bool', 'alias'=>'string'], +'Phar::setDefaultStub' => ['bool', 'index='=>'string', 'webindex='=>'string'], +'Phar::setMetadata' => ['void', 'metadata'=>''], +'Phar::setSignatureAlgorithm' => ['void', 'sigtype'=>'int', 'privatekey='=>'string'], +'Phar::setStub' => ['bool', 'stub'=>'string', 'length='=>'int'], +'Phar::startBuffering' => ['void'], +'Phar::stopBuffering' => ['void'], +'Phar::uncompressAllFiles' => ['bool'], +'Phar::unlinkArchive' => ['bool', 'archive'=>'string'], +'Phar::webPhar' => ['', 'alias='=>'string', 'index='=>'string', 'f404='=>'string', 'mimetypes='=>'array', 'rewrites='=>'array'], +'PharData::__construct' => ['void', 'fname'=>'string', 'flags='=>'?int', 'alias='=>'?string', 'format='=>'int'], +'PharData::addEmptyDir' => ['bool', 'dirname'=>'string'], +'PharData::addFile' => ['void', 'file'=>'string', 'localname='=>'string'], +'PharData::addFromString' => ['bool', 'localname'=>'string', 'contents'=>'string'], +'PharData::buildFromDirectory' => ['array', 'base_dir'=>'string', 'regex='=>'string'], +'PharData::buildFromIterator' => ['array', 'iter'=>'Iterator', 'base_directory='=>'string'], +'PharData::compress' => ['?PharData', 'compression'=>'int', 'extension='=>'?string'], +'PharData::compressFiles' => ['void', 'compression'=>'int'], +'PharData::convertToData' => ['?PharData', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], +'PharData::convertToExecutable' => ['?Phar', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], +'PharData::copy' => ['bool', 'oldfile'=>'string', 'newfile'=>'string'], +'PharData::decompress' => ['?PharData', 'extension='=>'?string'], +'PharData::decompressFiles' => ['bool'], +'PharData::delete' => ['bool', 'entry'=>'string'], +'PharData::delMetadata' => ['bool'], +'PharData::extractTo' => ['bool', 'pathto'=>'string', 'files='=>'string|array|null', 'overwrite='=>'bool'], +'PharData::isWritable' => ['bool'], +'PharData::offsetExists' => ['bool', 'offset'=>'string'], +'PharData::offsetGet' => ['PharFileInfo', 'offset'=>'string'], +'PharData::offsetSet' => ['void', 'offset'=>'string', 'value'=>'string'], +'PharData::offsetUnset' => ['bool', 'offset'=>'string'], +'PharData::setAlias' => ['bool', 'alias'=>'string'], +'PharData::setDefaultStub' => ['bool', 'index='=>'string', 'webindex='=>'string'], +'phardata::setMetadata' => ['void', 'metadata'=>'mixed'], +'phardata::setSignatureAlgorithm' => ['void', 'sigtype'=>'int'], +'PharData::setStub' => ['bool', 'stub'=>'string', 'length='=>'int'], +'PharFileInfo::__construct' => ['void', 'entry'=>'string'], +'PharFileInfo::chmod' => ['void', 'permissions'=>'int'], +'PharFileInfo::compress' => ['bool', 'compression'=>'int'], +'PharFileInfo::decompress' => ['bool'], +'PharFileInfo::delMetadata' => ['bool'], +'PharFileInfo::getCompressedSize' => ['int'], +'PharFileInfo::getContent' => ['string'], +'PharFileInfo::getCRC32' => ['int'], +'PharFileInfo::getMetadata' => ['mixed', 'unserializeOptions='=>'array'], +'PharFileInfo::getPharFlags' => ['int'], +'PharFileInfo::hasMetadata' => ['bool'], +'PharFileInfo::isCompressed' => ['bool', 'compression_type='=>'int'], +'PharFileInfo::isCompressedBZIP2' => ['bool'], +'PharFileInfo::isCompressedGZ' => ['bool'], +'PharFileInfo::isCRCChecked' => ['bool'], +'PharFileInfo::setCompressedBZIP2' => ['bool'], +'PharFileInfo::setCompressedGZ' => ['bool'], +'PharFileInfo::setMetadata' => ['void', 'metadata'=>'mixed'], +'PharFileInfo::setUncompressed' => ['bool'], +'phdfs::__construct' => ['void', 'ip'=>'string', 'port'=>'string'], +'phdfs::__destruct' => ['void'], +'phdfs::connect' => ['bool'], +'phdfs::copy' => ['bool', 'source_file'=>'string', 'destination_file'=>'string'], +'phdfs::create_directory' => ['bool', 'path'=>'string'], +'phdfs::delete' => ['bool', 'path'=>'string'], +'phdfs::disconnect' => ['bool'], +'phdfs::exists' => ['bool', 'path'=>'string'], +'phdfs::file_info' => ['array', 'path'=>'string'], +'phdfs::list_directory' => ['array', 'path'=>'string'], +'phdfs::read' => ['string', 'path'=>'string', 'length='=>'string'], +'phdfs::rename' => ['bool', 'old_path'=>'string', 'new_path'=>'string'], +'phdfs::tell' => ['int', 'path'=>'string'], +'phdfs::write' => ['bool', 'path'=>'string', 'buffer'=>'string', 'mode='=>'string'], +'php_check_syntax' => ['bool', 'filename'=>'string', 'error_message='=>'string'], +'php_ini_loaded_file' => ['string|false'], +'php_ini_scanned_files' => ['string|false'], +'php_logo_guid' => ['string'], +'php_sapi_name' => ['string'], +'php_strip_whitespace' => ['string', 'filename'=>'string'], +'php_uname' => ['string', 'mode='=>'string'], +'php_user_filter::filter' => ['int', 'in'=>'resource', 'out'=>'resource', '&rw_consumed'=>'int', 'closing'=>'bool'], +'php_user_filter::onClose' => ['void'], +'php_user_filter::onCreate' => ['bool'], +'phpcredits' => ['true', 'flags='=>'int'], +'phpdbg_break_file' => ['void', 'file'=>'string', 'line'=>'int'], +'phpdbg_break_function' => ['void', 'function'=>'string'], +'phpdbg_break_method' => ['void', 'class'=>'string', 'method'=>'string'], +'phpdbg_break_next' => ['void'], +'phpdbg_clear' => ['void'], +'phpdbg_color' => ['void', 'element'=>'int', 'color'=>'string'], +'phpdbg_end_oplog' => ['array', 'options='=>'array'], +'phpdbg_exec' => ['mixed', 'context='=>'string'], +'phpdbg_get_executable' => ['array', 'options='=>'array'], +'phpdbg_prompt' => ['void', 'string'=>'string'], +'phpdbg_start_oplog' => ['void'], +'phpinfo' => ['true', 'flags='=>'int'], +'PhpToken::tokenize' => ['list', 'code'=>'string', 'flags='=>'int'], +'PhpToken::is' => ['bool', 'kind'=>'string|int|string[]|int[]'], +'PhpToken::isIgnorable' => ['bool'], +'PhpToken::getTokenName' => ['?string'], +'phpversion' => ['string|false', 'extension='=>'?string'], +'pht\AtomicInteger::__construct' => ['void', 'value='=>'int'], +'pht\AtomicInteger::dec' => ['void'], +'pht\AtomicInteger::get' => ['int'], +'pht\AtomicInteger::inc' => ['void'], +'pht\AtomicInteger::lock' => ['void'], +'pht\AtomicInteger::set' => ['void', 'value'=>'int'], +'pht\AtomicInteger::unlock' => ['void'], +'pht\HashTable::lock' => ['void'], +'pht\HashTable::size' => ['int'], +'pht\HashTable::unlock' => ['void'], +'pht\Queue::front' => ['mixed'], +'pht\Queue::lock' => ['void'], +'pht\Queue::pop' => ['mixed'], +'pht\Queue::push' => ['void', 'value'=>'mixed'], +'pht\Queue::size' => ['int'], +'pht\Queue::unlock' => ['void'], +'pht\Runnable::run' => ['void'], +'pht\thread::addClassTask' => ['void', 'className'=>'string', '...ctorArgs='=>'mixed'], +'pht\thread::addFileTask' => ['void', 'fileName'=>'string', '...globals='=>'mixed'], +'pht\thread::addFunctionTask' => ['void', 'func'=>'callable', '...funcArgs='=>'mixed'], +'pht\thread::join' => ['void'], +'pht\thread::start' => ['void'], +'pht\thread::taskCount' => ['int'], +'pht\threaded::lock' => ['void'], +'pht\threaded::unlock' => ['void'], +'pht\Vector::__construct' => ['void', 'size='=>'int', 'value='=>'mixed'], +'pht\Vector::deleteAt' => ['void', 'offset'=>'int'], +'pht\Vector::insertAt' => ['void', 'value'=>'mixed', 'offset'=>'int'], +'pht\Vector::lock' => ['void'], +'pht\Vector::pop' => ['mixed'], +'pht\Vector::push' => ['void', 'value'=>'mixed'], +'pht\Vector::resize' => ['void', 'size'=>'int', 'value='=>'mixed'], +'pht\Vector::shift' => ['mixed'], +'pht\Vector::size' => ['int'], +'pht\Vector::unlock' => ['void'], +'pht\Vector::unshift' => ['void', 'value'=>'mixed'], +'pht\Vector::updateAt' => ['void', 'value'=>'mixed', 'offset'=>'int'], +'pi' => ['float'], +'pointObj::__construct' => ['void'], +'pointObj::distanceToLine' => ['float', 'p1'=>'pointObj', 'p2'=>'pointObj'], +'pointObj::distanceToPoint' => ['float', 'poPoint'=>'pointObj'], +'pointObj::distanceToShape' => ['float', 'shape'=>'shapeObj'], +'pointObj::draw' => ['int', 'map'=>'mapObj', 'layer'=>'layerObj', 'img'=>'imageObj', 'class_index'=>'int', 'text'=>'string'], +'pointObj::ms_newPointObj' => ['pointObj'], +'pointObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], +'pointObj::setXY' => ['int', 'x'=>'float', 'y'=>'float', 'm'=>'float'], +'pointObj::setXYZ' => ['int', 'x'=>'float', 'y'=>'float', 'z'=>'float', 'm'=>'float'], +'Pool::__construct' => ['void', 'size'=>'int', 'class'=>'string', 'ctor='=>'array'], +'Pool::collect' => ['int', 'collector='=>'Callable'], +'Pool::resize' => ['void', 'size'=>'int'], +'Pool::shutdown' => ['void'], +'Pool::submit' => ['int', 'task'=>'Threaded'], +'Pool::submitTo' => ['int', 'worker'=>'int', 'task'=>'Threaded'], +'popen' => ['resource|false', 'command'=>'string', 'mode'=>'string'], +'pos' => ['mixed', 'array'=>'array'], +'posix_access' => ['bool', 'filename'=>'string', 'flags='=>'int'], +'posix_ctermid' => ['string|false'], +'posix_errno' => ['int'], +'posix_get_last_error' => ['int'], +'posix_getcwd' => ['string|false'], +'posix_getegid' => ['int'], +'posix_geteuid' => ['int'], +'posix_getgid' => ['int'], +'posix_getgrgid' => ['array{name: string, passwd: string, gid: int, members: list}|false', 'group_id'=>'int'], +'posix_getgrnam' => ['array{name: string, passwd: string, gid: int, members: list}|false', 'name'=>'string'], +'posix_getgroups' => ['list|false'], +'posix_getlogin' => ['string|false'], +'posix_getpgid' => ['int|false', 'process_id'=>'int'], +'posix_getpgrp' => ['int'], +'posix_getpid' => ['int'], +'posix_getppid' => ['int'], +'posix_getpwnam' => ['array{name: string, passwd: string, uid: int, gid: int, gecos: string, dir: string, shell: string}|false', 'username'=>'string'], +'posix_getpwuid' => ['array{name: string, passwd: string, uid: int, gid: int, gecos: string, dir: string, shell: string}|false', 'user_id'=>'int'], +'posix_getrlimit' => ['array{"soft core": string, "hard core": string, "soft data": string, "hard data": string, "soft stack": integer, "hard stack": string, "soft totalmem": string, "hard totalmem": string, "soft rss": string, "hard rss": string, "soft maxproc": integer, "hard maxproc": integer, "soft memlock": integer, "hard memlock": integer, "soft cpu": string, "hard cpu": string, "soft filesize": string, "hard filesize": string, "soft openfiles": integer, "hard openfiles": integer}|false'], +'posix_getsid' => ['int|false', 'process_id'=>'int'], +'posix_getuid' => ['int'], +'posix_initgroups' => ['bool', 'username'=>'string', 'group_id'=>'int'], +'posix_isatty' => ['bool', 'file_descriptor'=>'resource|int'], +'posix_kill' => ['bool', 'process_id'=>'int', 'signal'=>'int'], +'posix_mkfifo' => ['bool', 'filename'=>'string', 'permissions'=>'int'], +'posix_mknod' => ['bool', 'filename'=>'string', 'flags'=>'int', 'major='=>'int', 'minor='=>'int'], +'posix_setegid' => ['bool', 'group_id'=>'int'], +'posix_seteuid' => ['bool', 'user_id'=>'int'], +'posix_setgid' => ['bool', 'group_id'=>'int'], +'posix_setpgid' => ['bool', 'process_id'=>'int', 'process_group_id'=>'int'], +'posix_setrlimit' => ['bool', 'resource'=>'int', 'soft_limit'=>'int', 'hard_limit'=>'int'], +'posix_setsid' => ['int'], +'posix_setuid' => ['bool', 'user_id'=>'int'], +'posix_strerror' => ['string', 'error_code'=>'int'], +'posix_times' => ['array{ticks: int, utime: int, stime: int, cutime: int, cstime: int}|false'], +'posix_ttyname' => ['string|false', 'file_descriptor'=>'resource|int'], +'posix_uname' => ['array{sysname: string, nodename: string, release: string, version: string, machine: string, domainname: string}|false'], +'Postal\Expand::expand_address' => ['string[]', 'address'=>'string', 'options='=>'array'], +'Postal\Parser::parse_address' => ['array', 'address'=>'string', 'options='=>'array'], +'pow' => ['float|int', 'num'=>'int|float', 'exponent'=>'int|float'], +'preg_filter' => ['string|string[]|null', 'pattern'=>'string|string[]', 'replacement'=>'string|string[]', 'subject'=>'string|string[]', 'limit='=>'int', '&w_count='=>'int'], +'preg_grep' => ['array|false', 'pattern'=>'string', 'array'=>'array', 'flags='=>'int'], +'preg_last_error' => ['int'], +'preg_match' => ['int|false', 'pattern'=>'string', 'subject'=>'string', '&w_matches='=>'string[]', 'flags='=>'0', 'offset='=>'int'], +'preg_match\'1' => ['int|false', 'pattern'=>'string', 'subject'=>'string', '&w_matches='=>'array', 'flags='=>'int', 'offset='=>'int'], +'preg_match_all' => ['int|false', 'pattern'=>'string', 'subject'=>'string', '&w_matches='=>'array', 'flags='=>'int', 'offset='=>'int'], +'preg_quote' => ['string', 'str'=>'string', 'delimiter='=>'?string'], +'preg_replace' => ['string|string[]|null', 'pattern'=>'string|array', 'replacement'=>'string|array', 'subject'=>'string|array', 'limit='=>'int', '&w_count='=>'int'], +'preg_replace_callback' => ['string|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], +'preg_replace_callback\'1' => ['string[]|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], +'preg_replace_callback_array' => ['string|null', 'pattern'=>'array', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], +'preg_replace_callback_array\'1' => ['string[]|null', 'pattern'=>'array', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], +'preg_split' => ['list|false', 'pattern'=>'string', 'subject'=>'string', 'limit'=>'int', 'flags='=>'null'], +'preg_split\'1' => ['list|list>|false', 'pattern'=>'string', 'subject'=>'string', 'limit='=>'int', 'flags='=>'int'], +'prev' => ['mixed', '&r_array'=>'array|object'], +'print' => ['int', 'arg'=>'string'], +'print_r' => ['string', 'value'=>'mixed'], +'print_r\'1' => ['true', 'value'=>'mixed', 'return='=>'bool'], +'printf' => ['int', 'format'=>'string', '...values='=>'string|int|float'], +'proc_close' => ['int', 'process'=>'resource'], +'proc_get_status' => ['array{command: string, pid: int, running: bool, signaled: bool, stopped: bool, exitcode: int, termsig: int, stopsig: int}', 'process'=>'resource'], +'proc_nice' => ['bool', 'priority'=>'int'], +'proc_open' => ['resource|false', 'command'=>'string|array', 'descriptor_spec'=>'array', '&pipes'=>'resource[]', 'cwd='=>'?string', 'env_vars='=>'?array', 'options='=>'?array'], +'proc_terminate' => ['bool', 'process'=>'resource', 'signal='=>'int'], +'projectionObj::__construct' => ['void', 'projectionString'=>'string'], +'projectionObj::getUnits' => ['int'], +'projectionObj::ms_newProjectionObj' => ['projectionObj', 'projectionString'=>'string'], +'property_exists' => ['bool', 'object_or_class'=>'object|string', 'property'=>'string'], +'ps_add_bookmark' => ['int', 'psdoc'=>'resource', 'text'=>'string', 'parent='=>'int', 'open='=>'int'], +'ps_add_launchlink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string'], +'ps_add_locallink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'page'=>'int', 'dest'=>'string'], +'ps_add_note' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'contents'=>'string', 'title'=>'string', 'icon'=>'string', 'open'=>'int'], +'ps_add_pdflink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string', 'page'=>'int', 'dest'=>'string'], +'ps_add_weblink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'url'=>'string'], +'ps_arc' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'radius'=>'float', 'alpha'=>'float', 'beta'=>'float'], +'ps_arcn' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'radius'=>'float', 'alpha'=>'float', 'beta'=>'float'], +'ps_begin_page' => ['bool', 'psdoc'=>'resource', 'width'=>'float', 'height'=>'float'], +'ps_begin_pattern' => ['int', 'psdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'xstep'=>'float', 'ystep'=>'float', 'painttype'=>'int'], +'ps_begin_template' => ['int', 'psdoc'=>'resource', 'width'=>'float', 'height'=>'float'], +'ps_circle' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'radius'=>'float'], +'ps_clip' => ['bool', 'psdoc'=>'resource'], +'ps_close' => ['bool', 'psdoc'=>'resource'], +'ps_close_image' => ['void', 'psdoc'=>'resource', 'imageid'=>'int'], +'ps_closepath' => ['bool', 'psdoc'=>'resource'], +'ps_closepath_stroke' => ['bool', 'psdoc'=>'resource'], +'ps_continue_text' => ['bool', 'psdoc'=>'resource', 'text'=>'string'], +'ps_curveto' => ['bool', 'psdoc'=>'resource', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], +'ps_delete' => ['bool', 'psdoc'=>'resource'], +'ps_end_page' => ['bool', 'psdoc'=>'resource'], +'ps_end_pattern' => ['bool', 'psdoc'=>'resource'], +'ps_end_template' => ['bool', 'psdoc'=>'resource'], +'ps_fill' => ['bool', 'psdoc'=>'resource'], +'ps_fill_stroke' => ['bool', 'psdoc'=>'resource'], +'ps_findfont' => ['int', 'psdoc'=>'resource', 'fontname'=>'string', 'encoding'=>'string', 'embed='=>'bool'], +'ps_get_buffer' => ['string', 'psdoc'=>'resource'], +'ps_get_parameter' => ['string', 'psdoc'=>'resource', 'name'=>'string', 'modifier='=>'float'], +'ps_get_value' => ['float', 'psdoc'=>'resource', 'name'=>'string', 'modifier='=>'float'], +'ps_hyphenate' => ['array', 'psdoc'=>'resource', 'text'=>'string'], +'ps_include_file' => ['bool', 'psdoc'=>'resource', 'file'=>'string'], +'ps_lineto' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], +'ps_makespotcolor' => ['int', 'psdoc'=>'resource', 'name'=>'string', 'reserved='=>'int'], +'ps_moveto' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], +'ps_new' => ['resource'], +'ps_open_file' => ['bool', 'psdoc'=>'resource', 'filename='=>'string'], +'ps_open_image' => ['int', 'psdoc'=>'resource', 'type'=>'string', 'source'=>'string', 'data'=>'string', 'length'=>'int', 'width'=>'int', 'height'=>'int', 'components'=>'int', 'bpc'=>'int', 'params'=>'string'], +'ps_open_image_file' => ['int', 'psdoc'=>'resource', 'type'=>'string', 'filename'=>'string', 'stringparam='=>'string', 'intparam='=>'int'], +'ps_open_memory_image' => ['int', 'psdoc'=>'resource', 'gd'=>'int'], +'ps_place_image' => ['bool', 'psdoc'=>'resource', 'imageid'=>'int', 'x'=>'float', 'y'=>'float', 'scale'=>'float'], +'ps_rect' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], +'ps_restore' => ['bool', 'psdoc'=>'resource'], +'ps_rotate' => ['bool', 'psdoc'=>'resource', 'rot'=>'float'], +'ps_save' => ['bool', 'psdoc'=>'resource'], +'ps_scale' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], +'ps_set_border_color' => ['bool', 'psdoc'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], +'ps_set_border_dash' => ['bool', 'psdoc'=>'resource', 'black'=>'float', 'white'=>'float'], +'ps_set_border_style' => ['bool', 'psdoc'=>'resource', 'style'=>'string', 'width'=>'float'], +'ps_set_info' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'string'], +'ps_set_parameter' => ['bool', 'psdoc'=>'resource', 'name'=>'string', 'value'=>'string'], +'ps_set_text_pos' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], +'ps_set_value' => ['bool', 'psdoc'=>'resource', 'name'=>'string', 'value'=>'float'], +'ps_setcolor' => ['bool', 'psdoc'=>'resource', 'type'=>'string', 'colorspace'=>'string', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float'], +'ps_setdash' => ['bool', 'psdoc'=>'resource', 'on'=>'float', 'off'=>'float'], +'ps_setflat' => ['bool', 'psdoc'=>'resource', 'value'=>'float'], +'ps_setfont' => ['bool', 'psdoc'=>'resource', 'fontid'=>'int', 'size'=>'float'], +'ps_setgray' => ['bool', 'psdoc'=>'resource', 'gray'=>'float'], +'ps_setlinecap' => ['bool', 'psdoc'=>'resource', 'type'=>'int'], +'ps_setlinejoin' => ['bool', 'psdoc'=>'resource', 'type'=>'int'], +'ps_setlinewidth' => ['bool', 'psdoc'=>'resource', 'width'=>'float'], +'ps_setmiterlimit' => ['bool', 'psdoc'=>'resource', 'value'=>'float'], +'ps_setoverprintmode' => ['bool', 'psdoc'=>'resource', 'mode'=>'int'], +'ps_setpolydash' => ['bool', 'psdoc'=>'resource', 'arr'=>'float'], +'ps_shading' => ['int', 'psdoc'=>'resource', 'type'=>'string', 'x0'=>'float', 'y0'=>'float', 'x1'=>'float', 'y1'=>'float', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float', 'optlist'=>'string'], +'ps_shading_pattern' => ['int', 'psdoc'=>'resource', 'shadingid'=>'int', 'optlist'=>'string'], +'ps_shfill' => ['bool', 'psdoc'=>'resource', 'shadingid'=>'int'], +'ps_show' => ['bool', 'psdoc'=>'resource', 'text'=>'string'], +'ps_show2' => ['bool', 'psdoc'=>'resource', 'text'=>'string', 'length'=>'int'], +'ps_show_boxed' => ['int', 'psdoc'=>'resource', 'text'=>'string', 'left'=>'float', 'bottom'=>'float', 'width'=>'float', 'height'=>'float', 'hmode'=>'string', 'feature='=>'string'], +'ps_show_xy' => ['bool', 'psdoc'=>'resource', 'text'=>'string', 'x'=>'float', 'y'=>'float'], +'ps_show_xy2' => ['bool', 'psdoc'=>'resource', 'text'=>'string', 'length'=>'int', 'xcoor'=>'float', 'ycoor'=>'float'], +'ps_string_geometry' => ['array', 'psdoc'=>'resource', 'text'=>'string', 'fontid='=>'int', 'size='=>'float'], +'ps_stringwidth' => ['float', 'psdoc'=>'resource', 'text'=>'string', 'fontid='=>'int', 'size='=>'float'], +'ps_stroke' => ['bool', 'psdoc'=>'resource'], +'ps_symbol' => ['bool', 'psdoc'=>'resource', 'ord'=>'int'], +'ps_symbol_name' => ['string', 'psdoc'=>'resource', 'ord'=>'int', 'fontid='=>'int'], +'ps_symbol_width' => ['float', 'psdoc'=>'resource', 'ord'=>'int', 'fontid='=>'int', 'size='=>'float'], +'ps_translate' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], +'pspell_add_to_personal' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], +'pspell_add_to_session' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], +'pspell_check' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], +'pspell_clear_session' => ['bool', 'dictionary'=>'PSpell\Dictionary'], +'pspell_config_create' => ['PSpell\Config', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string'], +'pspell_config_data_dir' => ['bool', 'config'=>'PSpell\Config', 'directory'=>'string'], +'pspell_config_dict_dir' => ['bool', 'config'=>'PSpell\Config', 'directory'=>'string'], +'pspell_config_ignore' => ['bool', 'config'=>'PSpell\Config', 'min_length'=>'int'], +'pspell_config_mode' => ['bool', 'config'=>'PSpell\Config', 'mode'=>'int'], +'pspell_config_personal' => ['bool', 'config'=>'PSpell\Config', 'filename'=>'string'], +'pspell_config_repl' => ['bool', 'config'=>'PSpell\Config', 'filename'=>'string'], +'pspell_config_runtogether' => ['bool', 'config'=>'PSpell\Config', 'allow'=>'bool'], +'pspell_config_save_repl' => ['bool', 'config'=>'PSpell\Config', 'save'=>'bool'], +'pspell_new' => ['PSpell\Dictionary|false', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], +'pspell_new_config' => ['PSpell\Dictionary|false', 'config'=>'PSpell\Config'], +'pspell_new_personal' => ['PSpell\Dictionary|false', 'filename'=>'string', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], +'pspell_save_wordlist' => ['bool', 'dictionary'=>'PSpell\Dictionary'], +'pspell_store_replacement' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'misspelled'=>'string', 'correct'=>'string'], +'pspell_suggest' => ['array', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], +'putenv' => ['bool', 'assignment'=>'string'], +'px_close' => ['bool', 'pxdoc'=>'resource'], +'px_create_fp' => ['bool', 'pxdoc'=>'resource', 'file'=>'resource', 'fielddesc'=>'array'], +'px_date2string' => ['string', 'pxdoc'=>'resource', 'value'=>'int', 'format'=>'string'], +'px_delete' => ['bool', 'pxdoc'=>'resource'], +'px_delete_record' => ['bool', 'pxdoc'=>'resource', 'num'=>'int'], +'px_get_field' => ['array', 'pxdoc'=>'resource', 'fieldno'=>'int'], +'px_get_info' => ['array', 'pxdoc'=>'resource'], +'px_get_parameter' => ['string', 'pxdoc'=>'resource', 'name'=>'string'], +'px_get_record' => ['array', 'pxdoc'=>'resource', 'num'=>'int', 'mode='=>'int'], +'px_get_schema' => ['array', 'pxdoc'=>'resource', 'mode='=>'int'], +'px_get_value' => ['float', 'pxdoc'=>'resource', 'name'=>'string'], +'px_insert_record' => ['int', 'pxdoc'=>'resource', 'data'=>'array'], +'px_new' => ['resource'], +'px_numfields' => ['int', 'pxdoc'=>'resource'], +'px_numrecords' => ['int', 'pxdoc'=>'resource'], +'px_open_fp' => ['bool', 'pxdoc'=>'resource', 'file'=>'resource'], +'px_put_record' => ['bool', 'pxdoc'=>'resource', 'record'=>'array', 'recpos='=>'int'], +'px_retrieve_record' => ['array', 'pxdoc'=>'resource', 'num'=>'int', 'mode='=>'int'], +'px_set_blob_file' => ['bool', 'pxdoc'=>'resource', 'filename'=>'string'], +'px_set_parameter' => ['bool', 'pxdoc'=>'resource', 'name'=>'string', 'value'=>'string'], +'px_set_tablename' => ['void', 'pxdoc'=>'resource', 'name'=>'string'], +'px_set_targetencoding' => ['bool', 'pxdoc'=>'resource', 'encoding'=>'string'], +'px_set_value' => ['bool', 'pxdoc'=>'resource', 'name'=>'string', 'value'=>'float'], +'px_timestamp2string' => ['string', 'pxdoc'=>'resource', 'value'=>'float', 'format'=>'string'], +'px_update_record' => ['bool', 'pxdoc'=>'resource', 'data'=>'array', 'num'=>'int'], +'qdom_error' => ['string'], +'qdom_tree' => ['QDomDocument', 'doc'=>'string'], +'querymapObj::convertToString' => ['string'], +'querymapObj::free' => ['void'], +'querymapObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'querymapObj::updateFromString' => ['int', 'snippet'=>'string'], +'QuickHashIntHash::__construct' => ['void', 'size'=>'int', 'options='=>'int'], +'QuickHashIntHash::add' => ['bool', 'key'=>'int', 'value='=>'int'], +'QuickHashIntHash::delete' => ['bool', 'key'=>'int'], +'QuickHashIntHash::exists' => ['bool', 'key'=>'int'], +'QuickHashIntHash::get' => ['int', 'key'=>'int'], +'QuickHashIntHash::getSize' => ['int'], +'QuickHashIntHash::loadFromFile' => ['QuickHashIntHash', 'filename'=>'string', 'options='=>'int'], +'QuickHashIntHash::loadFromString' => ['QuickHashIntHash', 'contents'=>'string', 'options='=>'int'], +'QuickHashIntHash::saveToFile' => ['void', 'filename'=>'string'], +'QuickHashIntHash::saveToString' => ['string'], +'QuickHashIntHash::set' => ['bool', 'key'=>'int', 'value'=>'int'], +'QuickHashIntHash::update' => ['bool', 'key'=>'int', 'value'=>'int'], +'QuickHashIntSet::__construct' => ['void', 'size'=>'int', 'options='=>'int'], +'QuickHashIntSet::add' => ['bool', 'key'=>'int'], +'QuickHashIntSet::delete' => ['bool', 'key'=>'int'], +'QuickHashIntSet::exists' => ['bool', 'key'=>'int'], +'QuickHashIntSet::getSize' => ['int'], +'QuickHashIntSet::loadFromFile' => ['QuickHashIntSet', 'filename'=>'string', 'size='=>'int', 'options='=>'int'], +'QuickHashIntSet::loadFromString' => ['QuickHashIntSet', 'contents'=>'string', 'size='=>'int', 'options='=>'int'], +'QuickHashIntSet::saveToFile' => ['void', 'filename'=>'string'], +'QuickHashIntSet::saveToString' => ['string'], +'QuickHashIntStringHash::__construct' => ['void', 'size'=>'int', 'options='=>'int'], +'QuickHashIntStringHash::add' => ['bool', 'key'=>'int', 'value'=>'string'], +'QuickHashIntStringHash::delete' => ['bool', 'key'=>'int'], +'QuickHashIntStringHash::exists' => ['bool', 'key'=>'int'], +'QuickHashIntStringHash::get' => ['mixed', 'key'=>'int'], +'QuickHashIntStringHash::getSize' => ['int'], +'QuickHashIntStringHash::loadFromFile' => ['QuickHashIntStringHash', 'filename'=>'string', 'size='=>'int', 'options='=>'int'], +'QuickHashIntStringHash::loadFromString' => ['QuickHashIntStringHash', 'contents'=>'string', 'size='=>'int', 'options='=>'int'], +'QuickHashIntStringHash::saveToFile' => ['void', 'filename'=>'string'], +'QuickHashIntStringHash::saveToString' => ['string'], +'QuickHashIntStringHash::set' => ['int', 'key'=>'int', 'value'=>'string'], +'QuickHashIntStringHash::update' => ['bool', 'key'=>'int', 'value'=>'string'], +'QuickHashStringIntHash::__construct' => ['void', 'size'=>'int', 'options='=>'int'], +'QuickHashStringIntHash::add' => ['bool', 'key'=>'string', 'value'=>'int'], +'QuickHashStringIntHash::delete' => ['bool', 'key'=>'string'], +'QuickHashStringIntHash::exists' => ['bool', 'key'=>'string'], +'QuickHashStringIntHash::get' => ['mixed', 'key'=>'string'], +'QuickHashStringIntHash::getSize' => ['int'], +'QuickHashStringIntHash::loadFromFile' => ['QuickHashStringIntHash', 'filename'=>'string', 'size='=>'int', 'options='=>'int'], +'QuickHashStringIntHash::loadFromString' => ['QuickHashStringIntHash', 'contents'=>'string', 'size='=>'int', 'options='=>'int'], +'QuickHashStringIntHash::saveToFile' => ['void', 'filename'=>'string'], +'QuickHashStringIntHash::saveToString' => ['string'], +'QuickHashStringIntHash::set' => ['int', 'key'=>'string', 'value'=>'int'], +'QuickHashStringIntHash::update' => ['bool', 'key'=>'string', 'value'=>'int'], +'quoted_printable_decode' => ['string', 'string'=>'string'], +'quoted_printable_encode' => ['string', 'string'=>'string'], +'quotemeta' => ['string', 'string'=>'string'], +'rad2deg' => ['float', 'num'=>'float'], +'radius_acct_open' => ['resource|false'], +'radius_add_server' => ['bool', 'radius_handle'=>'resource', 'hostname'=>'string', 'port'=>'int', 'secret'=>'string', 'timeout'=>'int', 'max_tries'=>'int'], +'radius_auth_open' => ['resource|false'], +'radius_close' => ['bool', 'radius_handle'=>'resource'], +'radius_config' => ['bool', 'radius_handle'=>'resource', 'file'=>'string'], +'radius_create_request' => ['bool', 'radius_handle'=>'resource', 'type'=>'int'], +'radius_cvt_addr' => ['string', 'data'=>'string'], +'radius_cvt_int' => ['int', 'data'=>'string'], +'radius_cvt_string' => ['string', 'data'=>'string'], +'radius_demangle' => ['string', 'radius_handle'=>'resource', 'mangled'=>'string'], +'radius_demangle_mppe_key' => ['string', 'radius_handle'=>'resource', 'mangled'=>'string'], +'radius_get_attr' => ['mixed', 'radius_handle'=>'resource'], +'radius_get_tagged_attr_data' => ['string', 'data'=>'string'], +'radius_get_tagged_attr_tag' => ['int', 'data'=>'string'], +'radius_get_vendor_attr' => ['array', 'data'=>'string'], +'radius_put_addr' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'addr'=>'string'], +'radius_put_attr' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'value'=>'string'], +'radius_put_int' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'value'=>'int'], +'radius_put_string' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'value'=>'string'], +'radius_put_vendor_addr' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'addr'=>'string'], +'radius_put_vendor_attr' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'value'=>'string'], +'radius_put_vendor_int' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'value'=>'int'], +'radius_put_vendor_string' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'value'=>'string'], +'radius_request_authenticator' => ['string', 'radius_handle'=>'resource'], +'radius_salt_encrypt_attr' => ['string', 'radius_handle'=>'resource', 'data'=>'string'], +'radius_send_request' => ['int|false', 'radius_handle'=>'resource'], +'radius_server_secret' => ['string', 'radius_handle'=>'resource'], +'radius_strerror' => ['string', 'radius_handle'=>'resource'], +'rand' => ['int', 'min'=>'int', 'max'=>'int'], +'rand\'1' => ['int'], +'random_bytes' => ['non-empty-string', 'length'=>'positive-int'], +'random_int' => ['int', 'min'=>'int', 'max'=>'int'], +'range' => ['array', 'start'=>'mixed', 'end'=>'mixed', 'step='=>'int|float'], +'RangeException::__clone' => ['void'], +'RangeException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'RangeException::__toString' => ['string'], +'RangeException::getCode' => ['int'], +'RangeException::getFile' => ['string'], +'RangeException::getLine' => ['int'], +'RangeException::getMessage' => ['string'], +'RangeException::getPrevious' => ['?Throwable'], +'RangeException::getTrace' => ['list\',args?:array}>'], +'RangeException::getTraceAsString' => ['string'], +'rar_allow_broken_set' => ['bool', 'rarfile'=>'RarArchive', 'allow_broken'=>'bool'], +'rar_broken_is' => ['bool', 'rarfile'=>'rararchive'], +'rar_close' => ['bool', 'rarfile'=>'rararchive'], +'rar_comment_get' => ['string', 'rarfile'=>'rararchive'], +'rar_entry_get' => ['RarEntry', 'rarfile'=>'RarArchive', 'entryname'=>'string'], +'rar_list' => ['RarArchive', 'rarfile'=>'rararchive'], +'rar_open' => ['RarArchive', 'filename'=>'string', 'password='=>'string', 'volume_callback='=>'callable'], +'rar_solid_is' => ['bool', 'rarfile'=>'rararchive'], +'rar_wrapper_cache_stats' => ['string'], +'RarArchive::__toString' => ['string'], +'RarArchive::close' => ['bool'], +'RarArchive::getComment' => ['string|null'], +'RarArchive::getEntries' => ['RarEntry[]|false'], +'RarArchive::getEntry' => ['RarEntry|false', 'entryname'=>'string'], +'RarArchive::isBroken' => ['bool'], +'RarArchive::isSolid' => ['bool'], +'RarArchive::open' => ['RarArchive|false', 'filename'=>'string', 'password='=>'string', 'volume_callback='=>'callable'], +'RarArchive::setAllowBroken' => ['bool', 'allow_broken'=>'bool'], +'RarEntry::__toString' => ['string'], +'RarEntry::extract' => ['bool', 'dir'=>'string', 'filepath='=>'string', 'password='=>'string', 'extended_data='=>'bool'], +'RarEntry::getAttr' => ['int|false'], +'RarEntry::getCrc' => ['string|false'], +'RarEntry::getFileTime' => ['string|false'], +'RarEntry::getHostOs' => ['int|false'], +'RarEntry::getMethod' => ['int|false'], +'RarEntry::getName' => ['string|false'], +'RarEntry::getPackedSize' => ['int|false'], +'RarEntry::getStream' => ['resource|false', 'password='=>'string'], +'RarEntry::getUnpackedSize' => ['int|false'], +'RarEntry::getVersion' => ['int|false'], +'RarEntry::isDirectory' => ['bool'], +'RarEntry::isEncrypted' => ['bool'], +'RarException::getCode' => ['int'], +'RarException::getFile' => ['string'], +'RarException::getLine' => ['int'], +'RarException::getMessage' => ['string'], +'RarException::getPrevious' => ['Exception|Throwable'], +'RarException::getTrace' => ['list\',args?:array}>'], +'RarException::getTraceAsString' => ['string'], +'RarException::isUsingExceptions' => ['bool'], +'RarException::setUsingExceptions' => ['RarEntry', 'using_exceptions'=>'bool'], +'rawurldecode' => ['string', 'string'=>'string'], +'rawurlencode' => ['string', 'string'=>'string'], +'rd_kafka_err2str' => ['string', 'err'=>'int'], +'rd_kafka_errno' => ['int'], +'rd_kafka_errno2err' => ['int', 'errnox'=>'int'], +'rd_kafka_offset_tail' => ['int', 'cnt'=>'int'], +'RdKafka::addBrokers' => ['int', 'broker_list'=>'string'], +'RdKafka::flush' => ['int', 'timeout_ms'=>'int'], +'RdKafka::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\Topic', 'timeout_ms'=>'int'], +'RdKafka::getOutQLen' => ['int'], +'RdKafka::newQueue' => ['RdKafka\Queue'], +'RdKafka::newTopic' => ['RdKafka\Topic', 'topic_name'=>'string', 'topic_conf='=>'?RdKafka\TopicConf'], +'RdKafka::poll' => ['void', 'timeout_ms'=>'int'], +'RdKafka::setLogLevel' => ['void', 'level'=>'int'], +'RdKafka\Conf::dump' => ['array'], +'RdKafka\Conf::set' => ['void', 'name'=>'string', 'value'=>'string'], +'RdKafka\Conf::setDefaultTopicConf' => ['void', 'topic_conf'=>'RdKafka\TopicConf'], +'RdKafka\Conf::setDrMsgCb' => ['void', 'callback'=>'callable'], +'RdKafka\Conf::setErrorCb' => ['void', 'callback'=>'callable'], +'RdKafka\Conf::setRebalanceCb' => ['void', 'callback'=>'callable'], +'RdKafka\Conf::setStatsCb' => ['void', 'callback'=>'callable'], +'RdKafka\Consumer::__construct' => ['void', 'conf='=>'?RdKafka\Conf'], +'RdKafka\Consumer::addBrokers' => ['int', 'broker_list'=>'string'], +'RdKafka\Consumer::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\Topic', 'timeout_ms'=>'int'], +'RdKafka\Consumer::getOutQLen' => ['int'], +'RdKafka\Consumer::newQueue' => ['RdKafka\Queue'], +'RdKafka\Consumer::newTopic' => ['RdKafka\ConsumerTopic', 'topic_name'=>'string', 'topic_conf='=>'?RdKafka\TopicConf'], +'RdKafka\Consumer::poll' => ['void', 'timeout_ms'=>'int'], +'RdKafka\Consumer::setLogLevel' => ['void', 'level'=>'int'], +'RdKafka\ConsumerTopic::__construct' => ['void'], +'RdKafka\ConsumerTopic::consume' => ['RdKafka\Message', 'partition'=>'int', 'timeout_ms'=>'int'], +'RdKafka\ConsumerTopic::consumeQueueStart' => ['void', 'partition'=>'int', 'offset'=>'int', 'queue'=>'RdKafka\Queue'], +'RdKafka\ConsumerTopic::consumeStart' => ['void', 'partition'=>'int', 'offset'=>'int'], +'RdKafka\ConsumerTopic::consumeStop' => ['void', 'partition'=>'int'], +'RdKafka\ConsumerTopic::getName' => ['string'], +'RdKafka\ConsumerTopic::offsetStore' => ['void', 'partition'=>'int', 'offset'=>'int'], +'RdKafka\KafkaConsumer::__construct' => ['void', 'conf'=>'RdKafka\Conf'], +'RdKafka\KafkaConsumer::assign' => ['void', 'topic_partitions='=>'RdKafka\TopicPartition[]|null'], +'RdKafka\KafkaConsumer::commit' => ['void', 'message_or_offsets='=>'RdKafka\Message|RdKafka\TopicPartition[]|null'], +'RdKafka\KafkaConsumer::commitAsync' => ['void', 'message_or_offsets='=>'RdKafka\Message|RdKafka\TopicPartition[]|null'], +'RdKafka\KafkaConsumer::consume' => ['RdKafka\Message', 'timeout_ms'=>'int'], +'RdKafka\KafkaConsumer::getAssignment' => ['RdKafka\TopicPartition[]'], +'RdKafka\KafkaConsumer::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\KafkaConsumerTopic', 'timeout_ms'=>'int'], +'RdKafka\KafkaConsumer::getSubscription' => ['array'], +'RdKafka\KafkaConsumer::subscribe' => ['void', 'topics'=>'array'], +'RdKafka\KafkaConsumer::unsubscribe' => ['void'], +'RdKafka\KafkaConsumerTopic::getName' => ['string'], +'RdKafka\KafkaConsumerTopic::offsetStore' => ['void', 'partition'=>'int', 'offset'=>'int'], +'RdKafka\Message::errstr' => ['string'], +'RdKafka\Metadata::getBrokers' => ['RdKafka\Metadata\Collection'], +'RdKafka\Metadata::getOrigBrokerId' => ['int'], +'RdKafka\Metadata::getOrigBrokerName' => ['string'], +'RdKafka\Metadata::getTopics' => ['RdKafka\Metadata\Collection|RdKafka\Metadata\Topic[]'], +'RdKafka\Metadata\Collection::__construct' => ['void'], +'RdKafka\Metadata\Collection::count' => ['int'], +'RdKafka\Metadata\Collection::current' => ['mixed'], +'RdKafka\Metadata\Collection::key' => ['mixed'], +'RdKafka\Metadata\Collection::next' => ['void'], +'RdKafka\Metadata\Collection::rewind' => ['void'], +'RdKafka\Metadata\Collection::valid' => ['bool'], +'RdKafka\Metadata\Partition::getErr' => ['mixed'], +'RdKafka\Metadata\Partition::getId' => ['int'], +'RdKafka\Metadata\Partition::getIsrs' => ['mixed'], +'RdKafka\Metadata\Partition::getLeader' => ['mixed'], +'RdKafka\Metadata\Partition::getReplicas' => ['mixed'], +'RdKafka\Metadata\Topic::getErr' => ['mixed'], +'RdKafka\Metadata\Topic::getPartitions' => ['RdKafka\Metadata\Partition[]'], +'RdKafka\Metadata\Topic::getTopic' => ['string'], +'RdKafka\Producer::__construct' => ['void', 'conf='=>'?RdKafka\Conf'], +'RdKafka\Producer::addBrokers' => ['int', 'broker_list'=>'string'], +'RdKafka\Producer::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\Topic', 'timeout_ms'=>'int'], +'RdKafka\Producer::getOutQLen' => ['int'], +'RdKafka\Producer::newQueue' => ['RdKafka\Queue'], +'RdKafka\Producer::newTopic' => ['RdKafka\ProducerTopic', 'topic_name'=>'string', 'topic_conf='=>'?RdKafka\TopicConf'], +'RdKafka\Producer::poll' => ['void', 'timeout_ms'=>'int'], +'RdKafka\Producer::setLogLevel' => ['void', 'level'=>'int'], +'RdKafka\ProducerTopic::__construct' => ['void'], +'RdKafka\ProducerTopic::getName' => ['string'], +'RdKafka\ProducerTopic::produce' => ['void', 'partition'=>'int', 'msgflags'=>'int', 'payload'=>'string', 'key='=>'?string'], +'RdKafka\ProducerTopic::producev' => ['void', 'partition'=>'int', 'msgflags'=>'int', 'payload'=>'string', 'key='=>'?string', 'headers='=>'?array', 'timestamp_ms='=>'?int', 'opaque='=>'?string'], +'RdKafka\Queue::__construct' => ['void'], +'RdKafka\Queue::consume' => ['?RdKafka\Message', 'timeout_ms'=>'string'], +'RdKafka\Topic::getName' => ['string'], +'RdKafka\TopicConf::dump' => ['array'], +'RdKafka\TopicConf::set' => ['void', 'name'=>'string', 'value'=>'string'], +'RdKafka\TopicConf::setPartitioner' => ['void', 'partitioner'=>'int'], +'RdKafka\TopicPartition::__construct' => ['void', 'topic'=>'string', 'partition'=>'int', 'offset='=>'int'], +'RdKafka\TopicPartition::getOffset' => ['int'], +'RdKafka\TopicPartition::getPartition' => ['int'], +'RdKafka\TopicPartition::getTopic' => ['string'], +'RdKafka\TopicPartition::setOffset' => ['void', 'offset'=>'string'], +'RdKafka\TopicPartition::setPartition' => ['void', 'partition'=>'string'], +'RdKafka\TopicPartition::setTopic' => ['void', 'topic_name'=>'string'], +'readdir' => ['string|false', 'dir_handle='=>'resource'], +'readfile' => ['int|false', 'filename'=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], +'readgzfile' => ['int|false', 'filename'=>'string', 'use_include_path='=>'int'], +'readline' => ['string|false', 'prompt='=>'?string'], +'readline_add_history' => ['bool', 'prompt'=>'string'], +'readline_callback_handler_install' => ['bool', 'prompt'=>'string', 'callback'=>'callable'], +'readline_callback_handler_remove' => ['bool'], +'readline_callback_read_char' => ['void'], +'readline_clear_history' => ['bool'], +'readline_completion_function' => ['bool', 'callback'=>'callable'], +'readline_info' => ['mixed', 'var_name='=>'?string', 'value='=>'string|int|bool|null'], +'readline_list_history' => ['array'], +'readline_on_new_line' => ['void'], +'readline_read_history' => ['bool', 'filename='=>'?string'], +'readline_redisplay' => ['void'], +'readline_write_history' => ['bool', 'filename='=>'?string'], +'readlink' => ['string|false', 'path'=>'string'], +'realpath' => ['string|false', 'path'=>'string'], +'realpath_cache_get' => ['array'], +'realpath_cache_size' => ['int'], +'recode' => ['string', 'request'=>'string', 'string'=>'string'], +'recode_file' => ['bool', 'request'=>'string', 'input'=>'resource', 'output'=>'resource'], +'recode_string' => ['string|false', 'request'=>'string', 'string'=>'string'], +'rectObj::__construct' => ['void'], +'rectObj::draw' => ['int', 'map'=>'mapObj', 'layer'=>'layerObj', 'img'=>'imageObj', 'class_index'=>'int', 'text'=>'string'], +'rectObj::fit' => ['float', 'width'=>'int', 'height'=>'int'], +'rectObj::ms_newRectObj' => ['rectObj'], +'rectObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], +'rectObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'rectObj::setextent' => ['void', 'minx'=>'float', 'miny'=>'float', 'maxx'=>'float', 'maxy'=>'float'], +'RecursiveArrayIterator::__construct' => ['void', 'array='=>'array|object', 'flags='=>'int'], +'RecursiveArrayIterator::append' => ['void', 'value'=>'mixed'], +'RecursiveArrayIterator::asort' => ['void'], +'RecursiveArrayIterator::count' => ['int'], +'RecursiveArrayIterator::current' => ['mixed'], +'RecursiveArrayIterator::getArrayCopy' => ['array'], +'RecursiveArrayIterator::getChildren' => ['?RecursiveArrayIterator'], +'RecursiveArrayIterator::getFlags' => ['int'], +'RecursiveArrayIterator::hasChildren' => ['bool'], +'RecursiveArrayIterator::key' => ['string|int|null'], +'RecursiveArrayIterator::ksort' => ['void'], +'RecursiveArrayIterator::natcasesort' => ['true'], +'RecursiveArrayIterator::natsort' => ['true'], +'RecursiveArrayIterator::next' => ['void'], +'RecursiveArrayIterator::offsetExists' => ['void', 'index'=>'string'], +'RecursiveArrayIterator::offsetGet' => ['mixed', 'index'=>'string'], +'RecursiveArrayIterator::offsetSet' => ['void', 'index'=>'string', 'newval'=>'string'], +'RecursiveArrayIterator::offsetUnset' => ['void', 'index'=>'string'], +'RecursiveArrayIterator::rewind' => ['void'], +'RecursiveArrayIterator::seek' => ['void', 'position'=>'int'], +'RecursiveArrayIterator::serialize' => ['string'], +'RecursiveArrayIterator::setFlags' => ['void', 'flags'=>'string'], +'RecursiveArrayIterator::uasort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], +'RecursiveArrayIterator::uksort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], +'RecursiveArrayIterator::unserialize' => ['string', 'serialized'=>'string'], +'RecursiveArrayIterator::valid' => ['bool'], +'RecursiveCachingIterator::__construct' => ['void', 'it'=>'Iterator', 'flags='=>'int'], +'RecursiveCachingIterator::__toString' => ['string'], +'RecursiveCachingIterator::count' => ['int'], +'RecursiveCachingIterator::current' => ['void'], +'RecursiveCachingIterator::getCache' => ['array'], +'RecursiveCachingIterator::getChildren' => ['?RecursiveCachingIterator'], +'RecursiveCachingIterator::getFlags' => ['int'], +'RecursiveCachingIterator::getInnerIterator' => ['Iterator'], +'RecursiveCachingIterator::hasChildren' => ['bool'], +'RecursiveCachingIterator::hasNext' => ['bool'], +'RecursiveCachingIterator::key' => ['bool|float|int|string'], +'RecursiveCachingIterator::next' => ['void'], +'RecursiveCachingIterator::offsetExists' => ['bool', 'index'=>'string'], +'RecursiveCachingIterator::offsetGet' => ['string', 'index'=>'string'], +'RecursiveCachingIterator::offsetSet' => ['void', 'index'=>'string', 'newval'=>'string'], +'RecursiveCachingIterator::offsetUnset' => ['void', 'index'=>'string'], +'RecursiveCachingIterator::rewind' => ['void'], +'RecursiveCachingIterator::setFlags' => ['void', 'flags'=>'int'], +'RecursiveCachingIterator::valid' => ['bool'], +'RecursiveCallbackFilterIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator', 'func'=>'callable'], +'RecursiveCallbackFilterIterator::accept' => ['bool'], +'RecursiveCallbackFilterIterator::current' => ['mixed'], +'RecursiveCallbackFilterIterator::getChildren' => ['RecursiveCallbackFilterIterator'], +'RecursiveCallbackFilterIterator::getInnerIterator' => ['Iterator'], +'RecursiveCallbackFilterIterator::hasChildren' => ['bool'], +'RecursiveCallbackFilterIterator::key' => ['bool|float|int|string'], +'RecursiveCallbackFilterIterator::next' => ['void'], +'RecursiveCallbackFilterIterator::rewind' => ['void'], +'RecursiveCallbackFilterIterator::valid' => ['bool'], +'RecursiveDirectoryIterator::__construct' => ['void', 'path'=>'string', 'flags='=>'int'], +'RecursiveDirectoryIterator::__toString' => ['string'], +'RecursiveDirectoryIterator::current' => ['string|SplFileInfo|FilesystemIterator'], +'RecursiveDirectoryIterator::getATime' => ['int'], +'RecursiveDirectoryIterator::getBasename' => ['string', 'suffix='=>'string'], +'RecursiveDirectoryIterator::getChildren' => ['RecursiveDirectoryIterator'], +'RecursiveDirectoryIterator::getCTime' => ['int'], +'RecursiveDirectoryIterator::getExtension' => ['string'], +'RecursiveDirectoryIterator::getFileInfo' => ['SplFileInfo', 'class_name='=>'string'], +'RecursiveDirectoryIterator::getFilename' => ['string'], +'RecursiveDirectoryIterator::getFlags' => ['int'], +'RecursiveDirectoryIterator::getGroup' => ['int'], +'RecursiveDirectoryIterator::getInode' => ['int'], +'RecursiveDirectoryIterator::getLinkTarget' => ['string'], +'RecursiveDirectoryIterator::getMTime' => ['int'], +'RecursiveDirectoryIterator::getOwner' => ['int'], +'RecursiveDirectoryIterator::getPath' => ['string'], +'RecursiveDirectoryIterator::getPathInfo' => ['SplFileInfo', 'class_name='=>'string'], +'RecursiveDirectoryIterator::getPathname' => ['string'], +'RecursiveDirectoryIterator::getPerms' => ['int'], +'RecursiveDirectoryIterator::getRealPath' => ['string'], +'RecursiveDirectoryIterator::getSize' => ['int'], +'RecursiveDirectoryIterator::getSubPath' => ['string'], +'RecursiveDirectoryIterator::getSubPathname' => ['string'], +'RecursiveDirectoryIterator::getType' => ['string'], +'RecursiveDirectoryIterator::hasChildren' => ['bool', 'allow_links='=>'bool'], +'RecursiveDirectoryIterator::isDir' => ['bool'], +'RecursiveDirectoryIterator::isDot' => ['bool'], +'RecursiveDirectoryIterator::isExecutable' => ['bool'], +'RecursiveDirectoryIterator::isFile' => ['bool'], +'RecursiveDirectoryIterator::isLink' => ['bool'], +'RecursiveDirectoryIterator::isReadable' => ['bool'], +'RecursiveDirectoryIterator::isWritable' => ['bool'], +'RecursiveDirectoryIterator::key' => ['string'], +'RecursiveDirectoryIterator::next' => ['void'], +'RecursiveDirectoryIterator::openFile' => ['SplFileObject', 'mode='=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], +'RecursiveDirectoryIterator::rewind' => ['void'], +'RecursiveDirectoryIterator::seek' => ['void', 'position'=>'int'], +'RecursiveDirectoryIterator::setFileClass' => ['void', 'class_name='=>'string'], +'RecursiveDirectoryIterator::setFlags' => ['void', 'flags='=>'int'], +'RecursiveDirectoryIterator::setInfoClass' => ['void', 'class_name='=>'string'], +'RecursiveDirectoryIterator::valid' => ['bool'], +'RecursiveFilterIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator'], +'RecursiveFilterIterator::accept' => ['bool'], +'RecursiveFilterIterator::current' => ['mixed'], +'RecursiveFilterIterator::getChildren' => ['?RecursiveFilterIterator'], +'RecursiveFilterIterator::getInnerIterator' => ['Iterator'], +'RecursiveFilterIterator::hasChildren' => ['bool'], +'RecursiveFilterIterator::key' => ['mixed'], +'RecursiveFilterIterator::next' => ['void'], +'RecursiveFilterIterator::rewind' => ['void'], +'RecursiveFilterIterator::valid' => ['bool'], +'RecursiveIterator::__construct' => ['void'], +'RecursiveIterator::current' => ['mixed'], +'RecursiveIterator::getChildren' => ['?RecursiveIterator'], +'RecursiveIterator::hasChildren' => ['bool'], +'RecursiveIterator::key' => ['int|string'], +'RecursiveIterator::next' => ['void'], +'RecursiveIterator::rewind' => ['void'], +'RecursiveIterator::valid' => ['bool'], +'RecursiveIteratorIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator|IteratorAggregate', 'mode='=>'int', 'flags='=>'int'], +'RecursiveIteratorIterator::beginChildren' => ['void'], +'RecursiveIteratorIterator::beginIteration' => ['void'], +'RecursiveIteratorIterator::callGetChildren' => ['?RecursiveIterator'], +'RecursiveIteratorIterator::callHasChildren' => ['bool'], +'RecursiveIteratorIterator::current' => ['mixed'], +'RecursiveIteratorIterator::endChildren' => ['void'], +'RecursiveIteratorIterator::endIteration' => ['void'], +'RecursiveIteratorIterator::getDepth' => ['int'], +'RecursiveIteratorIterator::getInnerIterator' => ['RecursiveIterator'], +'RecursiveIteratorIterator::getMaxDepth' => ['int|false'], +'RecursiveIteratorIterator::getSubIterator' => ['?RecursiveIterator', 'level='=>'?int'], +'RecursiveIteratorIterator::key' => ['mixed'], +'RecursiveIteratorIterator::next' => ['void'], +'RecursiveIteratorIterator::nextElement' => ['void'], +'RecursiveIteratorIterator::rewind' => ['void'], +'RecursiveIteratorIterator::setMaxDepth' => ['void', 'max_depth='=>'int'], +'RecursiveIteratorIterator::valid' => ['bool'], +'RecursiveRegexIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator', 'regex'=>'string', 'mode='=>'int', 'flags='=>'int', 'preg_flags='=>'int'], +'RecursiveRegexIterator::accept' => ['bool'], +'RecursiveRegexIterator::current' => ['mixed'], +'RecursiveRegexIterator::getChildren' => ['RecursiveRegexIterator'], +'RecursiveRegexIterator::getFlags' => ['int'], +'RecursiveRegexIterator::getInnerIterator' => ['Iterator'], +'RecursiveRegexIterator::getMode' => ['int'], +'RecursiveRegexIterator::getPregFlags' => ['int'], +'RecursiveRegexIterator::getRegex' => ['string'], +'RecursiveRegexIterator::hasChildren' => ['bool'], +'RecursiveRegexIterator::key' => ['mixed'], +'RecursiveRegexIterator::next' => ['void'], +'RecursiveRegexIterator::rewind' => ['void'], +'RecursiveRegexIterator::setFlags' => ['void', 'new_flags'=>'int'], +'RecursiveRegexIterator::setMode' => ['void', 'new_mode'=>'int'], +'RecursiveRegexIterator::setPregFlags' => ['void', 'new_flags'=>'int'], +'RecursiveRegexIterator::valid' => ['bool'], +'RecursiveTreeIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator|IteratorAggregate', 'flags='=>'int', 'cit_flags='=>'int', 'mode'=>'int'], +'RecursiveTreeIterator::beginChildren' => ['void'], +'RecursiveTreeIterator::beginIteration' => ['void'], +'RecursiveTreeIterator::callGetChildren' => ['?RecursiveIterator'], +'RecursiveTreeIterator::callHasChildren' => ['bool'], +'RecursiveTreeIterator::current' => ['string'], +'RecursiveTreeIterator::endChildren' => ['void'], +'RecursiveTreeIterator::endIteration' => ['void'], +'RecursiveTreeIterator::getDepth' => ['int'], +'RecursiveTreeIterator::getEntry' => ['string'], +'RecursiveTreeIterator::getInnerIterator' => ['RecursiveIterator'], +'RecursiveTreeIterator::getMaxDepth' => ['false|int'], +'RecursiveTreeIterator::getPostfix' => ['string'], +'RecursiveTreeIterator::getPrefix' => ['string'], +'RecursiveTreeIterator::getSubIterator' => ['?RecursiveIterator', 'level='=>'?int'], +'RecursiveTreeIterator::key' => ['string'], +'RecursiveTreeIterator::next' => ['void'], +'RecursiveTreeIterator::nextElement' => ['void'], +'RecursiveTreeIterator::rewind' => ['void'], +'RecursiveTreeIterator::setMaxDepth' => ['void', 'max_depth='=>'int'], +'RecursiveTreeIterator::setPostfix' => ['void', 'prefix'=>'string'], +'RecursiveTreeIterator::setPrefixPart' => ['void', 'part'=>'int', 'prefix'=>'string'], +'RecursiveTreeIterator::valid' => ['bool'], +'Redis::__construct' => ['void'], +'Redis::__destruct' => ['void'], +'Redis::_prefix' => ['string', 'value'=>'mixed'], +'Redis::_serialize' => ['mixed', 'value'=>'mixed'], +'Redis::_unserialize' => ['mixed', 'value'=>'string'], +'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', 'ret_key'=>'string', 'key'=>'string', '...other_keys='=>'string'], +'Redis::bitpos' => ['int', 'key'=>'string', 'bit'=>'int', 'start='=>'int', 'end='=>'int'], +'Redis::blPop' => ['array', 'keys'=>'string[]', 'timeout'=>'int'], +'Redis::blPop\'1' => ['array', 'key'=>'string', 'timeout_or_key'=>'int|string', '...extra_args'=>'int|string'], +'Redis::brPop' => ['array', 'keys'=>'string[]', 'timeout'=>'int'], +'Redis::brPop\'1' => ['array', 'key'=>'string', 'timeout_or_key'=>'int|string', '...extra_args'=>'int|string'], +'Redis::brpoplpush' => ['string|false', 'srcKey'=>'string', 'dstKey'=>'string', 'timeout'=>'int'], +'Redis::clearLastError' => ['bool'], +'Redis::client' => ['mixed', 'command'=>'string', 'arg='=>'string'], +'Redis::close' => ['bool'], +'Redis::command' => ['', '...args'=>''], +'Redis::config' => ['string', 'operation'=>'string', 'key'=>'string', 'value='=>'string'], +'Redis::connect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'reserved='=>'null', 'retry_interval='=>'?int', 'read_timeout='=>'float'], +'Redis::dbSize' => ['int'], +'Redis::debug' => ['', 'key'=>''], +'Redis::decr' => ['int', 'key'=>'string'], +'Redis::decrBy' => ['int', 'key'=>'string', 'value'=>'int'], +'Redis::decrByFloat' => ['float', 'key'=>'string', 'value'=>'float'], +'Redis::del' => ['int', 'key'=>'string', '...args'=>'string'], +'Redis::del\'1' => ['int', 'key'=>'string[]'], +'Redis::delete' => ['int', 'key'=>'string', '...args'=>'string'], +'Redis::delete\'1' => ['int', 'key'=>'string[]'], +'Redis::discard' => [''], +'Redis::dump' => ['string|false', 'key'=>'string'], +'Redis::echo' => ['string', 'message'=>'string'], +'Redis::eval' => ['mixed', 'script'=>'', 'args='=>'', 'numKeys='=>''], +'Redis::evalSha' => ['mixed', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'], +'Redis::evaluate' => ['mixed', 'script'=>'string', 'args='=>'array', 'numKeys='=>'int'], +'Redis::evaluateSha' => ['', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'], +'Redis::exec' => ['array'], +'Redis::exists' => ['int', 'keys'=>'string|string[]'], +'Redis::exists\'1' => ['int', '...keys'=>'string'], +'Redis::expire' => ['bool', 'key'=>'string', 'ttl'=>'int'], +'Redis::expireAt' => ['bool', 'key'=>'string', 'expiry'=>'int'], +'Redis::flushAll' => ['bool', 'async='=>'bool'], +'Redis::flushDb' => ['bool', 'async='=>'bool'], +'Redis::geoAdd' => ['int', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'member'=>'string', '...other_triples='=>'string|int|float'], +'Redis::geoDist' => ['float', 'key'=>'string', 'member1'=>'string', 'member2'=>'string', 'unit='=>'string'], +'Redis::geoHash' => ['array', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], +'Redis::geoPos' => ['array', 'key'=>'string', 'member'=>'string', '...members='=>'string'], +'Redis::geoRadius' => ['array|int', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'radius'=>'float', 'unit'=>'float', 'options='=>'array'], +'Redis::geoRadiusByMember' => ['array|int', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'units'=>'string', 'options='=>'array'], +'Redis::get' => ['string|false', 'key'=>'string'], +'Redis::getAuth' => ['string|false|null'], +'Redis::getBit' => ['int', 'key'=>'string', 'offset'=>'int'], +'Redis::getDBNum' => ['int|false'], +'Redis::getHost' => ['string|false'], +'Redis::getKeys' => ['array', 'pattern'=>'string'], +'Redis::getLastError' => ['?string'], +'Redis::getMode' => ['int'], +'Redis::getMultiple' => ['array', 'keys'=>'string[]'], +'Redis::getOption' => ['int', 'name'=>'int'], +'Redis::getPersistentID' => ['string|false|null'], +'Redis::getPort' => ['int|false'], +'Redis::getRange' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::getReadTimeout' => ['float|false'], +'Redis::getSet' => ['string', 'key'=>'string', 'string'=>'string'], +'Redis::getTimeout' => ['float|false'], +'Redis::hDel' => ['int|false', 'key'=>'string', 'hashKey1'=>'string', '...otherHashKeys='=>'string'], +'Redis::hExists' => ['bool', 'key'=>'string', 'hashKey'=>'string'], +'Redis::hGet' => ['string|false', 'key'=>'string', 'hashKey'=>'string'], +'Redis::hGetAll' => ['array', 'key'=>'string'], +'Redis::hIncrBy' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'int'], +'Redis::hIncrByFloat' => ['float', 'key'=>'string', 'field'=>'string', 'increment'=>'float'], +'Redis::hKeys' => ['array', 'key'=>'string'], +'Redis::hLen' => ['int|false', 'key'=>'string'], +'Redis::hMGet' => ['array', 'key'=>'string', 'hashKeys'=>'array'], +'Redis::hMSet' => ['bool', 'key'=>'string', 'hashKeys'=>'array'], +'Redis::hScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], +'Redis::hSet' => ['int|false', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], +'Redis::hSetNx' => ['bool', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], +'Redis::hStrLen' => ['', 'key'=>'', 'member'=>''], +'Redis::hVals' => ['array', 'key'=>'string'], +'Redis::incr' => ['int', 'key'=>'string'], +'Redis::incrBy' => ['int', 'key'=>'string', 'value'=>'int'], +'Redis::incrByFloat' => ['float', 'key'=>'string', 'value'=>'float'], +'Redis::info' => ['array', 'option='=>'string'], +'Redis::isConnected' => ['bool'], +'Redis::keys' => ['array', 'pattern'=>'string'], +'Redis::lastSave' => ['int'], +'Redis::lGet' => ['string', 'key'=>'string', 'index'=>'int'], +'Redis::lGetRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::lIndex' => ['string|false', 'key'=>'string', 'index'=>'int'], +'Redis::lInsert' => ['int', 'key'=>'string', 'position'=>'int', 'pivot'=>'string', 'value'=>'string'], +'Redis::listTrim' => ['', 'key'=>'string', 'start'=>'int', 'stop'=>'int'], +'Redis::lLen' => ['int|false', 'key'=>'string'], +'Redis::lPop' => ['string|false', 'key'=>'string'], +'Redis::lPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], +'Redis::lPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], +'Redis::lRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::lRem' => ['int|false', 'key'=>'string', 'value'=>'string', 'count'=>'int'], +'Redis::lRemove' => ['int', 'key'=>'string', 'value'=>'string', 'count'=>'int'], +'Redis::lSet' => ['bool', 'key'=>'string', 'index'=>'int', 'value'=>'string'], +'Redis::lSize' => ['int', 'key'=>'string'], +'Redis::lTrim' => ['array|false', 'key'=>'string', 'start'=>'int', 'stop'=>'int'], +'Redis::mGet' => ['array', 'keys'=>'string[]'], +'Redis::migrate' => ['bool', 'host'=>'string', 'port'=>'int', 'key'=>'string|string[]', '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::multi' => ['Redis', 'mode='=>'int'], +'Redis::object' => ['string|long|false', 'info'=>'string', 'key'=>'string'], +'Redis::open' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'reserved='=>'null', 'retry_interval='=>'?int', 'read_timeout='=>'float'], +'Redis::pconnect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'persistent_id='=>'string', 'retry_interval='=>'?int'], +'Redis::persist' => ['bool', 'key'=>'string'], +'Redis::pExpire' => ['bool', 'key'=>'string', 'ttl'=>'int'], +'Redis::pexpireAt' => ['bool', 'key'=>'string', 'expiry'=>'int'], +'Redis::pfAdd' => ['bool', 'key'=>'string', 'elements'=>'array'], +'Redis::pfCount' => ['int', 'key'=>'array|string'], +'Redis::pfMerge' => ['bool', 'destkey'=>'string', 'sourcekeys'=>'array'], +'Redis::ping' => ['string'], +'Redis::pipeline' => ['Redis'], +'Redis::popen' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'persistent_id='=>'string', 'retry_interval='=>'?int'], +'Redis::psetex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'Redis::psubscribe' => ['', 'patterns'=>'array', 'callback'=>'array|string'], +'Redis::pttl' => ['int|false', 'key'=>'string'], +'Redis::publish' => ['int', 'channel'=>'string', 'message'=>'string'], +'Redis::pubsub' => ['array|int', 'keyword'=>'string', 'argument='=>'array|string'], +'Redis::punsubscribe' => ['', 'pattern'=>'string', '...other_patterns='=>'string'], +'Redis::randomKey' => ['string'], +'Redis::rawCommand' => ['mixed', 'command'=>'string', '...arguments='=>'mixed'], +'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' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'Redis::role' => ['array', 'nodeParams'=>'string|array{0:string,1:int}'], +'Redis::rPop' => ['string|false', 'key'=>'string'], +'Redis::rpoplpush' => ['string', 'srcKey'=>'string', 'dstKey'=>'string'], +'Redis::rPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], +'Redis::rPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], +'Redis::sAdd' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], +'Redis::sAddArray' => ['bool', 'key'=>'string', 'values'=>'array'], +'Redis::save' => ['bool'], +'Redis::scan' => ['array|false', '&rw_iterator'=>'?int', 'pattern='=>'?string', 'count='=>'?int'], +'Redis::sCard' => ['int', 'key'=>'string'], +'Redis::sContains' => ['', 'key'=>'string', 'value'=>'string'], +'Redis::script' => ['mixed', 'command'=>'string', '...args='=>'mixed'], +'Redis::sDiff' => ['array', 'key1'=>'string', '...other_keys='=>'string'], +'Redis::sDiffStore' => ['int|false', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], +'Redis::select' => ['bool', 'dbindex'=>'int'], +'Redis::sendEcho' => ['string', 'msg'=>'string'], +'Redis::set' => ['bool', 'key'=>'string', 'value'=>'mixed', 'options='=>'array'], +'Redis::set\'1' => ['bool', 'key'=>'string', 'value'=>'mixed', 'timeout='=>'int'], +'Redis::setBit' => ['int', 'key'=>'string', 'offset'=>'int', 'value'=>'int'], +'Redis::setEx' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'Redis::setNx' => ['bool', 'key'=>'string', 'value'=>'string'], +'Redis::setOption' => ['bool', 'name'=>'int', 'value'=>'mixed'], +'Redis::setRange' => ['int', 'key'=>'string', 'offset'=>'int', 'end'=>'int'], +'Redis::setTimeout' => ['', 'key'=>'string', 'ttl'=>'int'], +'Redis::sGetMembers' => ['', 'key'=>'string'], +'Redis::sInter' => ['array|false', 'key'=>'string', '...other_keys='=>'string'], +'Redis::sInterStore' => ['int|false', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], +'Redis::sIsMember' => ['bool', 'key'=>'string', 'value'=>'string'], +'Redis::slave' => ['bool', 'host'=>'string', 'port'=>'int'], +'Redis::slave\'1' => ['bool', 'host'=>'string', 'port'=>'int'], +'Redis::slaveof' => ['bool', 'host='=>'string', 'port='=>'int'], +'Redis::slowLog' => ['mixed', 'operation'=>'string', 'length='=>'int'], +'Redis::sMembers' => ['array', 'key'=>'string'], +'Redis::sMove' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string', 'member'=>'string'], +'Redis::sort' => ['array|int', 'key'=>'string', 'options='=>'array'], +'Redis::sortAsc' => ['array', 'key'=>'string', 'pattern='=>'string', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], +'Redis::sortAscAlpha' => ['array', 'key'=>'string', 'pattern='=>'', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], +'Redis::sortDesc' => ['array', 'key'=>'string', 'pattern='=>'', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], +'Redis::sortDescAlpha' => ['array', 'key'=>'string', 'pattern='=>'', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], +'Redis::sPop' => ['string|false', 'key'=>'string'], +'Redis::sRandMember' => ['array|string|false', 'key'=>'string', 'count='=>'int'], +'Redis::sRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], +'Redis::sRemove' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], +'Redis::sScan' => ['array|bool', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], +'Redis::sSize' => ['int', 'key'=>'string'], +'Redis::strLen' => ['int', 'key'=>'string'], +'Redis::subscribe' => ['mixed|null', 'channels'=>'array', 'callback'=>'string|array'], +'Redis::substr' => ['', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::sUnion' => ['array', 'key'=>'string', '...other_keys='=>'string'], +'Redis::sUnionStore' => ['int', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], +'Redis::swapdb' => ['bool', 'srcdb'=>'int', 'dstdb'=>'int'], +'Redis::time' => ['array'], +'Redis::ttl' => ['int|false', 'key'=>'string'], +'Redis::type' => ['int', 'key'=>'string'], +'Redis::unlink' => ['int', 'key'=>'string', '...args'=>'string'], +'Redis::unlink\'1' => ['int', 'key'=>'string[]'], +'Redis::unsubscribe' => ['', 'channel'=>'string', '...other_channels='=>'string'], +'Redis::unwatch' => [''], +'Redis::wait' => ['int', 'numSlaves'=>'int', 'timeout'=>'int'], +'Redis::watch' => ['void', 'key'=>'string', '...other_keys='=>'string'], +'Redis::xack' => ['', 'str_key'=>'string', 'str_group'=>'string', 'arr_ids'=>'array'], +'Redis::xadd' => ['', 'str_key'=>'string', 'str_id'=>'string', 'arr_fields'=>'array', 'i_maxlen='=>'', 'boo_approximate='=>''], +'Redis::xclaim' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_consumer'=>'string', 'i_min_idle'=>'', 'arr_ids'=>'array', 'arr_opts='=>'array'], +'Redis::xdel' => ['', 'str_key'=>'string', 'arr_ids'=>'array'], +'Redis::xgroup' => ['', 'str_operation'=>'string', 'str_key='=>'string', 'str_arg1='=>'', 'str_arg2='=>'', 'str_arg3='=>''], +'Redis::xinfo' => ['', 'str_cmd'=>'string', 'str_key='=>'string', 'str_group='=>'string'], +'Redis::xlen' => ['', 'key'=>''], +'Redis::xpending' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_start='=>'', 'str_end='=>'', 'i_count='=>'', 'str_consumer='=>'string'], +'Redis::xrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], +'Redis::xread' => ['', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], +'Redis::xreadgroup' => ['', 'str_group'=>'string', 'str_consumer'=>'string', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], +'Redis::xrevrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], +'Redis::xtrim' => ['', 'str_key'=>'string', 'i_maxlen'=>'', 'boo_approximate='=>''], +'Redis::zAdd' => ['int', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'], +'Redis::zAdd\'1' => ['int', 'options'=>'array', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'], +'Redis::zCard' => ['int', 'key'=>'string'], +'Redis::zCount' => ['int', 'key'=>'string', 'start'=>'string', 'end'=>'string'], +'Redis::zDelete' => ['int', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], +'Redis::zDeleteRangeByRank' => ['', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::zDeleteRangeByScore' => ['', 'key'=>'string', 'start'=>'float', 'end'=>'float'], +'Redis::zIncrBy' => ['float', 'key'=>'string', 'value'=>'float', 'member'=>'string'], +'Redis::zInter' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], +'Redis::zInterStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], +'Redis::zLexCount' => ['int', 'key'=>'string', 'min'=>'string', 'max'=>'string'], +'Redis::zRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscores='=>'bool'], +'Redis::zRangeByLex' => ['array|false', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'], +'Redis::zRangeByScore' => ['array', 'key'=>'string', 'start'=>'int|string', 'end'=>'int|string', 'options='=>'array'], +'Redis::zRank' => ['int', 'key'=>'string', 'member'=>'string'], +'Redis::zRem' => ['int', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], +'Redis::zRemove' => ['int', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], +'Redis::zRemoveRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::zRemoveRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'], +'Redis::zRemRangeByLex' => ['int', 'key'=>'string', 'min'=>'string', 'max'=>'string'], +'Redis::zRemRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'Redis::zRemRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'], +'Redis::zReverseRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'], +'Redis::zRevRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'], +'Redis::zRevRangeByLex' => ['array', 'key'=>'string', 'min'=>'string', 'max'=>'string', 'offset='=>'int', 'limit='=>'int'], +'Redis::zRevRangeByScore' => ['array', 'key'=>'string', 'start'=>'string', 'end'=>'string', 'options='=>'array'], +'Redis::zRevRank' => ['int', 'key'=>'string', 'member'=>'string'], +'Redis::zScan' => ['array|bool', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], +'Redis::zScore' => ['float|false', 'key'=>'string', 'member'=>'string'], +'Redis::zSize' => ['', 'key'=>'string'], +'Redis::zUnion' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], +'Redis::zUnionStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], +'RedisArray::__call' => ['mixed', 'function_name'=>'string', 'arguments'=>'array'], +'RedisArray::__construct' => ['void', 'name='=>'string', 'hosts='=>'?array', 'opts='=>'?array'], +'RedisArray::_continuum' => [''], +'RedisArray::_distributor' => [''], +'RedisArray::_function' => ['string'], +'RedisArray::_hosts' => ['array'], +'RedisArray::_instance' => ['', 'host'=>''], +'RedisArray::_rehash' => ['', 'callable='=>'callable'], +'RedisArray::_target' => ['string', 'key'=>'string'], +'RedisArray::bgsave' => [''], +'RedisArray::del' => ['bool', 'key'=>'string', '...args'=>'string'], +'RedisArray::delete' => ['bool', 'key'=>'string', '...args'=>'string'], +'RedisArray::delete\'1' => ['bool', 'key'=>'string[]'], +'RedisArray::discard' => [''], +'RedisArray::exec' => ['array'], +'RedisArray::flushAll' => ['bool', 'async='=>'bool'], +'RedisArray::flushDb' => ['bool', 'async='=>'bool'], +'RedisArray::getMultiple' => ['', 'keys'=>''], +'RedisArray::getOption' => ['', 'opt'=>''], +'RedisArray::info' => ['array'], +'RedisArray::keys' => ['array', 'pattern'=>''], +'RedisArray::mGet' => ['array', 'keys'=>'string[]'], +'RedisArray::mSet' => ['bool', 'pairs'=>'array'], +'RedisArray::multi' => ['RedisArray', 'host'=>'string', 'mode='=>'int'], +'RedisArray::ping' => ['string'], +'RedisArray::save' => ['bool'], +'RedisArray::select' => ['', 'index'=>''], +'RedisArray::setOption' => ['', 'opt'=>'', 'value'=>''], +'RedisArray::unlink' => ['int', 'key'=>'string', '...other_keys='=>'string'], +'RedisArray::unlink\'1' => ['int', 'key'=>'string[]'], +'RedisArray::unwatch' => [''], +'RedisCluster::__construct' => ['void', 'name'=>'?string', 'seeds='=>'string[]', 'timeout='=>'float', 'readTimeout='=>'float', 'persistent='=>'bool', 'auth='=>'?string'], +'RedisCluster::_masters' => ['array'], +'RedisCluster::_prefix' => ['string', 'value'=>'mixed'], +'RedisCluster::_redir' => [''], +'RedisCluster::_serialize' => ['mixed', 'value'=>'mixed'], +'RedisCluster::_unserialize' => ['mixed', 'value'=>'string'], +'RedisCluster::append' => ['int', 'key'=>'string', 'value'=>'string'], +'RedisCluster::bgrewriteaof' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::bgsave' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::bitCount' => ['int', 'key'=>'string'], +'RedisCluster::bitOp' => ['int', 'operation'=>'string', 'retKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'], +'RedisCluster::bitpos' => ['int', 'key'=>'string', 'bit'=>'int', 'start='=>'int', 'end='=>'int'], +'RedisCluster::blPop' => ['array', 'keys'=>'array', 'timeout'=>'int'], +'RedisCluster::brPop' => ['array', 'keys'=>'array', 'timeout'=>'int'], +'RedisCluster::brpoplpush' => ['string|false', 'srcKey'=>'string', 'dstKey'=>'string', 'timeout'=>'int'], +'RedisCluster::clearLastError' => ['bool'], +'RedisCluster::client' => ['', 'nodeParams'=>'string|array{0:string,1:int}', 'subCmd='=>'string', '...args='=>''], +'RedisCluster::close' => [''], +'RedisCluster::cluster' => ['mixed', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'arguments='=>'mixed'], +'RedisCluster::command' => ['array|bool'], +'RedisCluster::config' => ['array|bool', 'nodeParams'=>'string|array{0:string,1:int}', 'operation'=>'string', 'key'=>'string', 'value='=>'string'], +'RedisCluster::dbSize' => ['int', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::decr' => ['int', 'key'=>'string'], +'RedisCluster::decrBy' => ['int', 'key'=>'string', 'value'=>'int'], +'RedisCluster::del' => ['int', 'key'=>'string', '...other_keys='=>'string'], +'RedisCluster::del\'1' => ['int', 'key'=>'string[]'], +'RedisCluster::discard' => [''], +'RedisCluster::dump' => ['string|false', 'key'=>'string'], +'RedisCluster::echo' => ['string', 'nodeParams'=>'string|array{0:string,1:int}', 'msg'=>'string'], +'RedisCluster::eval' => ['mixed', 'script'=>'', 'args='=>'', 'numKeys='=>''], +'RedisCluster::evalSha' => ['mixed', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'], +'RedisCluster::exec' => ['array|void'], +'RedisCluster::exists' => ['bool', 'key'=>'string'], +'RedisCluster::expire' => ['bool', 'key'=>'string', 'ttl'=>'int'], +'RedisCluster::expireAt' => ['bool', 'key'=>'string', 'timestamp'=>'int'], +'RedisCluster::flushAll' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}', 'async='=>'bool'], +'RedisCluster::flushDB' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}', 'async='=>'bool'], +'RedisCluster::geoAdd' => ['int', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'member'=>'string', '...other_members='=>'float|string'], +'RedisCluster::geoDist' => ['', 'key'=>'string', 'member1'=>'string', 'member2'=>'string', 'unit='=>'string'], +'RedisCluster::geohash' => ['array', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], +'RedisCluster::geopos' => ['array', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], +'RedisCluster::geoRadius' => ['', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'radius'=>'float', 'radiusUnit'=>'string', 'options='=>'array'], +'RedisCluster::geoRadiusByMember' => ['string[]', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'radiusUnit'=>'string', 'options='=>'array'], +'RedisCluster::get' => ['string|false', 'key'=>'string'], +'RedisCluster::getBit' => ['int', 'key'=>'string', 'offset'=>'int'], +'RedisCluster::getLastError' => ['?string'], +'RedisCluster::getMode' => ['int'], +'RedisCluster::getOption' => ['int', 'option'=>'int'], +'RedisCluster::getRange' => ['string', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'RedisCluster::getSet' => ['string', 'key'=>'string', 'value'=>'string'], +'RedisCluster::hDel' => ['int|false', 'key'=>'string', 'hashKey'=>'string', '...other_hashKeys='=>'string[]'], +'RedisCluster::hExists' => ['bool', 'key'=>'string', 'hashKey'=>'string'], +'RedisCluster::hGet' => ['string|false', 'key'=>'string', 'hashKey'=>'string'], +'RedisCluster::hGetAll' => ['array', 'key'=>'string'], +'RedisCluster::hIncrBy' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'int'], +'RedisCluster::hIncrByFloat' => ['float', 'key'=>'string', 'field'=>'string', 'increment'=>'float'], +'RedisCluster::hKeys' => ['array', 'key'=>'string'], +'RedisCluster::hLen' => ['int|false', 'key'=>'string'], +'RedisCluster::hMGet' => ['array', 'key'=>'string', 'hashKeys'=>'array'], +'RedisCluster::hMSet' => ['bool', 'key'=>'string', 'hashKeys'=>'array'], +'RedisCluster::hScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], +'RedisCluster::hSet' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], +'RedisCluster::hSetNx' => ['bool', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], +'RedisCluster::hStrlen' => ['int', 'key'=>'string', 'member'=>'string'], +'RedisCluster::hVals' => ['array', 'key'=>'string'], +'RedisCluster::incr' => ['int', 'key'=>'string'], +'RedisCluster::incrBy' => ['int', 'key'=>'string', 'value'=>'int'], +'RedisCluster::incrByFloat' => ['float', 'key'=>'string', 'increment'=>'float'], +'RedisCluster::info' => ['array', 'nodeParams'=>'string|array{0:string,1:int}', 'option='=>'string'], +'RedisCluster::keys' => ['array', 'pattern'=>'string'], +'RedisCluster::lastSave' => ['int', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::lGet' => ['', 'key'=>'string', 'index'=>'int'], +'RedisCluster::lIndex' => ['string|false', 'key'=>'string', 'index'=>'int'], +'RedisCluster::lInsert' => ['int', 'key'=>'string', 'position'=>'int', 'pivot'=>'string', 'value'=>'string'], +'RedisCluster::lLen' => ['int', 'key'=>'string'], +'RedisCluster::lPop' => ['string|false', 'key'=>'string'], +'RedisCluster::lPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], +'RedisCluster::lPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], +'RedisCluster::lRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'RedisCluster::lRem' => ['int|false', 'key'=>'string', 'value'=>'string', 'count'=>'int'], +'RedisCluster::lSet' => ['bool', 'key'=>'string', 'index'=>'int', 'value'=>'string'], +'RedisCluster::lTrim' => ['array|false', 'key'=>'string', 'start'=>'int', 'stop'=>'int'], +'RedisCluster::mget' => ['array', 'array'=>'array'], +'RedisCluster::mset' => ['bool', 'array'=>'array'], +'RedisCluster::msetnx' => ['int', 'array'=>'array'], +'RedisCluster::multi' => ['Redis', 'mode='=>'int'], +'RedisCluster::object' => ['string|int|false', 'string'=>'string', 'key'=>'string'], +'RedisCluster::persist' => ['bool', 'key'=>'string'], +'RedisCluster::pExpire' => ['bool', 'key'=>'string', 'ttl'=>'int'], +'RedisCluster::pExpireAt' => ['bool', 'key'=>'string', 'timestamp'=>'int'], +'RedisCluster::pfAdd' => ['bool', 'key'=>'string', 'elements'=>'array'], +'RedisCluster::pfCount' => ['int', 'key'=>'string'], +'RedisCluster::pfMerge' => ['bool', 'destKey'=>'string', 'sourceKeys'=>'array'], +'RedisCluster::ping' => ['string', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::psetex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'RedisCluster::psubscribe' => ['mixed', 'patterns'=>'array', 'callback'=>'string'], +'RedisCluster::pttl' => ['int', 'key'=>'string'], +'RedisCluster::publish' => ['int', 'channel'=>'string', 'message'=>'string'], +'RedisCluster::pubsub' => ['array', 'nodeParams'=>'string', 'keyword'=>'string', '...argument='=>'string'], +'RedisCluster::punSubscribe' => ['', 'channels'=>'', 'callback'=>''], +'RedisCluster::randomKey' => ['string', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::rawCommand' => ['mixed', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'arguments='=>'mixed'], +'RedisCluster::rename' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string'], +'RedisCluster::renameNx' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string'], +'RedisCluster::restore' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'RedisCluster::role' => ['array'], +'RedisCluster::rPop' => ['string|false', 'key'=>'string'], +'RedisCluster::rpoplpush' => ['string|false', 'srcKey'=>'string', 'dstKey'=>'string'], +'RedisCluster::rPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], +'RedisCluster::rPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], +'RedisCluster::sAdd' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], +'RedisCluster::sAddArray' => ['int|false', 'key'=>'string', 'valueArray'=>'array'], +'RedisCluster::save' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}'], +'RedisCluster::scan' => ['array|false', '&iterator'=>'int', 'nodeParams'=>'string|array{0:string,1:int}', 'pattern='=>'string', 'count='=>'int'], +'RedisCluster::sCard' => ['int', 'key'=>'string'], +'RedisCluster::script' => ['string|bool|array', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'script='=>'string', '...other_scripts='=>'string[]'], +'RedisCluster::sDiff' => ['list', 'key1'=>'string', 'key2'=>'string', '...other_keys='=>'string'], +'RedisCluster::sDiffStore' => ['int', 'dstKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'], +'RedisCluster::set' => ['bool', 'key'=>'string', 'value'=>'string', 'timeout='=>'array|int'], +'RedisCluster::setBit' => ['int', 'key'=>'string', 'offset'=>'int', 'value'=>'bool|int'], +'RedisCluster::setex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], +'RedisCluster::setnx' => ['bool', 'key'=>'string', 'value'=>'string'], +'RedisCluster::setOption' => ['bool', 'option'=>'int', 'value'=>'string|int'], +'RedisCluster::setRange' => ['string', 'key'=>'string', 'offset'=>'int', 'value'=>'string'], +'RedisCluster::sInter' => ['list', 'key'=>'string', '...other_keys='=>'string'], +'RedisCluster::sInterStore' => ['int', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], +'RedisCluster::sIsMember' => ['bool', 'key'=>'string', 'value'=>'string'], +'RedisCluster::slowLog' => ['array|int|bool', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'length='=>'int'], +'RedisCluster::sMembers' => ['list', 'key'=>'string'], +'RedisCluster::sMove' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string', 'member'=>'string'], +'RedisCluster::sort' => ['array', 'key'=>'string', 'option='=>'array'], +'RedisCluster::sPop' => ['string', 'key'=>'string'], +'RedisCluster::sRandMember' => ['array|string', 'key'=>'string', 'count='=>'int'], +'RedisCluster::sRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], +'RedisCluster::sScan' => ['array|false', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'null', 'count='=>'int'], +'RedisCluster::strlen' => ['int', 'key'=>'string'], +'RedisCluster::subscribe' => ['mixed', 'channels'=>'array', 'callback'=>'string'], +'RedisCluster::sUnion' => ['list', 'key1'=>'string', '...other_keys='=>'string'], +'RedisCluster::sUnion\'1' => ['list', 'keys'=>'string[]'], +'RedisCluster::sUnionStore' => ['int', 'dstKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'], +'RedisCluster::time' => ['array'], +'RedisCluster::ttl' => ['int', 'key'=>'string'], +'RedisCluster::type' => ['int', 'key'=>'string'], +'RedisCluster::unlink' => ['int', 'key'=>'string', '...other_keys='=>'string'], +'RedisCluster::unSubscribe' => ['', 'channels'=>'', '...other_channels='=>''], +'RedisCluster::unwatch' => [''], +'RedisCluster::watch' => ['void', 'key'=>'string', '...other_keys='=>'string'], +'RedisCluster::xack' => ['', 'str_key'=>'string', 'str_group'=>'string', 'arr_ids'=>'array'], +'RedisCluster::xadd' => ['', 'str_key'=>'string', 'str_id'=>'string', 'arr_fields'=>'array', 'i_maxlen='=>'', 'boo_approximate='=>''], +'RedisCluster::xclaim' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_consumer'=>'string', 'i_min_idle'=>'', 'arr_ids'=>'array', 'arr_opts='=>'array'], +'RedisCluster::xdel' => ['', 'str_key'=>'string', 'arr_ids'=>'array'], +'RedisCluster::xgroup' => ['', 'str_operation'=>'string', 'str_key='=>'string', 'str_arg1='=>'', 'str_arg2='=>'', 'str_arg3='=>''], +'RedisCluster::xinfo' => ['', 'str_cmd'=>'string', 'str_key='=>'string', 'str_group='=>'string'], +'RedisCluster::xlen' => ['', 'key'=>''], +'RedisCluster::xpending' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_start='=>'', 'str_end='=>'', 'i_count='=>'', 'str_consumer='=>'string'], +'RedisCluster::xrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], +'RedisCluster::xread' => ['', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], +'RedisCluster::xreadgroup' => ['', 'str_group'=>'string', 'str_consumer'=>'string', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], +'RedisCluster::xrevrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], +'RedisCluster::xtrim' => ['', 'str_key'=>'string', 'i_maxlen'=>'', 'boo_approximate='=>''], +'RedisCluster::zAdd' => ['int', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'], +'RedisCluster::zCard' => ['int', 'key'=>'string'], +'RedisCluster::zCount' => ['int', 'key'=>'string', 'start'=>'string', 'end'=>'string'], +'RedisCluster::zIncrBy' => ['float', 'key'=>'string', 'value'=>'float', 'member'=>'string'], +'RedisCluster::zInterStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], +'RedisCluster::zLexCount' => ['int', 'key'=>'string', 'min'=>'int', 'max'=>'int'], +'RedisCluster::zRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscores='=>'bool'], +'RedisCluster::zRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'], +'RedisCluster::zRangeByScore' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array'], +'RedisCluster::zRank' => ['int', 'key'=>'string', 'member'=>'string'], +'RedisCluster::zRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], +'RedisCluster::zRemRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int'], +'RedisCluster::zRemRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], +'RedisCluster::zRemRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'], +'RedisCluster::zRevRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'], +'RedisCluster::zRevRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'], +'RedisCluster::zRevRangeByScore' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array'], +'RedisCluster::zRevRank' => ['int', 'key'=>'string', 'member'=>'string'], +'RedisCluster::zScan' => ['array|false', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], +'RedisCluster::zScore' => ['float', 'key'=>'string', 'member'=>'string'], +'RedisCluster::zUnionStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], +'Reflection::getModifierNames' => ['list', 'modifiers'=>'int'], +'ReflectionClass::__clone' => ['void'], +'ReflectionClass::__construct' => ['void', 'argument'=>'object|class-string'], +'ReflectionClass::__toString' => ['string'], +'ReflectionClass::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], +'ReflectionClass::getConstant' => ['mixed', 'name'=>'string'], +'ReflectionClass::getConstants' => ['array', 'filter=' => '?int'], +'ReflectionClass::getConstructor' => ['?ReflectionMethod'], +'ReflectionClass::getDefaultProperties' => ['array'], +'ReflectionClass::getDocComment' => ['string|false'], +'ReflectionClass::getEndLine' => ['int|false'], +'ReflectionClass::getExtension' => ['?ReflectionExtension'], +'ReflectionClass::getExtensionName' => ['string|false'], +'ReflectionClass::getFileName' => ['string|false'], +'ReflectionClass::getInterfaceNames' => ['list'], +'ReflectionClass::getInterfaces' => ['array'], +'ReflectionClass::getMethod' => ['ReflectionMethod', 'name'=>'string'], +'ReflectionClass::getMethods' => ['list', 'filter='=>'?int'], +'ReflectionClass::getModifiers' => ['int'], +'ReflectionClass::getName' => ['class-string'], +'ReflectionClass::getNamespaceName' => ['string'], +'ReflectionClass::getParentClass' => ['ReflectionClass|false'], +'ReflectionClass::getProperties' => ['list', 'filter='=>'?int'], +'ReflectionClass::getProperty' => ['ReflectionProperty', 'name'=>'string'], +'ReflectionClass::getReflectionConstant' => ['ReflectionClassConstant|false', 'name'=>'string'], +'ReflectionClass::getReflectionConstants' => ['list', 'filter='=>'?int'], +'ReflectionClass::getShortName' => ['string'], +'ReflectionClass::getStartLine' => ['int|false'], +'ReflectionClass::getStaticProperties' => ['array'], +'ReflectionClass::getStaticPropertyValue' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'ReflectionClass::getTraitAliases' => ['array'], +'ReflectionClass::getTraitNames' => ['list'], +'ReflectionClass::getTraits' => ['array'], +'ReflectionClass::hasConstant' => ['bool', 'name'=>'string'], +'ReflectionClass::hasMethod' => ['bool', 'name'=>'string'], +'ReflectionClass::hasProperty' => ['bool', 'name'=>'string'], +'ReflectionClass::implementsInterface' => ['bool', 'interface_name'=>'interface-string|ReflectionClass'], +'ReflectionClass::inNamespace' => ['bool'], +'ReflectionClass::isAbstract' => ['bool'], +'ReflectionClass::isAnonymous' => ['bool'], +'ReflectionClass::isCloneable' => ['bool'], +'ReflectionClass::isEnum' => ['bool'], +'ReflectionClass::isFinal' => ['bool'], +'ReflectionClass::isInstance' => ['bool', 'object'=>'object'], +'ReflectionClass::isInstantiable' => ['bool'], +'ReflectionClass::isInterface' => ['bool'], +'ReflectionClass::isInternal' => ['bool'], +'ReflectionClass::isIterable' => ['bool'], +'ReflectionClass::isIterateable' => ['bool'], +'ReflectionClass::isSubclassOf' => ['bool', 'class'=>'class-string|ReflectionClass'], +'ReflectionClass::isTrait' => ['bool'], +'ReflectionClass::isUserDefined' => ['bool'], +'ReflectionClass::newInstance' => ['object', '...args='=>'mixed'], +'ReflectionClass::newInstanceArgs' => ['object', 'args='=>'list|array'], +'ReflectionClass::newInstanceWithoutConstructor' => ['object'], +'ReflectionClass::setStaticPropertyValue' => ['void', 'name'=>'string', 'value'=>'mixed'], +'ReflectionClassConstant::__construct' => ['void', 'class'=>'mixed', 'name'=>'string'], +'ReflectionClassConstant::__toString' => ['string'], +'ReflectionClassConstant::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], +'ReflectionClassConstant::getDeclaringClass' => ['ReflectionClass'], +'ReflectionClassConstant::getDocComment' => ['string|false'], +'ReflectionClassConstant::getModifiers' => ['int'], +'ReflectionClassConstant::getName' => ['string'], +'ReflectionClassConstant::getValue' => ['scalar|array|null'], +'ReflectionClassConstant::isPrivate' => ['bool'], +'ReflectionClassConstant::isProtected' => ['bool'], +'ReflectionClassConstant::isPublic' => ['bool'], +'ReflectionEnum::getBackingType' => ['?ReflectionType'], +'ReflectionEnum::getCase' => ['ReflectionEnumUnitCase', 'name' => 'string'], +'ReflectionEnum::getCases' => ['list'], +'ReflectionEnum::hasCase' => ['bool', 'name' => 'string'], +'ReflectionEnum::isBacked' => ['bool'], +'ReflectionEnumUnitCase::getEnum' => ['ReflectionEnum'], +'ReflectionEnumUnitCase::getValue' => ['UnitEnum'], +'ReflectionEnumBackedCase::getBackingValue' => ['string|int'], +'ReflectionExtension::__clone' => ['void'], +'ReflectionExtension::__construct' => ['void', 'name'=>'string'], +'ReflectionExtension::__toString' => ['string'], +'ReflectionExtension::getClasses' => ['array'], +'ReflectionExtension::getClassNames' => ['list'], +'ReflectionExtension::getConstants' => ['array'], +'ReflectionExtension::getDependencies' => ['array'], +'ReflectionExtension::getFunctions' => ['array'], +'ReflectionExtension::getINIEntries' => ['array'], +'ReflectionExtension::getName' => ['string'], +'ReflectionExtension::getVersion' => ['?string'], +'ReflectionExtension::info' => ['void'], +'ReflectionExtension::isPersistent' => ['bool'], +'ReflectionExtension::isTemporary' => ['bool'], +'ReflectionFunction::__construct' => ['void', 'name'=>'callable-string|Closure'], +'ReflectionFunction::__toString' => ['string'], +'ReflectionFunction::getClosure' => ['Closure'], +'ReflectionFunction::getClosureScopeClass' => ['ReflectionClass'], +'ReflectionFunction::getClosureThis' => ['object'], +'ReflectionFunction::getDocComment' => ['string|false'], +'ReflectionFunction::getEndLine' => ['int|false'], +'ReflectionFunction::getExtension' => ['?ReflectionExtension'], +'ReflectionFunction::getExtensionName' => ['string|false'], +'ReflectionFunction::getFileName' => ['string|false'], +'ReflectionFunction::getName' => ['callable-string'], +'ReflectionFunction::getNamespaceName' => ['string'], +'ReflectionFunction::getNumberOfParameters' => ['int'], +'ReflectionFunction::getNumberOfRequiredParameters' => ['int'], +'ReflectionFunction::getParameters' => ['list'], +'ReflectionFunction::getReturnType' => ['?ReflectionType'], +'ReflectionFunction::getShortName' => ['string'], +'ReflectionFunction::getStartLine' => ['int|false'], +'ReflectionFunction::getStaticVariables' => ['array'], +'ReflectionFunction::hasReturnType' => ['bool'], +'ReflectionFunction::inNamespace' => ['bool'], +'ReflectionFunction::invoke' => ['mixed', '...args='=>'mixed'], +'ReflectionFunction::invokeArgs' => ['mixed', 'args'=>'array'], +'ReflectionFunction::isClosure' => ['bool'], +'ReflectionFunction::isDeprecated' => ['bool'], +'ReflectionFunction::isDisabled' => ['bool'], +'ReflectionFunction::isGenerator' => ['bool'], +'ReflectionFunction::isInternal' => ['bool'], +'ReflectionFunction::isUserDefined' => ['bool'], +'ReflectionFunction::isVariadic' => ['bool'], +'ReflectionFunction::returnsReference' => ['bool'], +'ReflectionFunctionAbstract::__clone' => ['void'], +'ReflectionFunctionAbstract::__toString' => ['string'], +'ReflectionFunctionAbstract::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], +'ReflectionFunctionAbstract::getClosureScopeClass' => ['ReflectionClass|null'], +'ReflectionFunctionAbstract::getClosureThis' => ['object|null'], +'ReflectionFunctionAbstract::getDocComment' => ['string|false'], +'ReflectionFunctionAbstract::getEndLine' => ['int|false'], +'ReflectionFunctionAbstract::getExtension' => ['?ReflectionExtension'], +'ReflectionFunctionAbstract::getExtensionName' => ['string|false'], +'ReflectionFunctionAbstract::getFileName' => ['string|false'], +'ReflectionFunctionAbstract::getName' => ['string'], +'ReflectionFunctionAbstract::getNamespaceName' => ['string'], +'ReflectionFunctionAbstract::getNumberOfParameters' => ['int'], +'ReflectionFunctionAbstract::getNumberOfRequiredParameters' => ['int'], +'ReflectionFunctionAbstract::getParameters' => ['list'], +'ReflectionFunctionAbstract::getReturnType' => ['?ReflectionType'], +'ReflectionFunctionAbstract::getShortName' => ['string'], +'ReflectionFunctionAbstract::getStartLine' => ['int|false'], +'ReflectionFunctionAbstract::getStaticVariables' => ['array'], +'ReflectionFunctionAbstract::getTentativeReturnType' => ['?ReflectionType'], +'ReflectionFunctionAbstract::hasReturnType' => ['bool'], +'ReflectionFunctionAbstract::hasTentativeReturnType' => ['bool'], +'ReflectionFunctionAbstract::inNamespace' => ['bool'], +'ReflectionFunctionAbstract::isClosure' => ['bool'], +'ReflectionFunctionAbstract::isDeprecated' => ['bool'], +'ReflectionFunctionAbstract::isGenerator' => ['bool'], +'ReflectionFunctionAbstract::isInternal' => ['bool'], +'ReflectionFunctionAbstract::isStatic' => ['bool'], +'ReflectionFunctionAbstract::isUserDefined' => ['bool'], +'ReflectionFunctionAbstract::isVariadic' => ['bool'], +'ReflectionFunctionAbstract::returnsReference' => ['bool'], +'ReflectionGenerator::__construct' => ['void', 'generator'=>'object'], +'ReflectionGenerator::getExecutingFile' => ['string'], +'ReflectionGenerator::getExecutingGenerator' => ['Generator'], +'ReflectionGenerator::getExecutingLine' => ['int'], +'ReflectionGenerator::getFunction' => ['ReflectionFunctionAbstract'], +'ReflectionGenerator::getThis' => ['?object'], +'ReflectionGenerator::getTrace' => ['array', 'options='=>'int'], +'ReflectionMethod::__construct' => ['void', 'class'=>'class-string|object', 'name'=>'string'], +'ReflectionMethod::__construct\'1' => ['void', 'class_method'=>'string'], +'ReflectionMethod::__toString' => ['string'], +'ReflectionMethod::getClosure' => ['Closure', 'object='=>'?object'], +'ReflectionMethod::getClosureScopeClass' => ['ReflectionClass'], +'ReflectionMethod::getClosureThis' => ['object'], +'ReflectionMethod::getDeclaringClass' => ['ReflectionClass'], +'ReflectionMethod::getDocComment' => ['false|string'], +'ReflectionMethod::getEndLine' => ['false|int'], +'ReflectionMethod::getExtension' => ['?ReflectionExtension'], +'ReflectionMethod::getExtensionName' => ['string|false'], +'ReflectionMethod::getFileName' => ['false|string'], +'ReflectionMethod::getModifiers' => ['int'], +'ReflectionMethod::getName' => ['string'], +'ReflectionMethod::getNamespaceName' => ['string'], +'ReflectionMethod::getNumberOfParameters' => ['int'], +'ReflectionMethod::getNumberOfRequiredParameters' => ['int'], +'ReflectionMethod::getParameters' => ['list<\ReflectionParameter>'], +'ReflectionMethod::getPrototype' => ['ReflectionMethod'], +'ReflectionMethod::getReturnType' => ['?ReflectionType'], +'ReflectionMethod::getShortName' => ['string'], +'ReflectionMethod::getStartLine' => ['false|int'], +'ReflectionMethod::getStaticVariables' => ['array'], +'ReflectionMethod::hasReturnType' => ['bool'], +'ReflectionMethod::inNamespace' => ['bool'], +'ReflectionMethod::invoke' => ['mixed', 'object'=>'?object', '...args='=>'mixed'], +'ReflectionMethod::invokeArgs' => ['mixed', 'object'=>'?object', 'args'=>'array'], +'ReflectionMethod::isAbstract' => ['bool'], +'ReflectionMethod::isClosure' => ['bool'], +'ReflectionMethod::isConstructor' => ['bool'], +'ReflectionMethod::isDeprecated' => ['bool'], +'ReflectionMethod::isDestructor' => ['bool'], +'ReflectionMethod::isFinal' => ['bool'], +'ReflectionMethod::isGenerator' => ['bool'], +'ReflectionMethod::isInternal' => ['bool'], +'ReflectionMethod::isPrivate' => ['bool'], +'ReflectionMethod::isProtected' => ['bool'], +'ReflectionMethod::isPublic' => ['bool'], +'ReflectionMethod::isUserDefined' => ['bool'], +'ReflectionMethod::isVariadic' => ['bool'], +'ReflectionMethod::returnsReference' => ['bool'], +'ReflectionMethod::setAccessible' => ['void', 'visible'=>'bool'], +'ReflectionNamedType::__clone' => ['void'], +'ReflectionNamedType::__toString' => ['string'], +'ReflectionNamedType::allowsNull' => ['bool'], +'ReflectionNamedType::getName' => ['string'], +'ReflectionNamedType::isBuiltin' => ['bool'], +'ReflectionObject::__clone' => ['void'], +'ReflectionObject::__construct' => ['void', 'argument'=>'object'], +'ReflectionObject::__toString' => ['string'], +'ReflectionObject::getConstant' => ['mixed', 'name'=>'string'], +'ReflectionObject::getConstants' => ['array'], +'ReflectionObject::getConstructor' => ['?ReflectionMethod'], +'ReflectionObject::getDefaultProperties' => ['array'], +'ReflectionObject::getDocComment' => ['false|string'], +'ReflectionObject::getEndLine' => ['false|int'], +'ReflectionObject::getExtension' => ['?ReflectionExtension'], +'ReflectionObject::getExtensionName' => ['false|string'], +'ReflectionObject::getFileName' => ['false|string'], +'ReflectionObject::getInterfaceNames' => ['class-string[]'], +'ReflectionObject::getInterfaces' => ['array'], +'ReflectionObject::getMethod' => ['ReflectionMethod', 'name'=>'string'], +'ReflectionObject::getMethods' => ['ReflectionMethod[]', 'filter='=>'?int'], +'ReflectionObject::getModifiers' => ['int'], +'ReflectionObject::getName' => ['string'], +'ReflectionObject::getNamespaceName' => ['string'], +'ReflectionObject::getParentClass' => ['ReflectionClass|false'], +'ReflectionObject::getProperties' => ['ReflectionProperty[]', 'filter='=>'?int'], +'ReflectionObject::getProperty' => ['ReflectionProperty', 'name'=>'string'], +'ReflectionObject::getReflectionConstant' => ['ReflectionClassConstant', 'name'=>'string'], +'ReflectionObject::getReflectionConstants' => ['list<\ReflectionClassConstant>'], +'ReflectionObject::getShortName' => ['string'], +'ReflectionObject::getStartLine' => ['false|int'], +'ReflectionObject::getStaticProperties' => ['ReflectionProperty[]'], +'ReflectionObject::getStaticPropertyValue' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'ReflectionObject::getTraitAliases' => ['array'], +'ReflectionObject::getTraitNames' => ['list'], +'ReflectionObject::getTraits' => ['array'], +'ReflectionObject::hasConstant' => ['bool', 'name'=>'string'], +'ReflectionObject::hasMethod' => ['bool', 'name'=>'string'], +'ReflectionObject::hasProperty' => ['bool', 'name'=>'string'], +'ReflectionObject::implementsInterface' => ['bool', 'interface_name'=>'ReflectionClass|string'], +'ReflectionObject::inNamespace' => ['bool'], +'ReflectionObject::isAbstract' => ['bool'], +'ReflectionObject::isAnonymous' => ['bool'], +'ReflectionObject::isCloneable' => ['bool'], +'ReflectionObject::isEnum' => ['bool'], +'ReflectionObject::isFinal' => ['bool'], +'ReflectionObject::isInstance' => ['bool', 'object'=>'object'], +'ReflectionObject::isInstantiable' => ['bool'], +'ReflectionObject::isInterface' => ['bool'], +'ReflectionObject::isInternal' => ['bool'], +'ReflectionObject::isIterable' => ['bool'], +'ReflectionObject::isIterateable' => ['bool'], +'ReflectionObject::isSubclassOf' => ['bool', 'class'=>'ReflectionClass|string'], +'ReflectionObject::isTrait' => ['bool'], +'ReflectionObject::isUserDefined' => ['bool'], +'ReflectionObject::newInstance' => ['object', 'args='=>'mixed', '...args='=>'array'], +'ReflectionObject::newInstanceArgs' => ['object', 'args='=>'list|array'], +'ReflectionObject::newInstanceWithoutConstructor' => ['object'], +'ReflectionObject::setStaticPropertyValue' => ['void', 'name'=>'string', 'value'=>'string'], +'ReflectionParameter::__clone' => ['void'], +'ReflectionParameter::__construct' => ['void', 'function'=>'', 'parameter'=>''], +'ReflectionParameter::__toString' => ['string'], +'ReflectionParameter::allowsNull' => ['bool'], +'ReflectionParameter::canBePassedByValue' => ['bool'], +'ReflectionParameter::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], +'ReflectionParameter::getClass' => ['?ReflectionClass'], +'ReflectionParameter::getDeclaringClass' => ['?ReflectionClass'], +'ReflectionParameter::getDeclaringFunction' => ['ReflectionFunctionAbstract'], +'ReflectionParameter::getDefaultValue' => ['mixed'], +'ReflectionParameter::getDefaultValueConstantName' => ['?string'], +'ReflectionParameter::getName' => ['string'], +'ReflectionParameter::getPosition' => ['int'], +'ReflectionParameter::getType' => ['?ReflectionType'], +'ReflectionParameter::hasType' => ['bool'], +'ReflectionParameter::isArray' => ['bool'], +'ReflectionParameter::isCallable' => ['bool'], +'ReflectionParameter::isDefaultValueAvailable' => ['bool'], +'ReflectionParameter::isDefaultValueConstant' => ['bool'], +'ReflectionParameter::isOptional' => ['bool'], +'ReflectionParameter::isPassedByReference' => ['bool'], +'ReflectionParameter::isVariadic' => ['bool'], +'ReflectionProperty::__clone' => ['void'], +'ReflectionProperty::__construct' => ['void', 'class'=>'', 'name'=>'string'], +'ReflectionProperty::__toString' => ['string'], +'ReflectionProperty::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], +'ReflectionProperty::getDeclaringClass' => ['ReflectionClass'], +'ReflectionProperty::getDocComment' => ['string|false'], +'ReflectionProperty::getModifiers' => ['int'], +'ReflectionProperty::getName' => ['string'], +'ReflectionProperty::getType' => ['?ReflectionType'], +'ReflectionProperty::getValue' => ['mixed', 'object='=>'null|object'], +'ReflectionProperty::hasType' => ['bool'], +'ReflectionProperty::isDefault' => ['bool'], +'ReflectionProperty::isPrivate' => ['bool'], +'ReflectionProperty::isProtected' => ['bool'], +'ReflectionProperty::isPublic' => ['bool'], +'ReflectionProperty::isStatic' => ['bool'], +'ReflectionProperty::setAccessible' => ['void', 'visible'=>'bool'], +'ReflectionProperty::setValue' => ['void', 'object'=>'null|object', 'value'=>''], +'ReflectionProperty::setValue\'1' => ['void', 'value'=>''], +'ReflectionType::__clone' => ['void'], +'ReflectionType::__toString' => ['string'], +'ReflectionType::allowsNull' => ['bool'], +'ReflectionUnionType::getTypes' => ['list'], +'ReflectionZendExtension::__clone' => ['void'], +'ReflectionZendExtension::__construct' => ['void', 'name'=>'string'], +'ReflectionZendExtension::__toString' => ['string'], +'ReflectionZendExtension::getAuthor' => ['string'], +'ReflectionZendExtension::getCopyright' => ['string'], +'ReflectionZendExtension::getName' => ['string'], +'ReflectionZendExtension::getURL' => ['string'], +'ReflectionZendExtension::getVersion' => ['string'], +'Reflector::__toString' => ['string'], +'Reflector::export' => ['?string'], +'RegexIterator::__construct' => ['void', 'iterator'=>'Iterator', 'regex'=>'string', 'mode='=>'int', 'flags='=>'int', 'preg_flags='=>'int'], +'RegexIterator::accept' => ['bool'], +'RegexIterator::current' => ['mixed'], +'RegexIterator::getFlags' => ['int'], +'RegexIterator::getInnerIterator' => ['Iterator'], +'RegexIterator::getMode' => ['int'], +'RegexIterator::getPregFlags' => ['int'], +'RegexIterator::getRegex' => ['string'], +'RegexIterator::key' => ['mixed'], +'RegexIterator::next' => ['void'], +'RegexIterator::rewind' => ['void'], +'RegexIterator::setFlags' => ['void', 'new_flags'=>'int'], +'RegexIterator::setMode' => ['void', 'new_mode'=>'int'], +'RegexIterator::setPregFlags' => ['void', 'new_flags'=>'int'], +'RegexIterator::valid' => ['bool'], +'register_event_handler' => ['bool', 'event_handler_func'=>'string', 'handler_register_name'=>'string', 'event_type_mask'=>'int'], +'register_shutdown_function' => ['void', 'callback'=>'callable', '...args='=>'mixed'], +'register_tick_function' => ['bool', 'callback'=>'callable():void', '...args='=>'mixed'], +'rename' => ['bool', 'from'=>'string', 'to'=>'string', 'context='=>'resource'], +'rename_function' => ['bool', 'original_name'=>'string', 'new_name'=>'string'], +'reset' => ['mixed|false', '&r_array'=>'array|object'], +'ResourceBundle::__construct' => ['void', 'locale'=>'string', 'bundlename'=>'string', 'fallback='=>'bool'], +'ResourceBundle::count' => ['int'], +'ResourceBundle::create' => ['?ResourceBundle', 'locale'=>'string', 'bundlename'=>'string', 'fallback='=>'bool'], +'ResourceBundle::get' => ['mixed', 'index'=>'string|int', 'fallback='=>'bool'], +'ResourceBundle::getErrorCode' => ['int'], +'ResourceBundle::getErrorMessage' => ['string'], +'ResourceBundle::getLocales' => ['array', 'bundlename'=>'string'], +'resourcebundle_count' => ['int', 'bundle'=>'ResourceBundle'], +'resourcebundle_create' => ['?ResourceBundle', 'locale'=>'?string', 'bundle'=>'?string', 'fallback='=>'bool'], +'resourcebundle_get' => ['mixed|null', 'bundle'=>'ResourceBundle', 'index'=>'string|int', 'fallback='=>'bool'], +'resourcebundle_get_error_code' => ['int', 'bundle'=>'ResourceBundle'], +'resourcebundle_get_error_message' => ['string', 'bundle'=>'ResourceBundle'], +'resourcebundle_locales' => ['array', 'bundle'=>'string'], +'restore_error_handler' => ['true'], +'restore_exception_handler' => ['true'], +'restore_include_path' => ['void'], +'rewind' => ['bool', 'stream'=>'resource'], +'rewinddir' => ['void', 'dir_handle='=>'resource'], +'rmdir' => ['bool', 'directory'=>'string', 'context='=>'resource'], +'round' => ['float', 'num'=>'float', 'precision='=>'int', 'mode='=>'0|positive-int'], +'rpm_close' => ['bool', 'rpmr'=>'resource'], +'rpm_get_tag' => ['mixed', 'rpmr'=>'resource', 'tagnum'=>'int'], +'rpm_is_valid' => ['bool', 'filename'=>'string'], +'rpm_open' => ['resource|false', 'filename'=>'string'], +'rpm_version' => ['string'], +'rpmaddtag' => ['bool', 'tag'=>'int'], +'rpmdbinfo' => ['array', 'nevr'=>'string', 'full='=>'bool'], +'rpmdbsearch' => ['array', 'pattern'=>'string', 'rpmtag='=>'int', 'rpmmire='=>'int', 'full='=>'bool'], +'rpminfo' => ['array', 'path'=>'string', 'full='=>'bool', 'error='=>'string'], +'rpmvercmp' => ['int', 'evr1'=>'string', 'evr2'=>'string'], +'rrd_create' => ['bool', 'filename'=>'string', 'options'=>'array'], +'rrd_disconnect' => ['void'], +'rrd_error' => ['string'], +'rrd_fetch' => ['array', 'filename'=>'string', 'options'=>'array'], +'rrd_first' => ['int|false', 'file'=>'string', 'raaindex='=>'int'], +'rrd_graph' => ['array|false', 'filename'=>'string', 'options'=>'array'], +'rrd_info' => ['array|false', 'filename'=>'string'], +'rrd_last' => ['int', 'filename'=>'string'], +'rrd_lastupdate' => ['array|false', 'filename'=>'string'], +'rrd_restore' => ['bool', 'xml_file'=>'string', 'rrd_file'=>'string', 'options='=>'array'], +'rrd_tune' => ['bool', 'filename'=>'string', 'options'=>'array'], +'rrd_update' => ['bool', 'filename'=>'string', 'options'=>'array'], +'rrd_version' => ['string'], +'rrd_xport' => ['array|false', 'options'=>'array'], +'rrdc_disconnect' => ['void'], +'RRDCreator::__construct' => ['void', 'path'=>'string', 'starttime='=>'string', 'step='=>'int'], +'RRDCreator::addArchive' => ['void', 'description'=>'string'], +'RRDCreator::addDataSource' => ['void', 'description'=>'string'], +'RRDCreator::save' => ['bool'], +'RRDGraph::__construct' => ['void', 'path'=>'string'], +'RRDGraph::save' => ['array|false'], +'RRDGraph::saveVerbose' => ['array|false'], +'RRDGraph::setOptions' => ['void', 'options'=>'array'], +'RRDUpdater::__construct' => ['void', 'path'=>'string'], +'RRDUpdater::update' => ['bool', 'values'=>'array', 'time='=>'string'], +'rsort' => ['bool', '&rw_array'=>'array', 'flags='=>'int'], +'rtrim' => ['string', 'string'=>'string', 'characters='=>'string'], +'runkit7_constant_add' => ['bool', 'constant_name'=>'string', 'value'=>'mixed', 'new_visibility='=>'int'], +'runkit7_constant_redefine' => ['bool', 'constant_name'=>'string', 'value'=>'mixed', 'new_visibility='=>'?int'], +'runkit7_constant_remove' => ['bool', 'constant_name'=>'string'], +'runkit7_function_add' => ['bool', 'function_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_doc_comment='=>'?string', 'return_by_reference='=>'?bool', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], +'runkit7_function_copy' => ['bool', 'source_name'=>'string', 'target_name'=>'string'], +'runkit7_function_redefine' => ['bool', 'function_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_doc_comment='=>'?string', 'return_by_reference='=>'?bool', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], +'runkit7_function_remove' => ['bool', 'function_name'=>'string'], +'runkit7_function_rename' => ['bool', 'source_name'=>'string', 'target_name'=>'string'], +'runkit7_import' => ['bool', 'filename'=>'string', 'flags='=>'?int'], +'runkit7_method_add' => ['bool', 'class_name'=>'string', 'method_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_flags='=>'int|null|string', 'flags_or_doc_comment='=>'int|null|string', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], +'runkit7_method_copy' => ['bool', 'destination_class'=>'string', 'destination_method'=>'string', 'source_class'=>'string', 'source_method='=>'?string'], +'runkit7_method_redefine' => ['bool', 'class_name'=>'string', 'method_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_flags='=>'int|null|string', 'flags_or_doc_comment='=>'int|null|string', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], +'runkit7_method_remove' => ['bool', 'class_name'=>'string', 'method_name'=>'string'], +'runkit7_method_rename' => ['bool', 'class_name'=>'string', 'source_method_name'=>'string', 'source_target_name'=>'string'], +'runkit7_superglobals' => ['array'], +'runkit7_zval_inspect' => ['array', 'value'=>'mixed'], +'runkit_class_adopt' => ['bool', 'classname'=>'string', 'parentname'=>'string'], +'runkit_class_emancipate' => ['bool', 'classname'=>'string'], +'runkit_constant_add' => ['bool', 'constname'=>'string', 'value'=>'mixed'], +'runkit_constant_redefine' => ['bool', 'constname'=>'string', 'newvalue'=>'mixed'], +'runkit_constant_remove' => ['bool', 'constname'=>'string'], +'runkit_function_add' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string', 'doccomment='=>'?string'], +'runkit_function_add\'1' => ['bool', 'funcname'=>'string', 'closure'=>'Closure', 'doccomment='=>'?string'], +'runkit_function_copy' => ['bool', 'funcname'=>'string', 'targetname'=>'string'], +'runkit_function_redefine' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string', 'doccomment='=>'?string'], +'runkit_function_redefine\'1' => ['bool', 'funcname'=>'string', 'closure'=>'Closure', 'doccomment='=>'?string'], +'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', 'doccomment='=>'?string'], +'runkit_method_add\'1' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'closure'=>'Closure', 'flags='=>'int', 'doccomment='=>'?string'], +'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', 'doccomment='=>'?string'], +'runkit_method_redefine\'1' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'closure'=>'Closure', 'flags='=>'int', 'doccomment='=>'?string'], +'runkit_method_remove' => ['bool', 'classname'=>'string', 'methodname'=>'string'], +'runkit_method_rename' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'newname'=>'string'], +'runkit_return_value_used' => ['bool'], +'Runkit_Sandbox::__construct' => ['void', 'options='=>'array'], +'runkit_sandbox_output_handler' => ['mixed', 'sandbox'=>'object', 'callback='=>'mixed'], +'Runkit_Sandbox_Parent' => [''], +'Runkit_Sandbox_Parent::__construct' => ['void'], +'runkit_superglobals' => ['array'], +'runkit_zval_inspect' => ['array', 'value'=>'mixed'], +'RuntimeException::__clone' => ['void'], +'RuntimeException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'RuntimeException::__toString' => ['string'], +'RuntimeException::getCode' => ['int'], +'RuntimeException::getFile' => ['string'], +'RuntimeException::getLine' => ['int'], +'RuntimeException::getMessage' => ['string'], +'RuntimeException::getPrevious' => ['?Throwable'], +'RuntimeException::getTrace' => ['list\',args?:array}>'], +'RuntimeException::getTraceAsString' => ['string'], +'SAMConnection::commit' => ['bool'], +'SAMConnection::connect' => ['bool', 'protocol'=>'string', 'properties='=>'array'], +'SAMConnection::disconnect' => ['bool'], +'SAMConnection::errno' => ['int'], +'SAMConnection::error' => ['string'], +'SAMConnection::isConnected' => ['bool'], +'SAMConnection::peek' => ['SAMMessage', 'target'=>'string', 'properties='=>'array'], +'SAMConnection::peekAll' => ['array', 'target'=>'string', 'properties='=>'array'], +'SAMConnection::receive' => ['SAMMessage', 'target'=>'string', 'properties='=>'array'], +'SAMConnection::remove' => ['SAMMessage', 'target'=>'string', 'properties='=>'array'], +'SAMConnection::rollback' => ['bool'], +'SAMConnection::send' => ['string', 'target'=>'string', 'msg'=>'sammessage', 'properties='=>'array'], +'SAMConnection::setDebug' => ['', 'switch'=>'bool'], +'SAMConnection::subscribe' => ['string', 'targettopic'=>'string'], +'SAMConnection::unsubscribe' => ['bool', 'subscriptionid'=>'string', 'targettopic='=>'string'], +'SAMMessage::body' => ['string'], +'SAMMessage::header' => ['object'], +'sapi_windows_cp_conv' => ['?string', 'in_codepage'=>'int|string', 'out_codepage'=>'int|string', 'subject'=>'string'], +'sapi_windows_cp_get' => ['int', 'kind='=>'string'], +'sapi_windows_cp_is_utf8' => ['bool'], +'sapi_windows_cp_set' => ['bool', 'codepage'=>'int'], +'sapi_windows_vt100_support' => ['bool', 'stream'=>'resource', 'enable='=>'?bool'], +'Saxon\SaxonProcessor::__construct' => ['void', 'license='=>'bool', 'cwd='=>'string'], +'Saxon\SaxonProcessor::createAtomicValue' => ['Saxon\XdmValue', 'primitive_type_val'=>'bool|float|int|string'], +'Saxon\SaxonProcessor::newSchemaValidator' => ['Saxon\SchemaValidator'], +'Saxon\SaxonProcessor::newXPathProcessor' => ['Saxon\XPathProcessor'], +'Saxon\SaxonProcessor::newXQueryProcessor' => ['Saxon\XQueryProcessor'], +'Saxon\SaxonProcessor::newXsltProcessor' => ['Saxon\XsltProcessor'], +'Saxon\SaxonProcessor::parseXmlFromFile' => ['Saxon\XdmNode', 'fileName'=>'string'], +'Saxon\SaxonProcessor::parseXmlFromString' => ['Saxon\XdmNode', 'value'=>'string'], +'Saxon\SaxonProcessor::registerPHPFunctions' => ['void', 'library'=>'string'], +'Saxon\SaxonProcessor::setConfigurationProperty' => ['void', 'name'=>'string', 'value'=>'string'], +'Saxon\SaxonProcessor::setcwd' => ['void', 'cwd'=>'string'], +'Saxon\SaxonProcessor::setResourceDirectory' => ['void', 'dir'=>'string'], +'Saxon\SaxonProcessor::version' => ['string'], +'Saxon\SchemaValidator::clearParameters' => ['void'], +'Saxon\SchemaValidator::clearProperties' => ['void'], +'Saxon\SchemaValidator::exceptionClear' => ['void'], +'Saxon\SchemaValidator::getErrorCode' => ['string', 'i'=>'int'], +'Saxon\SchemaValidator::getErrorMessage' => ['string', 'i'=>'int'], +'Saxon\SchemaValidator::getExceptionCount' => ['int'], +'Saxon\SchemaValidator::getValidationReport' => ['Saxon\XdmNode'], +'Saxon\SchemaValidator::registerSchemaFromFile' => ['void', 'fileName'=>'string'], +'Saxon\SchemaValidator::registerSchemaFromString' => ['void', 'schemaStr'=>'string'], +'Saxon\SchemaValidator::setOutputFile' => ['void', 'fileName'=>'string'], +'Saxon\SchemaValidator::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], +'Saxon\SchemaValidator::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], +'Saxon\SchemaValidator::setSourceNode' => ['void', 'node'=>'Saxon\XdmNode'], +'Saxon\SchemaValidator::validate' => ['void', 'filename='=>'?string'], +'Saxon\SchemaValidator::validateToNode' => ['Saxon\XdmNode', 'filename='=>'?string'], +'Saxon\XdmAtomicValue::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], +'Saxon\XdmAtomicValue::getAtomicValue' => ['?Saxon\XdmAtomicValue'], +'Saxon\XdmAtomicValue::getBooleanValue' => ['bool'], +'Saxon\XdmAtomicValue::getDoubleValue' => ['float'], +'Saxon\XdmAtomicValue::getHead' => ['Saxon\XdmItem'], +'Saxon\XdmAtomicValue::getLongValue' => ['int'], +'Saxon\XdmAtomicValue::getNodeValue' => ['?Saxon\XdmNode'], +'Saxon\XdmAtomicValue::getStringValue' => ['string'], +'Saxon\XdmAtomicValue::isAtomic' => ['true'], +'Saxon\XdmAtomicValue::isNode' => ['bool'], +'Saxon\XdmAtomicValue::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], +'Saxon\XdmAtomicValue::size' => ['int'], +'Saxon\XdmItem::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], +'Saxon\XdmItem::getAtomicValue' => ['?Saxon\XdmAtomicValue'], +'Saxon\XdmItem::getHead' => ['Saxon\XdmItem'], +'Saxon\XdmItem::getNodeValue' => ['?Saxon\XdmNode'], +'Saxon\XdmItem::getStringValue' => ['string'], +'Saxon\XdmItem::isAtomic' => ['bool'], +'Saxon\XdmItem::isNode' => ['bool'], +'Saxon\XdmItem::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], +'Saxon\XdmItem::size' => ['int'], +'Saxon\XdmNode::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], +'Saxon\XdmNode::getAtomicValue' => ['?Saxon\XdmAtomicValue'], +'Saxon\XdmNode::getAttributeCount' => ['int'], +'Saxon\XdmNode::getAttributeNode' => ['?Saxon\XdmNode', 'index'=>'int'], +'Saxon\XdmNode::getAttributeValue' => ['?string', 'index'=>'int'], +'Saxon\XdmNode::getChildCount' => ['int'], +'Saxon\XdmNode::getChildNode' => ['?Saxon\XdmNode', 'index'=>'int'], +'Saxon\XdmNode::getHead' => ['Saxon\XdmItem'], +'Saxon\XdmNode::getNodeKind' => ['int'], +'Saxon\XdmNode::getNodeName' => ['string'], +'Saxon\XdmNode::getNodeValue' => ['?Saxon\XdmNode'], +'Saxon\XdmNode::getParent' => ['?Saxon\XdmNode'], +'Saxon\XdmNode::getStringValue' => ['string'], +'Saxon\XdmNode::isAtomic' => ['false'], +'Saxon\XdmNode::isNode' => ['bool'], +'Saxon\XdmNode::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], +'Saxon\XdmNode::size' => ['int'], +'Saxon\XdmValue::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], +'Saxon\XdmValue::getHead' => ['Saxon\XdmItem'], +'Saxon\XdmValue::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], +'Saxon\XdmValue::size' => ['int'], +'Saxon\XPathProcessor::clearParameters' => ['void'], +'Saxon\XPathProcessor::clearProperties' => ['void'], +'Saxon\XPathProcessor::declareNamespace' => ['void', 'prefix'=>'', 'namespace'=>''], +'Saxon\XPathProcessor::effectiveBooleanValue' => ['bool', 'xpathStr'=>'string'], +'Saxon\XPathProcessor::evaluate' => ['Saxon\XdmValue', 'xpathStr'=>'string'], +'Saxon\XPathProcessor::evaluateSingle' => ['Saxon\XdmItem', 'xpathStr'=>'string'], +'Saxon\XPathProcessor::exceptionClear' => ['void'], +'Saxon\XPathProcessor::getErrorCode' => ['string', 'i'=>'int'], +'Saxon\XPathProcessor::getErrorMessage' => ['string', 'i'=>'int'], +'Saxon\XPathProcessor::getExceptionCount' => ['int'], +'Saxon\XPathProcessor::setBaseURI' => ['void', 'uri'=>'string'], +'Saxon\XPathProcessor::setContextFile' => ['void', 'fileName'=>'string'], +'Saxon\XPathProcessor::setContextItem' => ['void', 'item'=>'Saxon\XdmItem'], +'Saxon\XPathProcessor::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], +'Saxon\XPathProcessor::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], +'Saxon\XQueryProcessor::clearParameters' => ['void'], +'Saxon\XQueryProcessor::clearProperties' => ['void'], +'Saxon\XQueryProcessor::declareNamespace' => ['void', 'prefix'=>'string', 'namespace'=>'string'], +'Saxon\XQueryProcessor::exceptionClear' => ['void'], +'Saxon\XQueryProcessor::getErrorCode' => ['string', 'i'=>'int'], +'Saxon\XQueryProcessor::getErrorMessage' => ['string', 'i'=>'int'], +'Saxon\XQueryProcessor::getExceptionCount' => ['int'], +'Saxon\XQueryProcessor::runQueryToFile' => ['void', 'outfilename'=>'string'], +'Saxon\XQueryProcessor::runQueryToString' => ['?string'], +'Saxon\XQueryProcessor::runQueryToValue' => ['?Saxon\XdmValue'], +'Saxon\XQueryProcessor::setContextItem' => ['void', 'object'=>'Saxon\XdmAtomicValue|Saxon\XdmItem|Saxon\XdmNode|Saxon\XdmValue'], +'Saxon\XQueryProcessor::setContextItemFromFile' => ['void', 'fileName'=>'string'], +'Saxon\XQueryProcessor::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], +'Saxon\XQueryProcessor::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], +'Saxon\XQueryProcessor::setQueryBaseURI' => ['void', 'uri'=>'string'], +'Saxon\XQueryProcessor::setQueryContent' => ['void', 'string'=>'string'], +'Saxon\XQueryProcessor::setQueryFile' => ['void', 'filename'=>'string'], +'Saxon\XQueryProcessor::setQueryItem' => ['void', 'item'=>'Saxon\XdmItem'], +'Saxon\XsltProcessor::clearParameters' => ['void'], +'Saxon\XsltProcessor::clearProperties' => ['void'], +'Saxon\XsltProcessor::compileFromFile' => ['void', 'fileName'=>'string'], +'Saxon\XsltProcessor::compileFromString' => ['void', 'string'=>'string'], +'Saxon\XsltProcessor::compileFromValue' => ['void', 'node'=>'Saxon\XdmNode'], +'Saxon\XsltProcessor::exceptionClear' => ['void'], +'Saxon\XsltProcessor::getErrorCode' => ['string', 'i'=>'int'], +'Saxon\XsltProcessor::getErrorMessage' => ['string', 'i'=>'int'], +'Saxon\XsltProcessor::getExceptionCount' => ['int'], +'Saxon\XsltProcessor::setOutputFile' => ['void', 'fileName'=>'string'], +'Saxon\XsltProcessor::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], +'Saxon\XsltProcessor::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], +'Saxon\XsltProcessor::setSourceFromFile' => ['void', 'filename'=>'string'], +'Saxon\XsltProcessor::setSourceFromXdmValue' => ['void', 'value'=>'Saxon\XdmValue'], +'Saxon\XsltProcessor::transformFileToFile' => ['void', 'sourceFileName'=>'string', 'stylesheetFileName'=>'string', 'outputfileName'=>'string'], +'Saxon\XsltProcessor::transformFileToString' => ['?string', 'sourceFileName'=>'string', 'stylesheetFileName'=>'string'], +'Saxon\XsltProcessor::transformFileToValue' => ['Saxon\XdmValue', 'fileName'=>'string'], +'Saxon\XsltProcessor::transformToFile' => ['void'], +'Saxon\XsltProcessor::transformToString' => ['string'], +'Saxon\XsltProcessor::transformToValue' => ['?Saxon\XdmValue'], +'SCA::createDataObject' => ['SDO_DataObject', 'type_namespace_uri'=>'string', 'type_name'=>'string'], +'SCA::getService' => ['', 'target'=>'string', 'binding='=>'string', 'config='=>'array'], +'SCA_LocalProxy::createDataObject' => ['SDO_DataObject', 'type_namespace_uri'=>'string', 'type_name'=>'string'], +'SCA_SoapProxy::createDataObject' => ['SDO_DataObject', 'type_namespace_uri'=>'string', 'type_name'=>'string'], +'scalebarObj::convertToString' => ['string'], +'scalebarObj::free' => ['void'], +'scalebarObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'scalebarObj::setImageColor' => ['int', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'scalebarObj::updateFromString' => ['int', 'snippet'=>'string'], +'scandir' => ['list|false', 'directory'=>'string', 'sorting_order='=>'int', 'context='=>'resource'], +'SDO_DAS_ChangeSummary::beginLogging' => [''], +'SDO_DAS_ChangeSummary::endLogging' => [''], +'SDO_DAS_ChangeSummary::getChangedDataObjects' => ['SDO_List'], +'SDO_DAS_ChangeSummary::getChangeType' => ['int', 'dataobject'=>'sdo_dataobject'], +'SDO_DAS_ChangeSummary::getOldContainer' => ['SDO_DataObject', 'data_object'=>'sdo_dataobject'], +'SDO_DAS_ChangeSummary::getOldValues' => ['SDO_List', 'data_object'=>'sdo_dataobject'], +'SDO_DAS_ChangeSummary::isLogging' => ['bool'], +'SDO_DAS_DataFactory::addPropertyToType' => ['', 'parent_type_namespace_uri'=>'string', 'parent_type_name'=>'string', 'property_name'=>'string', 'type_namespace_uri'=>'string', 'type_name'=>'string', 'options='=>'array'], +'SDO_DAS_DataFactory::addType' => ['', 'type_namespace_uri'=>'string', 'type_name'=>'string', 'options='=>'array'], +'SDO_DAS_DataFactory::getDataFactory' => ['SDO_DAS_DataFactory'], +'SDO_DAS_DataObject::getChangeSummary' => ['SDO_DAS_ChangeSummary'], +'SDO_DAS_Relational::__construct' => ['void', 'database_metadata'=>'array', 'application_root_type='=>'string', 'sdo_containment_references_metadata='=>'array'], +'SDO_DAS_Relational::applyChanges' => ['', 'database_handle'=>'pdo', 'root_data_object'=>'sdodataobject'], +'SDO_DAS_Relational::createRootDataObject' => ['SDODataObject'], +'SDO_DAS_Relational::executePreparedQuery' => ['SDODataObject', 'database_handle'=>'pdo', 'prepared_statement'=>'pdostatement', 'value_list'=>'array', 'column_specifier='=>'array'], +'SDO_DAS_Relational::executeQuery' => ['SDODataObject', 'database_handle'=>'pdo', 'sql_statement'=>'string', 'column_specifier='=>'array'], +'SDO_DAS_Setting::getListIndex' => ['int'], +'SDO_DAS_Setting::getPropertyIndex' => ['int'], +'SDO_DAS_Setting::getPropertyName' => ['string'], +'SDO_DAS_Setting::getValue' => [''], +'SDO_DAS_Setting::isSet' => ['bool'], +'SDO_DAS_XML::addTypes' => ['', 'xsd_file'=>'string'], +'SDO_DAS_XML::create' => ['SDO_DAS_XML', 'xsd_file='=>'mixed', 'key='=>'string'], +'SDO_DAS_XML::createDataObject' => ['SDO_DataObject', 'namespace_uri'=>'string', 'type_name'=>'string'], +'SDO_DAS_XML::createDocument' => ['SDO_DAS_XML_Document', 'document_element_name'=>'string', 'document_element_namespace_uri'=>'string', 'dataobject='=>'sdo_dataobject'], +'SDO_DAS_XML::loadFile' => ['SDO_XMLDocument', 'xml_file'=>'string'], +'SDO_DAS_XML::loadString' => ['SDO_DAS_XML_Document', 'xml_string'=>'string'], +'SDO_DAS_XML::saveFile' => ['', 'xdoc'=>'sdo_xmldocument', 'xml_file'=>'string', 'indent='=>'int'], +'SDO_DAS_XML::saveString' => ['string', 'xdoc'=>'sdo_xmldocument', 'indent='=>'int'], +'SDO_DAS_XML_Document::getRootDataObject' => ['SDO_DataObject'], +'SDO_DAS_XML_Document::getRootElementName' => ['string'], +'SDO_DAS_XML_Document::getRootElementURI' => ['string'], +'SDO_DAS_XML_Document::setEncoding' => ['', 'encoding'=>'string'], +'SDO_DAS_XML_Document::setXMLDeclaration' => ['', 'xmldeclatation'=>'bool'], +'SDO_DAS_XML_Document::setXMLVersion' => ['', 'xmlversion'=>'string'], +'SDO_DataFactory::create' => ['void', 'type_namespace_uri'=>'string', 'type_name'=>'string'], +'SDO_DataObject::clear' => ['void'], +'SDO_DataObject::createDataObject' => ['SDO_DataObject', 'identifier'=>''], +'SDO_DataObject::getContainer' => ['SDO_DataObject'], +'SDO_DataObject::getSequence' => ['SDO_Sequence'], +'SDO_DataObject::getTypeName' => ['string'], +'SDO_DataObject::getTypeNamespaceURI' => ['string'], +'SDO_Exception::getCause' => [''], +'SDO_List::insert' => ['void', 'value'=>'mixed', 'index='=>'int'], +'SDO_Model_Property::getContainingType' => ['SDO_Model_Type'], +'SDO_Model_Property::getDefault' => [''], +'SDO_Model_Property::getName' => ['string'], +'SDO_Model_Property::getType' => ['SDO_Model_Type'], +'SDO_Model_Property::isContainment' => ['bool'], +'SDO_Model_Property::isMany' => ['bool'], +'SDO_Model_ReflectionDataObject::__construct' => ['void', 'data_object'=>'sdo_dataobject'], +'SDO_Model_ReflectionDataObject::export' => ['mixed', 'rdo'=>'sdo_model_reflectiondataobject', 'return='=>'bool'], +'SDO_Model_ReflectionDataObject::getContainmentProperty' => ['SDO_Model_Property'], +'SDO_Model_ReflectionDataObject::getInstanceProperties' => ['array'], +'SDO_Model_ReflectionDataObject::getType' => ['SDO_Model_Type'], +'SDO_Model_Type::getBaseType' => ['SDO_Model_Type'], +'SDO_Model_Type::getName' => ['string'], +'SDO_Model_Type::getNamespaceURI' => ['string'], +'SDO_Model_Type::getProperties' => ['array'], +'SDO_Model_Type::getProperty' => ['SDO_Model_Property', 'identifier'=>''], +'SDO_Model_Type::isAbstractType' => ['bool'], +'SDO_Model_Type::isDataType' => ['bool'], +'SDO_Model_Type::isInstance' => ['bool', 'data_object'=>'sdo_dataobject'], +'SDO_Model_Type::isOpenType' => ['bool'], +'SDO_Model_Type::isSequencedType' => ['bool'], +'SDO_Sequence::getProperty' => ['SDO_Model_Property', 'sequence_index'=>'int'], +'SDO_Sequence::insert' => ['void', 'value'=>'mixed', 'sequenceindex='=>'int', 'propertyidentifier='=>'mixed'], +'SDO_Sequence::move' => ['void', 'toindex'=>'int', 'fromindex'=>'int'], +'SeasLog::__destruct' => ['void'], +'SeasLog::alert' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::analyzerCount' => ['mixed', 'level'=>'string', 'log_path='=>'string', 'key_word='=>'string'], +'SeasLog::analyzerDetail' => ['mixed', 'level'=>'string', 'log_path='=>'string', 'key_word='=>'string', 'start='=>'int', 'limit='=>'int', 'order='=>'int'], +'SeasLog::closeLoggerStream' => ['bool', 'model'=>'int', 'logger'=>'string'], +'SeasLog::critical' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::debug' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::emergency' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::error' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::flushBuffer' => ['bool'], +'SeasLog::getBasePath' => ['string'], +'SeasLog::getBuffer' => ['array'], +'SeasLog::getBufferEnabled' => ['bool'], +'SeasLog::getDatetimeFormat' => ['string'], +'SeasLog::getLastLogger' => ['string'], +'SeasLog::getRequestID' => ['string'], +'SeasLog::getRequestVariable' => ['bool', 'key'=>'int'], +'SeasLog::info' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::log' => ['bool', 'level'=>'string', 'message='=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::notice' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'SeasLog::setBasePath' => ['bool', 'base_path'=>'string'], +'SeasLog::setDatetimeFormat' => ['bool', 'format'=>'string'], +'SeasLog::setLogger' => ['bool', 'logger'=>'string'], +'SeasLog::setRequestID' => ['bool', 'request_id'=>'string'], +'SeasLog::setRequestVariable' => ['bool', 'key'=>'int', 'value'=>'string'], +'SeasLog::warning' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], +'seaslog_get_author' => ['string'], +'seaslog_get_version' => ['string'], +'SeekableIterator::__construct' => ['void'], +'SeekableIterator::current' => ['mixed'], +'SeekableIterator::key' => ['int|string'], +'SeekableIterator::next' => ['void'], +'SeekableIterator::rewind' => ['void'], +'SeekableIterator::seek' => ['void', 'position'=>'int'], +'SeekableIterator::valid' => ['bool'], +'sem_acquire' => ['bool', 'semaphore'=>'SysvSemaphore', 'non_blocking='=>'bool'], +'sem_get' => ['SysvSemaphore|false', 'key'=>'int', 'max_acquire='=>'int', 'permissions='=>'int', 'auto_release='=>'bool'], +'sem_release' => ['bool', 'semaphore'=>'SysvSemaphore'], +'sem_remove' => ['bool', 'semaphore'=>'SysvSemaphore'], +'Serializable::__construct' => ['void'], +'Serializable::serialize' => ['?string'], +'Serializable::unserialize' => ['void', 'serialized'=>'string'], +'serialize' => ['string', 'value'=>'mixed'], +'ServerRequest::withInput' => ['ServerRequest', 'input'=>'mixed'], +'ServerRequest::withoutParams' => ['ServerRequest', 'params'=>'int|string'], +'ServerRequest::withParam' => ['ServerRequest', 'key'=>'int|string', 'value'=>'mixed'], +'ServerRequest::withParams' => ['ServerRequest', 'params'=>'mixed'], +'ServerRequest::withUrl' => ['ServerRequest', 'url'=>'array'], +'ServerResponse::addHeader' => ['void', 'label'=>'string', 'value'=>'string'], +'ServerResponse::date' => ['string', 'date'=>'string|DateTimeInterface'], +'ServerResponse::getHeader' => ['string', 'label'=>'string'], +'ServerResponse::getHeaders' => ['string[]'], +'ServerResponse::getStatus' => ['int'], +'ServerResponse::getVersion' => ['string'], +'ServerResponse::setHeader' => ['void', 'label'=>'string', 'value'=>'string'], +'ServerResponse::setStatus' => ['void', 'status'=>'int'], +'ServerResponse::setVersion' => ['void', 'version'=>'string'], +'session_abort' => ['bool'], +'session_cache_expire' => ['int', 'value='=>'?int'], +'session_cache_limiter' => ['string', 'value='=>'?string'], +'session_commit' => ['bool'], +'session_create_id' => ['string', 'prefix='=>'string'], +'session_decode' => ['bool', 'data'=>'string'], +'session_destroy' => ['bool'], +'session_encode' => ['string'], +'session_gc' => ['int|false'], +'session_get_cookie_params' => ['array'], +'session_id' => ['string|false', 'id='=>'?string'], +'session_is_registered' => ['bool', 'name'=>'string'], +'session_module_name' => ['string', 'module='=>'?string'], +'session_name' => ['string|false', 'name='=>'?string'], +'session_pgsql_add_error' => ['bool', 'error_level'=>'int', 'error_message='=>'string'], +'session_pgsql_get_error' => ['array', 'with_error_message='=>'bool'], +'session_pgsql_get_field' => ['string'], +'session_pgsql_reset' => ['bool'], +'session_pgsql_set_field' => ['bool', 'value'=>'string'], +'session_pgsql_status' => ['array'], +'session_regenerate_id' => ['bool', 'delete_old_session='=>'bool'], +'session_register' => ['bool', 'name'=>'mixed', '...args='=>'mixed'], +'session_register_shutdown' => ['void'], +'session_reset' => ['bool'], +'session_save_path' => ['string', 'path='=>'?string'], +'session_set_cookie_params' => ['bool', 'lifetime'=>'int', 'path='=>'?string', 'domain='=>'?string', 'secure='=>'?bool', 'httponly='=>'?bool'], +'session_set_cookie_params\'1' => ['bool', 'options'=>'array{lifetime?:?int,path?:?string,domain?:?string,secure?:?bool,httponly?:?bool,samesite?:?string}'], +'session_set_save_handler' => ['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'], +'session_set_save_handler\'1' => ['bool', 'open'=>'SessionHandlerInterface', 'close='=>'bool'], +'session_start' => ['bool', 'options='=>'array'], +'session_status' => ['int'], +'session_unregister' => ['bool', 'name'=>'string'], +'session_unset' => ['bool'], +'session_write_close' => ['bool'], +'SessionHandler::close' => ['bool'], +'SessionHandler::create_sid' => ['string'], +'SessionHandler::destroy' => ['bool', 'id'=>'string'], +'SessionHandler::gc' => ['bool', 'maxlifetime'=>'int'], +'SessionHandler::open' => ['bool', 'save_path'=>'string', 'session_name'=>'string'], +'SessionHandler::read' => ['string', 'id'=>'string'], +'SessionHandler::write' => ['bool', 'id'=>'string', 'data'=>'string'], +'SessionHandlerInterface::close' => ['bool'], +'SessionHandlerInterface::destroy' => ['bool', 'id'=>'string'], +'SessionHandlerInterface::gc' => ['int|false', 'max_lifetime'=>'int'], +'SessionHandlerInterface::open' => ['bool', 'path'=>'string', 'name'=>'string'], +'SessionHandlerInterface::read' => ['string|false', 'id'=>'string'], +'SessionHandlerInterface::write' => ['bool', 'id'=>'string', 'data'=>'string'], +'SessionIdInterface::create_sid' => ['string'], +'SessionUpdateTimestampHandler::updateTimestamp' => ['bool', 'id'=>'string', 'data'=>'string'], +'SessionUpdateTimestampHandler::validateId' => ['char', 'id'=>'string'], +'SessionUpdateTimestampHandlerInterface::updateTimestamp' => ['bool', 'key'=>'string', 'value'=>'string'], +'SessionUpdateTimestampHandlerInterface::validateId' => ['bool', 'key'=>'string'], +'set_error_handler' => ['null|callable(int,string,string=,int=,array=):bool', 'callback'=>'null|callable(int,string,string=,int=,array=):bool', 'error_levels='=>'int'], +'set_exception_handler' => ['null|callable(Throwable):void', 'callback'=>'null|callable(Throwable):void'], +'set_file_buffer' => ['int', 'stream'=>'resource', 'size'=>'int'], +'set_include_path' => ['string|false', 'include_path'=>'string'], +'set_magic_quotes_runtime' => ['bool', 'new_setting'=>'bool'], +'set_time_limit' => ['bool', 'seconds'=>'int'], +'setcookie' => ['bool', 'name'=>'string', 'value='=>'string', 'expires='=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool', 'samesite='=>'string', 'url_encode='=>'int'], +'setcookie\'1' => ['bool', 'name'=>'string', 'value='=>'string', 'options='=>'array'], +'setLeftFill' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'setLine' => ['void', 'width'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'setlocale' => ['string|false', 'category'=>'int', 'locales'=>'string|0|null', '...rest='=>'string'], +'setlocale\'1' => ['string|false', 'category'=>'int', 'locales'=>'?array'], +'setproctitle' => ['void', 'title'=>'string'], +'setrawcookie' => ['bool', 'name'=>'string', 'value='=>'string', 'expires='=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool'], +'setrawcookie\'1' => ['bool', 'name'=>'string', 'value='=>'string', 'options='=>'array'], +'setRightFill' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'setthreadtitle' => ['bool', 'title'=>'string'], +'settype' => ['bool', '&rw_var'=>'mixed', 'type'=>'string'], +'sha1' => ['string', 'string'=>'string', 'binary='=>'bool'], +'sha1_file' => ['string|false', 'filename'=>'string', 'binary='=>'bool'], +'sha256' => ['string', 'string'=>'string', 'raw_output='=>'bool'], +'sha256_file' => ['string', 'filename'=>'string', 'raw_output='=>'bool'], +'shapefileObj::__construct' => ['void', 'filename'=>'string', 'type'=>'int'], +'shapefileObj::addPoint' => ['int', 'point'=>'pointObj'], +'shapefileObj::addShape' => ['int', 'shape'=>'shapeObj'], +'shapefileObj::free' => ['void'], +'shapefileObj::getExtent' => ['rectObj', 'i'=>'int'], +'shapefileObj::getPoint' => ['shapeObj', 'i'=>'int'], +'shapefileObj::getShape' => ['shapeObj', 'i'=>'int'], +'shapefileObj::getTransformed' => ['shapeObj', 'map'=>'mapObj', 'i'=>'int'], +'shapefileObj::ms_newShapefileObj' => ['shapefileObj', 'filename'=>'string', 'type'=>'int'], +'shapeObj::__construct' => ['void', 'type'=>'int'], +'shapeObj::add' => ['int', 'line'=>'lineObj'], +'shapeObj::boundary' => ['shapeObj'], +'shapeObj::contains' => ['bool', 'point'=>'pointObj'], +'shapeObj::containsShape' => ['int', 'shape2'=>'shapeObj'], +'shapeObj::convexhull' => ['shapeObj'], +'shapeObj::crosses' => ['int', 'shape'=>'shapeObj'], +'shapeObj::difference' => ['shapeObj', 'shape'=>'shapeObj'], +'shapeObj::disjoint' => ['int', 'shape'=>'shapeObj'], +'shapeObj::draw' => ['int', 'map'=>'mapObj', 'layer'=>'layerObj', 'img'=>'imageObj'], +'shapeObj::equals' => ['int', 'shape'=>'shapeObj'], +'shapeObj::free' => ['void'], +'shapeObj::getArea' => ['float'], +'shapeObj::getCentroid' => ['pointObj'], +'shapeObj::getLabelPoint' => ['pointObj'], +'shapeObj::getLength' => ['float'], +'shapeObj::getPointUsingMeasure' => ['pointObj', 'm'=>'float'], +'shapeObj::getValue' => ['string', 'layer'=>'layerObj', 'filedname'=>'string'], +'shapeObj::intersection' => ['shapeObj', 'shape'=>'shapeObj'], +'shapeObj::intersects' => ['bool', 'shape'=>'shapeObj'], +'shapeObj::line' => ['lineObj', 'i'=>'int'], +'shapeObj::ms_shapeObjFromWkt' => ['shapeObj', 'wkt'=>'string'], +'shapeObj::overlaps' => ['int', 'shape'=>'shapeObj'], +'shapeObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], +'shapeObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'shapeObj::setBounds' => ['int'], +'shapeObj::simplify' => ['shapeObj|null', 'tolerance'=>'float'], +'shapeObj::symdifference' => ['shapeObj', 'shape'=>'shapeObj'], +'shapeObj::topologyPreservingSimplify' => ['shapeObj|null', 'tolerance'=>'float'], +'shapeObj::touches' => ['int', 'shape'=>'shapeObj'], +'shapeObj::toWkt' => ['string'], +'shapeObj::union' => ['shapeObj', 'shape'=>'shapeObj'], +'shapeObj::within' => ['int', 'shape2'=>'shapeObj'], +'shell_exec' => ['string|false|null', 'command'=>'string'], +'shm_attach' => ['SysvSharedMemory|false', 'key'=>'int', 'size='=>'?int', 'permissions='=>'int'], +'shm_detach' => ['bool', 'shm'=>'SysvSharedMemory'], +'shm_get_var' => ['mixed', 'shm'=>'SysvSharedMemory', 'key'=>'int'], +'shm_has_var' => ['bool', 'shm'=>'SysvSharedMemory', 'key'=>'int'], +'shm_put_var' => ['bool', 'shm'=>'SysvSharedMemory', 'key'=>'int', 'value'=>'mixed'], +'shm_remove' => ['bool', 'shm'=>'SysvSharedMemory'], +'shm_remove_var' => ['bool', 'shm'=>'SysvSharedMemory', 'key'=>'int'], +'shmop_close' => ['void', 'shmop'=>'Shmop'], +'shmop_delete' => ['bool', 'shmop'=>'Shmop'], +'shmop_open' => ['Shmop|false', 'key'=>'int', 'mode'=>'string', 'permissions'=>'int', 'size'=>'int'], +'shmop_read' => ['string', 'shmop'=>'Shmop', 'offset'=>'int', 'size'=>'int'], +'shmop_size' => ['int', 'shmop'=>'Shmop'], +'shmop_write' => ['int', 'shmop'=>'Shmop', 'data'=>'string', 'offset'=>'int'], +'show_source' => ['string|bool', 'filename'=>'string', 'return='=>'bool'], +'shuffle' => ['true', '&rw_array'=>'array'], +'signeurlpaiement' => ['string', 'clent'=>'string', 'data'=>'string'], +'similar_text' => ['int', 'string1'=>'string', 'string2'=>'string', '&w_percent='=>'float'], +'simplexml_import_dom' => ['?SimpleXMLElement', 'node'=>'DOMNode', 'class_name='=>'?string'], +'simplexml_load_file' => ['SimpleXMLElement|false', 'filename'=>'string', 'class_name='=>'?string', 'options='=>'int', 'namespace_or_prefix='=>'string', 'is_prefix='=>'bool'], +'simplexml_load_string' => ['SimpleXMLElement|false', 'data'=>'string', 'class_name='=>'?string', 'options='=>'int', 'namespace_or_prefix='=>'string', 'is_prefix='=>'bool'], +'SimpleXMLElement::__construct' => ['void', 'data'=>'string', 'options='=>'int', 'data_is_url='=>'bool', 'ns='=>'string', 'is_prefix='=>'bool'], +'SimpleXMLElement::__get' => ['SimpleXMLElement', 'name'=>'string'], +'SimpleXMLElement::__toString' => ['string'], +'SimpleXMLElement::addAttribute' => ['void', 'name'=>'string', 'value='=>'string', 'ns='=>'string'], +'SimpleXMLElement::addChild' => ['SimpleXMLElement', 'name'=>'string', 'value='=>'string', 'ns='=>'string'], +'SimpleXMLElement::asXML' => ['string|bool', 'filename='=>'?string'], +'SimpleXMLElement::asXML\'1' => ['string|false'], +'SimpleXMLElement::attributes' => ['?SimpleXMLElement', 'ns='=>'string', 'is_prefix='=>'bool'], +'SimpleXMLElement::children' => ['SimpleXMLElement', 'ns='=>'string', 'is_prefix='=>'bool'], +'SimpleXMLElement::count' => ['int'], +'SimpleXMLElement::getDocNamespaces' => ['string[]', 'recursive='=>'bool', 'from_root='=>'bool'], +'SimpleXMLElement::getName' => ['string'], +'SimpleXMLElement::getNamespaces' => ['string[]', 'recursive='=>'bool'], +'SimpleXMLElement::offsetExists' => ['bool', 'offset'=>'int|string'], +'SimpleXMLElement::offsetGet' => ['SimpleXMLElement', 'offset'=>'int|string'], +'SimpleXMLElement::offsetSet' => ['void', 'offset'=>'int|string', 'value'=>'mixed'], +'SimpleXMLElement::offsetUnset' => ['void', 'offset'=>'int|string'], +'SimpleXMLElement::registerXPathNamespace' => ['bool', 'prefix'=>'string', 'ns'=>'string'], +'SimpleXMLElement::saveXML' => ['string|bool', 'filename='=>'?string'], +'SimpleXMLElement::xpath' => ['SimpleXMLElement[]|false', 'path'=>'string'], +'sin' => ['float', 'num'=>'float'], +'sinh' => ['float', 'num'=>'float'], +'sizeof' => ['int', 'value'=>'Countable|array', 'mode='=>'int'], +'sleep' => ['int', 'seconds'=>'0|positive-int'], +'snmp2_get' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp2_getnext' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp2_real_walk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp2_set' => ['bool', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp2_walk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp3_get' => ['string|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp3_getnext' => ['string|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp3_real_walk' => ['array|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp3_set' => ['bool', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmp3_walk' => ['array|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'SNMP::__construct' => ['void', 'version'=>'int', 'hostname'=>'string', 'community'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'SNMP::close' => ['bool'], +'SNMP::get' => ['array|string|false', 'objectId'=>'string|array', 'preserveKeys='=>'bool'], +'SNMP::getErrno' => ['int'], +'SNMP::getError' => ['string'], +'SNMP::getnext' => ['string|array|false', 'objectId'=>'string|array'], +'SNMP::set' => ['bool', 'objectId'=>'string|array', 'type'=>'string|array', 'value'=>'string|array'], +'SNMP::setSecurity' => ['bool', 'securityLevel'=>'string', 'authProtocol='=>'string', 'authPassphrase='=>'string', 'privacyProtocol='=>'string', 'privacyPassphrase='=>'string', 'contextName='=>'string', 'contextEngineId='=>'string'], +'SNMP::walk' => ['array|false', 'objectId'=>'string', 'suffixAsKey='=>'bool', 'maxRepetitions='=>'int', 'nonRepeaters='=>'int'], +'snmp_get_quick_print' => ['bool'], +'snmp_get_valueretrieval' => ['int'], +'snmp_read_mib' => ['bool', 'filename'=>'string'], +'snmp_set_enum_print' => ['true', 'enable'=>'bool'], +'snmp_set_oid_numeric_print' => ['true', 'format'=>'int'], +'snmp_set_oid_output_format' => ['true', 'format'=>'int'], +'snmp_set_quick_print' => ['bool', 'enable'=>'bool'], +'snmp_set_valueretrieval' => ['true', 'method'=>'int'], +'snmpget' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmpgetnext' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmprealwalk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmpset' => ['bool', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'type'=>'string|string[]', 'value'=>'string|string[]', 'timeout='=>'int', 'retries='=>'int'], +'snmpwalk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'snmpwalkoid' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], +'SoapClient::__call' => ['', 'function_name'=>'string', 'arguments'=>'array'], +'SoapClient::__construct' => ['void', 'wsdl'=>'mixed', 'options='=>'array|null'], +'SoapClient::__doRequest' => ['?string', 'request'=>'string', 'location'=>'string', 'action'=>'string', 'version'=>'int', 'one_way='=>'bool'], +'SoapClient::__getCookies' => ['array'], +'SoapClient::__getFunctions' => ['?array'], +'SoapClient::__getLastRequest' => ['?string'], +'SoapClient::__getLastRequestHeaders' => ['?string'], +'SoapClient::__getLastResponse' => ['?string'], +'SoapClient::__getLastResponseHeaders' => ['?string'], +'SoapClient::__getTypes' => ['?array'], +'SoapClient::__setCookie' => ['', 'name'=>'string', 'value='=>'string'], +'SoapClient::__setLocation' => ['string', 'new_location='=>'string'], +'SoapClient::__setSoapHeaders' => ['bool', 'soapheaders='=>''], +'SoapClient::__soapCall' => ['', 'function_name'=>'string', 'arguments'=>'array', 'options='=>'array', 'input_headers='=>'SoapHeader|array', '&w_output_headers='=>'array'], +'SoapClient::SoapClient' => ['object', 'wsdl'=>'mixed', 'options='=>'array|null'], +'SoapFault::__clone' => ['void'], +'SoapFault::__construct' => ['void', 'code'=>'array|string|null', 'string'=>'string', 'actor='=>'?string', 'details='=>'?mixed', 'name='=>'?string', 'headerFault='=>'?mixed'], +'SoapFault::__toString' => ['string'], +'SoapFault::__wakeup' => ['void'], +'SoapFault::getCode' => ['int'], +'SoapFault::getFile' => ['string'], +'SoapFault::getLine' => ['int'], +'SoapFault::getMessage' => ['string'], +'SoapFault::getPrevious' => ['?Exception|?Throwable'], +'SoapFault::getTrace' => ['list\',args?:array}>'], +'SoapFault::getTraceAsString' => ['string'], +'SoapFault::SoapFault' => ['object', 'faultcode'=>'string', 'faultstring'=>'string', 'faultactor='=>'?string', 'detail='=>'?mixed', 'faultname='=>'?string', 'headerfault='=>'?mixed'], +'SoapHeader::__construct' => ['void', 'namespace'=>'string', 'name'=>'string', 'data='=>'mixed', 'mustunderstand='=>'bool', 'actor='=>'string'], +'SoapHeader::SoapHeader' => ['object', 'namespace'=>'string', 'name'=>'string', 'data='=>'mixed', 'mustunderstand='=>'bool', 'actor='=>'string'], +'SoapParam::__construct' => ['void', 'data'=>'mixed', 'name'=>'string'], +'SoapParam::SoapParam' => ['object', 'data'=>'mixed', 'name'=>'string'], +'SoapServer::__construct' => ['void', 'wsdl'=>'?string', 'options='=>'array'], +'SoapServer::addFunction' => ['void', 'functions'=>'mixed'], +'SoapServer::addSoapHeader' => ['void', 'object'=>'SoapHeader'], +'SoapServer::fault' => ['void', 'code'=>'string', 'string'=>'string', 'actor='=>'string', 'details='=>'string', 'name='=>'string'], +'SoapServer::getFunctions' => ['array'], +'SoapServer::handle' => ['void', 'soap_request='=>'string'], +'SoapServer::setClass' => ['void', 'class_name'=>'string', '...args='=>'mixed'], +'SoapServer::setObject' => ['void', 'object'=>'object'], +'SoapServer::setPersistence' => ['void', 'mode'=>'int'], +'SoapServer::SoapServer' => ['object', 'wsdl'=>'?string', 'options='=>'array'], +'SoapVar::__construct' => ['void', 'data'=>'mixed', 'encoding'=>'int', 'type_name='=>'string|null', 'type_namespace='=>'string|null', 'node_name='=>'string|null', 'node_namespace='=>'string|null'], +'SoapVar::SoapVar' => ['object', 'data'=>'mixed', 'encoding'=>'int', 'type_name='=>'string|null', 'type_namespace='=>'string|null', 'node_name='=>'string|null', 'node_namespace='=>'string|null'], +'socket_accept' => ['Socket|false', 'socket'=>'Socket'], +'socket_addrinfo_bind' => ['Socket|false', 'address'=>'AddressInfo'], +'socket_addrinfo_connect' => ['Socket|false', 'address'=>'AddressInfo'], +'socket_addrinfo_explain' => ['array', 'address'=>'AddressInfo'], +'socket_addrinfo_lookup' => ['false|AddressInfo[]', 'host'=>'string', 'service='=>'?string', 'hints='=>'array'], +'socket_bind' => ['bool', 'socket'=>'Socket', 'address'=>'string', 'port='=>'int'], +'socket_clear_error' => ['void', 'socket='=>'?Socket'], +'socket_close' => ['void', 'socket'=>'Socket'], +'socket_cmsg_space' => ['?int', 'level'=>'int', 'type'=>'int', 'num='=>'int'], +'socket_connect' => ['bool', 'socket'=>'Socket', 'address'=>'string', 'port='=>'?int'], +'socket_create' => ['Socket|false', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int'], +'socket_create_listen' => ['Socket|false', 'port'=>'int', 'backlog='=>'int'], +'socket_create_pair' => ['bool', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int', '&w_pair'=>'Socket[]'], +'socket_export_stream' => ['resource|false', 'socket'=>'Socket'], +'socket_get_option' => ['array|int|false', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int'], +'socket_get_status' => ['array', 'stream'=>'Socket'], +'socket_getopt' => ['array|int|false', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int'], +'socket_getpeername' => ['bool', 'socket'=>'Socket', '&w_address'=>'string', '&w_port='=>'int'], +'socket_getsockname' => ['bool', 'socket'=>'Socket', '&w_address'=>'string', '&w_port='=>'int'], +'socket_import_stream' => ['Socket|false', 'stream'=>'resource'], +'socket_last_error' => ['int', 'socket='=>'?Socket'], +'socket_listen' => ['bool', 'socket'=>'Socket', 'backlog='=>'int'], +'socket_read' => ['string|false', 'socket'=>'Socket', 'length'=>'int', 'mode='=>'int'], +'socket_recv' => ['int|false', 'socket'=>'Socket', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int'], +'socket_recvfrom' => ['int|false', 'socket'=>'Socket', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int', '&w_address'=>'string', '&w_port='=>'int'], +'socket_recvmsg' => ['int|false', 'socket'=>'Socket', '&w_message'=>'array', 'flags='=>'int'], +'socket_select' => ['int|false', '&rw_read'=>'Socket[]|null', '&rw_write'=>'Socket[]|null', '&rw_except'=>'Socket[]|null', 'seconds'=>'int|null', 'microseconds='=>'int'], +'socket_send' => ['int|false', 'socket'=>'Socket', 'data'=>'string', 'length'=>'int', 'flags'=>'int'], +'socket_sendmsg' => ['int|false', 'socket'=>'Socket', 'message'=>'array', 'flags='=>'int'], +'socket_sendto' => ['int|false', 'socket'=>'Socket', 'data'=>'string', 'length'=>'int', 'flags'=>'int', 'address'=>'string', 'port='=>'?int'], +'socket_set_block' => ['bool', 'socket'=>'Socket'], +'socket_set_blocking' => ['bool', 'stream'=>'Socket', 'enable'=>'bool'], +'socket_set_nonblock' => ['bool', 'socket'=>'Socket'], +'socket_set_option' => ['bool', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], +'socket_set_timeout' => ['bool', 'stream'=>'resource', 'seconds'=>'int', 'microseconds='=>'int'], +'socket_setopt' => ['bool', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], +'socket_shutdown' => ['bool', 'socket'=>'Socket', 'mode='=>'int'], +'socket_strerror' => ['string', 'error_code'=>'int'], +'socket_write' => ['int|false', 'socket'=>'Socket', 'data'=>'string', 'length='=>'int|null'], +'socket_wsaprotocol_info_export' => ['string|false', 'socket'=>'Socket', 'process_id'=>'int'], +'socket_wsaprotocol_info_import' => ['Socket|false', 'info_id'=>'string'], +'socket_wsaprotocol_info_release' => ['bool', 'info_id'=>'string'], +'sodium_add' => ['void', '&rw_string1'=>'string', 'string2'=>'string'], +'sodium_base642bin' => ['string', 'string'=>'string', 'id'=>'int', 'ignore='=>'string'], +'sodium_bin2base64' => ['string', 'string'=>'string', 'id'=>'int'], +'sodium_bin2hex' => ['string', 'string'=>'string'], +'sodium_compare' => ['int', 'string1'=>'string', 'string2'=>'string'], +'sodium_crypto_aead_aes256gcm_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_aes256gcm_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_aes256gcm_is_available' => ['bool'], +'sodium_crypto_aead_aes256gcm_keygen' => ['non-empty-string'], +'sodium_crypto_aead_chacha20poly1305_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_chacha20poly1305_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_chacha20poly1305_ietf_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_chacha20poly1305_ietf_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_chacha20poly1305_ietf_keygen' => ['non-empty-string'], +'sodium_crypto_aead_chacha20poly1305_keygen' => ['non-empty-string'], +'sodium_crypto_aead_xchacha20poly1305_ietf_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_xchacha20poly1305_ietf_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_aead_xchacha20poly1305_ietf_keygen' => ['non-empty-string'], +'sodium_crypto_auth' => ['string', 'message'=>'string', 'key'=>'string'], +'sodium_crypto_auth_keygen' => ['non-empty-string'], +'sodium_crypto_auth_verify' => ['bool', 'mac'=>'string', 'message'=>'string', 'key'=>'string'], +'sodium_crypto_box' => ['string', 'message'=>'string', 'nonce'=>'string', 'key_pair'=>'string'], +'sodium_crypto_box_keypair' => ['string'], +'sodium_crypto_box_keypair_from_secretkey_and_publickey' => ['string', 'secret_key'=>'string', 'public_key'=>'string'], +'sodium_crypto_box_open' => ['string|false', 'ciphertext'=>'string', 'nonce'=>'string', 'key_pair'=>'string'], +'sodium_crypto_box_publickey' => ['string', 'key_pair'=>'string'], +'sodium_crypto_box_publickey_from_secretkey' => ['string', 'secret_key'=>'string'], +'sodium_crypto_box_seal' => ['string', 'message'=>'string', 'public_key'=>'string'], +'sodium_crypto_box_seal_open' => ['string|false', 'ciphertext'=>'string', 'key_pair'=>'string'], +'sodium_crypto_box_secretkey' => ['string', 'key_pair'=>'string'], +'sodium_crypto_box_seed_keypair' => ['string', 'seed'=>'string'], +'sodium_crypto_generichash' => ['string', 'message'=>'string', 'key='=>'string', 'length='=>'int'], +'sodium_crypto_generichash_final' => ['string', '&state'=>'string', 'length='=>'int'], +'sodium_crypto_generichash_init' => ['string', 'key='=>'string', 'length='=>'int'], +'sodium_crypto_generichash_keygen' => ['non-empty-string'], +'sodium_crypto_generichash_update' => ['true', '&rw_state'=>'string', 'message'=>'string'], +'sodium_crypto_kdf_derive_from_key' => ['string', 'subkey_length'=>'int', 'subkey_id'=>'int', 'context'=>'string', 'key'=>'string'], +'sodium_crypto_kdf_keygen' => ['non-empty-string'], +'sodium_crypto_kx_client_session_keys' => ['array', 'client_key_pair'=>'string', 'server_key'=>'string'], +'sodium_crypto_kx_keypair' => ['string'], +'sodium_crypto_kx_publickey' => ['string', 'key_pair'=>'string'], +'sodium_crypto_kx_secretkey' => ['string', 'key_pair'=>'string'], +'sodium_crypto_kx_seed_keypair' => ['string', 'seed'=>'string'], +'sodium_crypto_kx_server_session_keys' => ['array', 'server_key_pair'=>'string', 'client_key'=>'string'], +'sodium_crypto_pwhash' => ['string', 'length'=>'int', 'password'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int', 'algo='=>'int'], +'sodium_crypto_pwhash_scryptsalsa208sha256' => ['string', 'length'=>'int', 'password'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], +'sodium_crypto_pwhash_scryptsalsa208sha256_str' => ['string', 'password'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], +'sodium_crypto_pwhash_scryptsalsa208sha256_str_verify' => ['bool', 'hash'=>'string', 'password'=>'string'], +'sodium_crypto_pwhash_str' => ['string', 'password'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], +'sodium_crypto_pwhash_str_needs_rehash' => ['bool', 'password'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], +'sodium_crypto_pwhash_str_verify' => ['bool', 'hash'=>'string', 'password'=>'string'], +'sodium_crypto_scalarmult' => ['string', 'n'=>'string', 'p'=>'string'], +'sodium_crypto_scalarmult_base' => ['string', 'secret_key'=>'string'], +'sodium_crypto_secretbox' => ['string', 'message'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_secretbox_keygen' => ['non-empty-string'], +'sodium_crypto_secretbox_open' => ['string|false', 'ciphertext'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_secretstream_xchacha20poly1305_init_pull' => ['string', 'header'=>'string', 'key'=>'string'], +'sodium_crypto_secretstream_xchacha20poly1305_init_push' => ['array', 'key'=>'string'], +'sodium_crypto_secretstream_xchacha20poly1305_keygen' => ['non-empty-string'], +'sodium_crypto_secretstream_xchacha20poly1305_pull' => ['array', '&r_state'=>'string', 'ciphertext'=>'string', 'additional_data='=>'string'], +'sodium_crypto_secretstream_xchacha20poly1305_push' => ['string', '&w_state'=>'string', 'message'=>'string', 'additional_data='=>'string', 'tag='=>'int'], +'sodium_crypto_secretstream_xchacha20poly1305_rekey' => ['void', '&w_state'=>'string'], +'sodium_crypto_shorthash' => ['string', 'message'=>'string', 'key'=>'string'], +'sodium_crypto_shorthash_keygen' => ['non-empty-string'], +'sodium_crypto_sign' => ['string', 'message'=>'string', 'secret_key'=>'string'], +'sodium_crypto_sign_detached' => ['string', 'message'=>'string', 'secret_key'=>'string'], +'sodium_crypto_sign_ed25519_pk_to_curve25519' => ['string', 'public_key'=>'string'], +'sodium_crypto_sign_ed25519_sk_to_curve25519' => ['string', 'secret_key'=>'string'], +'sodium_crypto_sign_keypair' => ['string'], +'sodium_crypto_sign_keypair_from_secretkey_and_publickey' => ['string', 'secret_key'=>'string', 'public_key'=>'string'], +'sodium_crypto_sign_open' => ['string|false', 'signed_message'=>'string', 'public_key'=>'string'], +'sodium_crypto_sign_publickey' => ['string', 'key_pair'=>'string'], +'sodium_crypto_sign_publickey_from_secretkey' => ['string', 'secret_key'=>'string'], +'sodium_crypto_sign_secretkey' => ['string', 'key_pair'=>'string'], +'sodium_crypto_sign_seed_keypair' => ['string', 'seed'=>'string'], +'sodium_crypto_sign_verify_detached' => ['bool', 'signature'=>'string', 'message'=>'string', 'public_key'=>'string'], +'sodium_crypto_stream' => ['string', 'length'=>'int', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_stream_keygen' => ['non-empty-string'], +'sodium_crypto_stream_xor' => ['string', 'message'=>'string', 'nonce'=>'string', 'key'=>'string'], +'sodium_crypto_stream_xchacha20' => ['non-empty-string', 'length'=>'positive-int', 'nonce'=>'non-empty-string', 'key'=>'non-empty-string'], +'sodium_crypto_stream_xchacha20_keygen' => ['non-empty-string'], +'sodium_crypto_stream_xchacha20_xor' => ['string', 'message'=>'string', 'nonce'=>'non-empty-string', 'key'=>'non-empty-string'], +'sodium_crypto_stream_xchacha20_xor_ic' => ['string', 'message'=>'string', 'nonce'=>'non-empty-string', 'counter'=>'int', 'key'=>'non-empty-string'], +'sodium_hex2bin' => ['string', 'string'=>'string', 'ignore='=>'string'], +'sodium_increment' => ['void', '&rw_string'=>'string'], +'sodium_memcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'sodium_memzero' => ['void', '&w_string'=>'string'], +'sodium_pad' => ['string', 'string'=>'string', 'block_size'=>'int'], +'sodium_unpad' => ['string', 'string'=>'string', 'block_size'=>'int'], +'solid_fetch_prev' => ['bool', 'result_id'=>''], +'solr_get_version' => ['string|false'], +'SolrClient::__construct' => ['void', 'clientOptions'=>'array'], +'SolrClient::__destruct' => ['void'], +'SolrClient::addDocument' => ['SolrUpdateResponse', 'doc'=>'SolrInputDocument', 'allowdups='=>'bool', 'commitwithin='=>'int'], +'SolrClient::addDocuments' => ['SolrUpdateResponse', 'docs'=>'array', 'allowdups='=>'bool', 'commitwithin='=>'int'], +'SolrClient::commit' => ['SolrUpdateResponse', 'maxsegments='=>'int', 'waitflush='=>'bool', 'waitsearcher='=>'bool'], +'SolrClient::deleteById' => ['SolrUpdateResponse', 'id'=>'string'], +'SolrClient::deleteByIds' => ['SolrUpdateResponse', 'ids'=>'array'], +'SolrClient::deleteByQueries' => ['SolrUpdateResponse', 'queries'=>'array'], +'SolrClient::deleteByQuery' => ['SolrUpdateResponse', 'query'=>'string'], +'SolrClient::getById' => ['SolrQueryResponse', 'id'=>'string'], +'SolrClient::getByIds' => ['SolrQueryResponse', 'ids'=>'array'], +'SolrClient::getDebug' => ['string'], +'SolrClient::getOptions' => ['array'], +'SolrClient::optimize' => ['SolrUpdateResponse', 'maxsegments='=>'int', 'waitflush='=>'bool', 'waitsearcher='=>'bool'], +'SolrClient::ping' => ['SolrPingResponse'], +'SolrClient::query' => ['SolrQueryResponse', 'query'=>'SolrParams'], +'SolrClient::request' => ['SolrUpdateResponse', 'raw_request'=>'string'], +'SolrClient::rollback' => ['SolrUpdateResponse'], +'SolrClient::setResponseWriter' => ['void', 'responsewriter'=>'string'], +'SolrClient::setServlet' => ['bool', 'type'=>'int', 'value'=>'string'], +'SolrClient::system' => ['SolrGenericResponse'], +'SolrClient::threads' => ['SolrGenericResponse'], +'SolrClientException::__clone' => ['void'], +'SolrClientException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'SolrClientException::__toString' => ['string'], +'SolrClientException::__wakeup' => ['void'], +'SolrClientException::getCode' => ['int'], +'SolrClientException::getFile' => ['string'], +'SolrClientException::getInternalInfo' => ['array'], +'SolrClientException::getLine' => ['int'], +'SolrClientException::getMessage' => ['string'], +'SolrClientException::getPrevious' => ['?Exception|?Throwable'], +'SolrClientException::getTrace' => ['list\',args?:array}>'], +'SolrClientException::getTraceAsString' => ['string'], +'SolrCollapseFunction::__construct' => ['void', 'field'=>'string'], +'SolrCollapseFunction::__toString' => ['string'], +'SolrCollapseFunction::getField' => ['string'], +'SolrCollapseFunction::getHint' => ['string'], +'SolrCollapseFunction::getMax' => ['string'], +'SolrCollapseFunction::getMin' => ['string'], +'SolrCollapseFunction::getNullPolicy' => ['string'], +'SolrCollapseFunction::getSize' => ['int'], +'SolrCollapseFunction::setField' => ['SolrCollapseFunction', 'fieldName'=>'string'], +'SolrCollapseFunction::setHint' => ['SolrCollapseFunction', 'hint'=>'string'], +'SolrCollapseFunction::setMax' => ['SolrCollapseFunction', 'max'=>'string'], +'SolrCollapseFunction::setMin' => ['SolrCollapseFunction', 'min'=>'string'], +'SolrCollapseFunction::setNullPolicy' => ['SolrCollapseFunction', 'nullPolicy'=>'string'], +'SolrCollapseFunction::setSize' => ['SolrCollapseFunction', 'size'=>'int'], +'SolrDisMaxQuery::__construct' => ['void', 'q='=>'string'], +'SolrDisMaxQuery::__destruct' => ['void'], +'SolrDisMaxQuery::add' => ['SolrParams', 'name'=>'string', 'value'=>'string'], +'SolrDisMaxQuery::addBigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost'=>'string', 'slop='=>'string'], +'SolrDisMaxQuery::addBoostQuery' => ['SolrDisMaxQuery', 'field'=>'string', 'value'=>'string', 'boost='=>'string'], +'SolrDisMaxQuery::addExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrDisMaxQuery::addExpandSortField' => ['SolrQuery', 'field'=>'string', 'order'=>'string'], +'SolrDisMaxQuery::addFacetDateField' => ['SolrQuery', 'dateField'=>'string'], +'SolrDisMaxQuery::addFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::addFacetField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::addFacetQuery' => ['SolrQuery', 'facetQuery'=>'string'], +'SolrDisMaxQuery::addField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::addFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrDisMaxQuery::addGroupField' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::addGroupFunction' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::addGroupQuery' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::addGroupSortField' => ['SolrQuery', 'field'=>'string', 'order'=>'int'], +'SolrDisMaxQuery::addHighlightField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::addMltField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::addMltQueryField' => ['SolrQuery', 'field'=>'string', 'boost'=>'float'], +'SolrDisMaxQuery::addParam' => ['SolrParams', 'name'=>'string', 'value'=>'string'], +'SolrDisMaxQuery::addPhraseField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost'=>'string', 'slop='=>'string'], +'SolrDisMaxQuery::addQueryField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost='=>'string'], +'SolrDisMaxQuery::addSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'int'], +'SolrDisMaxQuery::addStatsFacet' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::addStatsField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::addTrigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost'=>'string', 'slop='=>'string'], +'SolrDisMaxQuery::addUserField' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::collapse' => ['SolrQuery', 'collapseFunction'=>'SolrCollapseFunction'], +'SolrDisMaxQuery::get' => ['mixed', 'param_name'=>'string'], +'SolrDisMaxQuery::getExpand' => ['bool'], +'SolrDisMaxQuery::getExpandFilterQueries' => ['array'], +'SolrDisMaxQuery::getExpandQuery' => ['array'], +'SolrDisMaxQuery::getExpandRows' => ['int'], +'SolrDisMaxQuery::getExpandSortFields' => ['array'], +'SolrDisMaxQuery::getFacet' => ['bool'], +'SolrDisMaxQuery::getFacetDateEnd' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetDateFields' => ['array'], +'SolrDisMaxQuery::getFacetDateGap' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetDateHardEnd' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetDateOther' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetDateStart' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetFields' => ['array'], +'SolrDisMaxQuery::getFacetLimit' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetMethod' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetMinCount' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetMissing' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetOffset' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetPrefix' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getFacetQueries' => ['string'], +'SolrDisMaxQuery::getFacetSort' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getFields' => ['string'], +'SolrDisMaxQuery::getFilterQueries' => ['string'], +'SolrDisMaxQuery::getGroup' => ['bool'], +'SolrDisMaxQuery::getGroupCachePercent' => ['int'], +'SolrDisMaxQuery::getGroupFacet' => ['bool'], +'SolrDisMaxQuery::getGroupFields' => ['array'], +'SolrDisMaxQuery::getGroupFormat' => ['string'], +'SolrDisMaxQuery::getGroupFunctions' => ['array'], +'SolrDisMaxQuery::getGroupLimit' => ['int'], +'SolrDisMaxQuery::getGroupMain' => ['bool'], +'SolrDisMaxQuery::getGroupNGroups' => ['bool'], +'SolrDisMaxQuery::getGroupOffset' => ['bool'], +'SolrDisMaxQuery::getGroupQueries' => ['array'], +'SolrDisMaxQuery::getGroupSortFields' => ['array'], +'SolrDisMaxQuery::getGroupTruncate' => ['bool'], +'SolrDisMaxQuery::getHighlight' => ['bool'], +'SolrDisMaxQuery::getHighlightAlternateField' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightFields' => ['array'], +'SolrDisMaxQuery::getHighlightFormatter' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightFragmenter' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightFragsize' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightHighlightMultiTerm' => ['bool'], +'SolrDisMaxQuery::getHighlightMaxAlternateFieldLength' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightMaxAnalyzedChars' => ['int'], +'SolrDisMaxQuery::getHighlightMergeContiguous' => ['bool', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightRegexMaxAnalyzedChars' => ['int'], +'SolrDisMaxQuery::getHighlightRegexPattern' => ['string'], +'SolrDisMaxQuery::getHighlightRegexSlop' => ['float'], +'SolrDisMaxQuery::getHighlightRequireFieldMatch' => ['bool'], +'SolrDisMaxQuery::getHighlightSimplePost' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightSimplePre' => ['string', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightSnippets' => ['int', 'field_override'=>'string'], +'SolrDisMaxQuery::getHighlightUsePhraseHighlighter' => ['bool'], +'SolrDisMaxQuery::getMlt' => ['bool'], +'SolrDisMaxQuery::getMltBoost' => ['bool'], +'SolrDisMaxQuery::getMltCount' => ['int'], +'SolrDisMaxQuery::getMltFields' => ['array'], +'SolrDisMaxQuery::getMltMaxNumQueryTerms' => ['int'], +'SolrDisMaxQuery::getMltMaxNumTokens' => ['int'], +'SolrDisMaxQuery::getMltMaxWordLength' => ['int'], +'SolrDisMaxQuery::getMltMinDocFrequency' => ['int'], +'SolrDisMaxQuery::getMltMinTermFrequency' => ['int'], +'SolrDisMaxQuery::getMltMinWordLength' => ['int'], +'SolrDisMaxQuery::getMltQueryFields' => ['array'], +'SolrDisMaxQuery::getParam' => ['mixed', 'param_name'=>'string'], +'SolrDisMaxQuery::getParams' => ['array'], +'SolrDisMaxQuery::getPreparedParams' => ['array'], +'SolrDisMaxQuery::getQuery' => ['string'], +'SolrDisMaxQuery::getRows' => ['int'], +'SolrDisMaxQuery::getSortFields' => ['array'], +'SolrDisMaxQuery::getStart' => ['int'], +'SolrDisMaxQuery::getStats' => ['bool'], +'SolrDisMaxQuery::getStatsFacets' => ['array'], +'SolrDisMaxQuery::getStatsFields' => ['array'], +'SolrDisMaxQuery::getTerms' => ['bool'], +'SolrDisMaxQuery::getTermsField' => ['string'], +'SolrDisMaxQuery::getTermsIncludeLowerBound' => ['bool'], +'SolrDisMaxQuery::getTermsIncludeUpperBound' => ['bool'], +'SolrDisMaxQuery::getTermsLimit' => ['int'], +'SolrDisMaxQuery::getTermsLowerBound' => ['string'], +'SolrDisMaxQuery::getTermsMaxCount' => ['int'], +'SolrDisMaxQuery::getTermsMinCount' => ['int'], +'SolrDisMaxQuery::getTermsPrefix' => ['string'], +'SolrDisMaxQuery::getTermsReturnRaw' => ['bool'], +'SolrDisMaxQuery::getTermsSort' => ['int'], +'SolrDisMaxQuery::getTermsUpperBound' => ['string'], +'SolrDisMaxQuery::getTimeAllowed' => ['int'], +'SolrDisMaxQuery::removeBigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeBoostQuery' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrDisMaxQuery::removeExpandSortField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeFacetDateField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::removeFacetField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeFacetQuery' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::removeField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrDisMaxQuery::removeHighlightField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeMltField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeMltQueryField' => ['SolrQuery', 'queryField'=>'string'], +'SolrDisMaxQuery::removePhraseField' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeQueryField' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeSortField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeStatsFacet' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::removeStatsField' => ['SolrQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeTrigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::removeUserField' => ['SolrDisMaxQuery', 'field'=>'string'], +'SolrDisMaxQuery::serialize' => ['string'], +'SolrDisMaxQuery::set' => ['SolrParams', 'name'=>'string', 'value'=>''], +'SolrDisMaxQuery::setBigramPhraseFields' => ['SolrDisMaxQuery', 'fields'=>'string'], +'SolrDisMaxQuery::setBigramPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], +'SolrDisMaxQuery::setBoostFunction' => ['SolrDisMaxQuery', 'function'=>'string'], +'SolrDisMaxQuery::setBoostQuery' => ['SolrDisMaxQuery', 'q'=>'string'], +'SolrDisMaxQuery::setEchoHandler' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setEchoParams' => ['SolrQuery', 'type'=>'string'], +'SolrDisMaxQuery::setExpand' => ['SolrQuery', 'value'=>'bool'], +'SolrDisMaxQuery::setExpandQuery' => ['SolrQuery', 'q'=>'string'], +'SolrDisMaxQuery::setExpandRows' => ['SolrQuery', 'value'=>'int'], +'SolrDisMaxQuery::setExplainOther' => ['SolrQuery', 'query'=>'string'], +'SolrDisMaxQuery::setFacet' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setFacetDateEnd' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetDateGap' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetDateHardEnd' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetDateStart' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetEnumCacheMinDefaultFrequency' => ['SolrQuery', 'frequency'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetLimit' => ['SolrQuery', 'limit'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetMethod' => ['SolrQuery', 'method'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetMinCount' => ['SolrQuery', 'mincount'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetMissing' => ['SolrQuery', 'flag'=>'bool', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetOffset' => ['SolrQuery', 'offset'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetPrefix' => ['SolrQuery', 'prefix'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setFacetSort' => ['SolrQuery', 'facetSort'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setGroup' => ['SolrQuery', 'value'=>'bool'], +'SolrDisMaxQuery::setGroupCachePercent' => ['SolrQuery', 'percent'=>'int'], +'SolrDisMaxQuery::setGroupFacet' => ['SolrQuery', 'value'=>'bool'], +'SolrDisMaxQuery::setGroupFormat' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::setGroupLimit' => ['SolrQuery', 'value'=>'int'], +'SolrDisMaxQuery::setGroupMain' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::setGroupNGroups' => ['SolrQuery', 'value'=>'bool'], +'SolrDisMaxQuery::setGroupOffset' => ['SolrQuery', 'value'=>'int'], +'SolrDisMaxQuery::setGroupTruncate' => ['SolrQuery', 'value'=>'bool'], +'SolrDisMaxQuery::setHighlight' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setHighlightAlternateField' => ['SolrQuery', 'field'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightFormatter' => ['SolrQuery', 'formatter'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightFragmenter' => ['SolrQuery', 'fragmenter'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightFragsize' => ['SolrQuery', 'size'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightHighlightMultiTerm' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setHighlightMaxAlternateFieldLength' => ['SolrQuery', 'fieldLength'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightMaxAnalyzedChars' => ['SolrQuery', 'value'=>'int'], +'SolrDisMaxQuery::setHighlightMergeContiguous' => ['SolrQuery', 'flag'=>'bool', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightRegexMaxAnalyzedChars' => ['SolrQuery', 'maxAnalyzedChars'=>'int'], +'SolrDisMaxQuery::setHighlightRegexPattern' => ['SolrQuery', 'value'=>'string'], +'SolrDisMaxQuery::setHighlightRegexSlop' => ['SolrQuery', 'factor'=>'float'], +'SolrDisMaxQuery::setHighlightRequireFieldMatch' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setHighlightSimplePost' => ['SolrQuery', 'simplePost'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightSimplePre' => ['SolrQuery', 'simplePre'=>'string', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightSnippets' => ['SolrQuery', 'value'=>'int', 'field_override'=>'string'], +'SolrDisMaxQuery::setHighlightUsePhraseHighlighter' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setMinimumMatch' => ['SolrDisMaxQuery', 'value'=>'string'], +'SolrDisMaxQuery::setMlt' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setMltBoost' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setMltCount' => ['SolrQuery', 'count'=>'int'], +'SolrDisMaxQuery::setMltMaxNumQueryTerms' => ['SolrQuery', 'value'=>'int'], +'SolrDisMaxQuery::setMltMaxNumTokens' => ['SolrQuery', 'value'=>'int'], +'SolrDisMaxQuery::setMltMaxWordLength' => ['SolrQuery', 'maxWordLength'=>'int'], +'SolrDisMaxQuery::setMltMinDocFrequency' => ['SolrQuery', 'minDocFrequency'=>'int'], +'SolrDisMaxQuery::setMltMinTermFrequency' => ['SolrQuery', 'minTermFrequency'=>'int'], +'SolrDisMaxQuery::setMltMinWordLength' => ['SolrQuery', 'minWordLength'=>'int'], +'SolrDisMaxQuery::setOmitHeader' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setParam' => ['SolrParams', 'name'=>'string', 'value'=>''], +'SolrDisMaxQuery::setPhraseFields' => ['SolrDisMaxQuery', 'fields'=>'string'], +'SolrDisMaxQuery::setPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], +'SolrDisMaxQuery::setQuery' => ['SolrQuery', 'query'=>'string'], +'SolrDisMaxQuery::setQueryAlt' => ['SolrDisMaxQuery', 'q'=>'string'], +'SolrDisMaxQuery::setQueryPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], +'SolrDisMaxQuery::setRows' => ['SolrQuery', 'rows'=>'int'], +'SolrDisMaxQuery::setShowDebugInfo' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setStart' => ['SolrQuery', 'start'=>'int'], +'SolrDisMaxQuery::setStats' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setTerms' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setTermsField' => ['SolrQuery', 'fieldname'=>'string'], +'SolrDisMaxQuery::setTermsIncludeLowerBound' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setTermsIncludeUpperBound' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setTermsLimit' => ['SolrQuery', 'limit'=>'int'], +'SolrDisMaxQuery::setTermsLowerBound' => ['SolrQuery', 'lowerBound'=>'string'], +'SolrDisMaxQuery::setTermsMaxCount' => ['SolrQuery', 'frequency'=>'int'], +'SolrDisMaxQuery::setTermsMinCount' => ['SolrQuery', 'frequency'=>'int'], +'SolrDisMaxQuery::setTermsPrefix' => ['SolrQuery', 'prefix'=>'string'], +'SolrDisMaxQuery::setTermsReturnRaw' => ['SolrQuery', 'flag'=>'bool'], +'SolrDisMaxQuery::setTermsSort' => ['SolrQuery', 'sortType'=>'int'], +'SolrDisMaxQuery::setTermsUpperBound' => ['SolrQuery', 'upperBound'=>'string'], +'SolrDisMaxQuery::setTieBreaker' => ['SolrDisMaxQuery', 'tieBreaker'=>'string'], +'SolrDisMaxQuery::setTimeAllowed' => ['SolrQuery', 'timeAllowed'=>'int'], +'SolrDisMaxQuery::setTrigramPhraseFields' => ['SolrDisMaxQuery', 'fields'=>'string'], +'SolrDisMaxQuery::setTrigramPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], +'SolrDisMaxQuery::setUserFields' => ['SolrDisMaxQuery', 'fields'=>'string'], +'SolrDisMaxQuery::toString' => ['string', 'url_encode='=>'bool'], +'SolrDisMaxQuery::unserialize' => ['void', 'serialized'=>'string'], +'SolrDisMaxQuery::useDisMaxQueryParser' => ['SolrDisMaxQuery'], +'SolrDisMaxQuery::useEDisMaxQueryParser' => ['SolrDisMaxQuery'], +'SolrDocument::__clone' => ['void'], +'SolrDocument::__construct' => ['void'], +'SolrDocument::__destruct' => ['void'], +'SolrDocument::__get' => ['SolrDocumentField', 'fieldname'=>'string'], +'SolrDocument::__isset' => ['bool', 'fieldname'=>'string'], +'SolrDocument::__set' => ['bool', 'fieldname'=>'string', 'fieldvalue'=>'string'], +'SolrDocument::__unset' => ['bool', 'fieldname'=>'string'], +'SolrDocument::addField' => ['bool', 'fieldname'=>'string', 'fieldvalue'=>'string'], +'SolrDocument::clear' => ['bool'], +'SolrDocument::current' => ['SolrDocumentField'], +'SolrDocument::deleteField' => ['bool', 'fieldname'=>'string'], +'SolrDocument::fieldExists' => ['bool', 'fieldname'=>'string'], +'SolrDocument::getChildDocuments' => ['SolrInputDocument[]'], +'SolrDocument::getChildDocumentsCount' => ['int'], +'SolrDocument::getField' => ['SolrDocumentField|false', 'fieldname'=>'string'], +'SolrDocument::getFieldCount' => ['int|false'], +'SolrDocument::getFieldNames' => ['array|false'], +'SolrDocument::getInputDocument' => ['SolrInputDocument'], +'SolrDocument::hasChildDocuments' => ['bool'], +'SolrDocument::key' => ['string'], +'SolrDocument::merge' => ['bool', 'sourcedoc'=>'solrdocument', 'overwrite='=>'bool'], +'SolrDocument::next' => ['void'], +'SolrDocument::offsetExists' => ['bool', 'fieldname'=>'string'], +'SolrDocument::offsetGet' => ['SolrDocumentField', 'fieldname'=>'string'], +'SolrDocument::offsetSet' => ['void', 'fieldname'=>'string', 'fieldvalue'=>'string'], +'SolrDocument::offsetUnset' => ['void', 'fieldname'=>'string'], +'SolrDocument::reset' => ['bool'], +'SolrDocument::rewind' => ['void'], +'SolrDocument::serialize' => ['string'], +'SolrDocument::sort' => ['bool', 'sortorderby'=>'int', 'sortdirection='=>'int'], +'SolrDocument::toArray' => ['array'], +'SolrDocument::unserialize' => ['void', 'serialized'=>'string'], +'SolrDocument::valid' => ['bool'], +'SolrDocumentField::__construct' => ['void'], +'SolrDocumentField::__destruct' => ['void'], +'SolrException::__clone' => ['void'], +'SolrException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'SolrException::__toString' => ['string'], +'SolrException::__wakeup' => ['void'], +'SolrException::getCode' => ['int'], +'SolrException::getFile' => ['string'], +'SolrException::getInternalInfo' => ['array'], +'SolrException::getLine' => ['int'], +'SolrException::getMessage' => ['string'], +'SolrException::getPrevious' => ['Exception|Throwable'], +'SolrException::getTrace' => ['list\',args?:array}>'], +'SolrException::getTraceAsString' => ['string'], +'SolrGenericResponse::__construct' => ['void'], +'SolrGenericResponse::__destruct' => ['void'], +'SolrGenericResponse::getDigestedResponse' => ['string'], +'SolrGenericResponse::getHttpStatus' => ['int'], +'SolrGenericResponse::getHttpStatusMessage' => ['string'], +'SolrGenericResponse::getRawRequest' => ['string'], +'SolrGenericResponse::getRawRequestHeaders' => ['string'], +'SolrGenericResponse::getRawResponse' => ['string'], +'SolrGenericResponse::getRawResponseHeaders' => ['string'], +'SolrGenericResponse::getRequestUrl' => ['string'], +'SolrGenericResponse::getResponse' => ['SolrObject'], +'SolrGenericResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], +'SolrGenericResponse::success' => ['bool'], +'SolrIllegalArgumentException::__clone' => ['void'], +'SolrIllegalArgumentException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'SolrIllegalArgumentException::__toString' => ['string'], +'SolrIllegalArgumentException::__wakeup' => ['void'], +'SolrIllegalArgumentException::getCode' => ['int'], +'SolrIllegalArgumentException::getFile' => ['string'], +'SolrIllegalArgumentException::getInternalInfo' => ['array'], +'SolrIllegalArgumentException::getLine' => ['int'], +'SolrIllegalArgumentException::getMessage' => ['string'], +'SolrIllegalArgumentException::getPrevious' => ['Exception|Throwable'], +'SolrIllegalArgumentException::getTrace' => ['list\',args?:array}>'], +'SolrIllegalArgumentException::getTraceAsString' => ['string'], +'SolrIllegalOperationException::__clone' => ['void'], +'SolrIllegalOperationException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'SolrIllegalOperationException::__toString' => ['string'], +'SolrIllegalOperationException::__wakeup' => ['void'], +'SolrIllegalOperationException::getCode' => ['int'], +'SolrIllegalOperationException::getFile' => ['string'], +'SolrIllegalOperationException::getInternalInfo' => ['array'], +'SolrIllegalOperationException::getLine' => ['int'], +'SolrIllegalOperationException::getMessage' => ['string'], +'SolrIllegalOperationException::getPrevious' => ['Exception|Throwable'], +'SolrIllegalOperationException::getTrace' => ['list\',args?:array}>'], +'SolrIllegalOperationException::getTraceAsString' => ['string'], +'SolrInputDocument::__clone' => ['void'], +'SolrInputDocument::__construct' => ['void'], +'SolrInputDocument::__destruct' => ['void'], +'SolrInputDocument::addChildDocument' => ['void', 'child'=>'SolrInputDocument'], +'SolrInputDocument::addChildDocuments' => ['void', 'docs'=>'array'], +'SolrInputDocument::addField' => ['bool', 'fieldname'=>'string', 'fieldvalue'=>'string', 'fieldboostvalue='=>'float'], +'SolrInputDocument::clear' => ['bool'], +'SolrInputDocument::deleteField' => ['bool', 'fieldname'=>'string'], +'SolrInputDocument::fieldExists' => ['bool', 'fieldname'=>'string'], +'SolrInputDocument::getBoost' => ['float|false'], +'SolrInputDocument::getChildDocuments' => ['SolrInputDocument[]'], +'SolrInputDocument::getChildDocumentsCount' => ['int'], +'SolrInputDocument::getField' => ['SolrDocumentField|false', 'fieldname'=>'string'], +'SolrInputDocument::getFieldBoost' => ['float|false', 'fieldname'=>'string'], +'SolrInputDocument::getFieldCount' => ['int|false'], +'SolrInputDocument::getFieldNames' => ['array|false'], +'SolrInputDocument::hasChildDocuments' => ['bool'], +'SolrInputDocument::merge' => ['bool', 'sourcedoc'=>'SolrInputDocument', 'overwrite='=>'bool'], +'SolrInputDocument::reset' => ['bool'], +'SolrInputDocument::setBoost' => ['bool', 'documentboostvalue'=>'float'], +'SolrInputDocument::setFieldBoost' => ['bool', 'fieldname'=>'string', 'fieldboostvalue'=>'float'], +'SolrInputDocument::sort' => ['bool', 'sortorderby'=>'int', 'sortdirection='=>'int'], +'SolrInputDocument::toArray' => ['array|false'], +'SolrModifiableParams::__construct' => ['void'], +'SolrModifiableParams::__destruct' => ['void'], +'SolrModifiableParams::add' => ['SolrParams', 'name'=>'string', 'value'=>'string'], +'SolrModifiableParams::addParam' => ['SolrParams', 'name'=>'string', 'value'=>'string'], +'SolrModifiableParams::get' => ['mixed', 'param_name'=>'string'], +'SolrModifiableParams::getParam' => ['mixed', 'param_name'=>'string'], +'SolrModifiableParams::getParams' => ['array'], +'SolrModifiableParams::getPreparedParams' => ['array'], +'SolrModifiableParams::serialize' => ['string'], +'SolrModifiableParams::set' => ['SolrParams', 'name'=>'string', 'value'=>''], +'SolrModifiableParams::setParam' => ['SolrParams', 'name'=>'string', 'value'=>''], +'SolrModifiableParams::toString' => ['string', 'url_encode='=>'bool'], +'SolrModifiableParams::unserialize' => ['void', 'serialized'=>'string'], +'SolrObject::__construct' => ['void'], +'SolrObject::__destruct' => ['void'], +'SolrObject::getPropertyNames' => ['array'], +'SolrObject::offsetExists' => ['bool', 'property_name'=>'string'], +'SolrObject::offsetGet' => ['SolrDocumentField', 'property_name'=>'string'], +'SolrObject::offsetSet' => ['void', 'property_name'=>'string', 'property_value'=>'string'], +'SolrObject::offsetUnset' => ['void', 'property_name'=>'string'], +'SolrParams::__construct' => ['void'], +'SolrParams::add' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], +'SolrParams::addParam' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], +'SolrParams::get' => ['mixed', 'param_name'=>'string'], +'SolrParams::getParam' => ['mixed', 'param_name='=>'string'], +'SolrParams::getParams' => ['array'], +'SolrParams::getPreparedParams' => ['array'], +'SolrParams::serialize' => ['string'], +'SolrParams::set' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], +'SolrParams::setParam' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], +'SolrParams::toString' => ['string|false', 'url_encode='=>'bool'], +'SolrParams::unserialize' => ['void', 'serialized'=>'string'], +'SolrPingResponse::__construct' => ['void'], +'SolrPingResponse::__destruct' => ['void'], +'SolrPingResponse::getDigestedResponse' => ['string'], +'SolrPingResponse::getHttpStatus' => ['int'], +'SolrPingResponse::getHttpStatusMessage' => ['string'], +'SolrPingResponse::getRawRequest' => ['string'], +'SolrPingResponse::getRawRequestHeaders' => ['string'], +'SolrPingResponse::getRawResponse' => ['string'], +'SolrPingResponse::getRawResponseHeaders' => ['string'], +'SolrPingResponse::getRequestUrl' => ['string'], +'SolrPingResponse::getResponse' => ['string'], +'SolrPingResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], +'SolrPingResponse::success' => ['bool'], +'SolrQuery::__construct' => ['void', 'q='=>'string'], +'SolrQuery::__destruct' => ['void'], +'SolrQuery::add' => ['SolrParams', 'name'=>'string', 'value'=>'string'], +'SolrQuery::addExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrQuery::addExpandSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'string'], +'SolrQuery::addFacetDateField' => ['SolrQuery', 'datefield'=>'string'], +'SolrQuery::addFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], +'SolrQuery::addFacetField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::addFacetQuery' => ['SolrQuery', 'facetquery'=>'string'], +'SolrQuery::addField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::addFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrQuery::addGroupField' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::addGroupFunction' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::addGroupQuery' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::addGroupSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'int'], +'SolrQuery::addHighlightField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::addMltField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::addMltQueryField' => ['SolrQuery', 'field'=>'string', 'boost'=>'float'], +'SolrQuery::addParam' => ['SolrParams', 'name'=>'string', 'value'=>'string'], +'SolrQuery::addSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'int'], +'SolrQuery::addStatsFacet' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::addStatsField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::collapse' => ['SolrQuery', 'collapseFunction'=>'SolrCollapseFunction'], +'SolrQuery::get' => ['mixed', 'param_name'=>'string'], +'SolrQuery::getExpand' => ['bool'], +'SolrQuery::getExpandFilterQueries' => ['array'], +'SolrQuery::getExpandQuery' => ['array'], +'SolrQuery::getExpandRows' => ['int'], +'SolrQuery::getExpandSortFields' => ['array'], +'SolrQuery::getFacet' => ['?bool'], +'SolrQuery::getFacetDateEnd' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetDateFields' => ['array'], +'SolrQuery::getFacetDateGap' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetDateHardEnd' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetDateOther' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetDateStart' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetFields' => ['array'], +'SolrQuery::getFacetLimit' => ['?int', 'field_override='=>'string'], +'SolrQuery::getFacetMethod' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetMinCount' => ['?int', 'field_override='=>'string'], +'SolrQuery::getFacetMissing' => ['?bool', 'field_override='=>'string'], +'SolrQuery::getFacetOffset' => ['?int', 'field_override='=>'string'], +'SolrQuery::getFacetPrefix' => ['?string', 'field_override='=>'string'], +'SolrQuery::getFacetQueries' => ['?array'], +'SolrQuery::getFacetSort' => ['int', 'field_override='=>'string'], +'SolrQuery::getFields' => ['?array'], +'SolrQuery::getFilterQueries' => ['?array'], +'SolrQuery::getGroup' => ['bool'], +'SolrQuery::getGroupCachePercent' => ['int'], +'SolrQuery::getGroupFacet' => ['bool'], +'SolrQuery::getGroupFields' => ['array'], +'SolrQuery::getGroupFormat' => ['string'], +'SolrQuery::getGroupFunctions' => ['array'], +'SolrQuery::getGroupLimit' => ['int'], +'SolrQuery::getGroupMain' => ['bool'], +'SolrQuery::getGroupNGroups' => ['bool'], +'SolrQuery::getGroupOffset' => ['int'], +'SolrQuery::getGroupQueries' => ['array'], +'SolrQuery::getGroupSortFields' => ['array'], +'SolrQuery::getGroupTruncate' => ['bool'], +'SolrQuery::getHighlight' => ['bool'], +'SolrQuery::getHighlightAlternateField' => ['?string', 'field_override='=>'string'], +'SolrQuery::getHighlightFields' => ['?array'], +'SolrQuery::getHighlightFormatter' => ['?string', 'field_override='=>'string'], +'SolrQuery::getHighlightFragmenter' => ['?string', 'field_override='=>'string'], +'SolrQuery::getHighlightFragsize' => ['?int', 'field_override='=>'string'], +'SolrQuery::getHighlightHighlightMultiTerm' => ['?bool'], +'SolrQuery::getHighlightMaxAlternateFieldLength' => ['?int', 'field_override='=>'string'], +'SolrQuery::getHighlightMaxAnalyzedChars' => ['?int'], +'SolrQuery::getHighlightMergeContiguous' => ['?bool', 'field_override='=>'string'], +'SolrQuery::getHighlightRegexMaxAnalyzedChars' => ['?int'], +'SolrQuery::getHighlightRegexPattern' => ['?string'], +'SolrQuery::getHighlightRegexSlop' => ['?float'], +'SolrQuery::getHighlightRequireFieldMatch' => ['?bool'], +'SolrQuery::getHighlightSimplePost' => ['?string', 'field_override='=>'string'], +'SolrQuery::getHighlightSimplePre' => ['?string', 'field_override='=>'string'], +'SolrQuery::getHighlightSnippets' => ['?int', 'field_override='=>'string'], +'SolrQuery::getHighlightUsePhraseHighlighter' => ['?bool'], +'SolrQuery::getMlt' => ['?bool'], +'SolrQuery::getMltBoost' => ['?bool'], +'SolrQuery::getMltCount' => ['?int'], +'SolrQuery::getMltFields' => ['?array'], +'SolrQuery::getMltMaxNumQueryTerms' => ['?int'], +'SolrQuery::getMltMaxNumTokens' => ['?int'], +'SolrQuery::getMltMaxWordLength' => ['?int'], +'SolrQuery::getMltMinDocFrequency' => ['?int'], +'SolrQuery::getMltMinTermFrequency' => ['?int'], +'SolrQuery::getMltMinWordLength' => ['?int'], +'SolrQuery::getMltQueryFields' => ['?array'], +'SolrQuery::getParam' => ['?mixed', 'param_name'=>'string'], +'SolrQuery::getParams' => ['?array'], +'SolrQuery::getPreparedParams' => ['?array'], +'SolrQuery::getQuery' => ['?string'], +'SolrQuery::getRows' => ['?int'], +'SolrQuery::getSortFields' => ['?array'], +'SolrQuery::getStart' => ['?int'], +'SolrQuery::getStats' => ['?bool'], +'SolrQuery::getStatsFacets' => ['?array'], +'SolrQuery::getStatsFields' => ['?array'], +'SolrQuery::getTerms' => ['?bool'], +'SolrQuery::getTermsField' => ['?string'], +'SolrQuery::getTermsIncludeLowerBound' => ['?bool'], +'SolrQuery::getTermsIncludeUpperBound' => ['?bool'], +'SolrQuery::getTermsLimit' => ['?int'], +'SolrQuery::getTermsLowerBound' => ['?string'], +'SolrQuery::getTermsMaxCount' => ['?int'], +'SolrQuery::getTermsMinCount' => ['?int'], +'SolrQuery::getTermsPrefix' => ['?string'], +'SolrQuery::getTermsReturnRaw' => ['?bool'], +'SolrQuery::getTermsSort' => ['?int'], +'SolrQuery::getTermsUpperBound' => ['?string'], +'SolrQuery::getTimeAllowed' => ['?int'], +'SolrQuery::removeExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrQuery::removeExpandSortField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeFacetDateField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], +'SolrQuery::removeFacetField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeFacetQuery' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::removeField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeFilterQuery' => ['SolrQuery', 'fq'=>'string'], +'SolrQuery::removeHighlightField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeMltField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeMltQueryField' => ['SolrQuery', 'queryfield'=>'string'], +'SolrQuery::removeSortField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::removeStatsFacet' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::removeStatsField' => ['SolrQuery', 'field'=>'string'], +'SolrQuery::serialize' => ['string'], +'SolrQuery::set' => ['SolrParams', 'name'=>'string', 'value'=>''], +'SolrQuery::setEchoHandler' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setEchoParams' => ['SolrQuery', 'type'=>'string'], +'SolrQuery::setExpand' => ['SolrQuery', 'value'=>'bool'], +'SolrQuery::setExpandQuery' => ['SolrQuery', 'q'=>'string'], +'SolrQuery::setExpandRows' => ['SolrQuery', 'value'=>'int'], +'SolrQuery::setExplainOther' => ['SolrQuery', 'query'=>'string'], +'SolrQuery::setFacet' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setFacetDateEnd' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], +'SolrQuery::setFacetDateGap' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], +'SolrQuery::setFacetDateHardEnd' => ['SolrQuery', 'value'=>'bool', 'field_override='=>'string'], +'SolrQuery::setFacetDateStart' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], +'SolrQuery::setFacetEnumCacheMinDefaultFrequency' => ['SolrQuery', 'frequency'=>'int', 'field_override='=>'string'], +'SolrQuery::setFacetLimit' => ['SolrQuery', 'limit'=>'int', 'field_override='=>'string'], +'SolrQuery::setFacetMethod' => ['SolrQuery', 'method'=>'string', 'field_override='=>'string'], +'SolrQuery::setFacetMinCount' => ['SolrQuery', 'mincount'=>'int', 'field_override='=>'string'], +'SolrQuery::setFacetMissing' => ['SolrQuery', 'flag'=>'bool', 'field_override='=>'string'], +'SolrQuery::setFacetOffset' => ['SolrQuery', 'offset'=>'int', 'field_override='=>'string'], +'SolrQuery::setFacetPrefix' => ['SolrQuery', 'prefix'=>'string', 'field_override='=>'string'], +'SolrQuery::setFacetSort' => ['SolrQuery', 'facetsort'=>'int', 'field_override='=>'string'], +'SolrQuery::setGroup' => ['SolrQuery', 'value'=>'bool'], +'SolrQuery::setGroupCachePercent' => ['SolrQuery', 'percent'=>'int'], +'SolrQuery::setGroupFacet' => ['SolrQuery', 'value'=>'bool'], +'SolrQuery::setGroupFormat' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::setGroupLimit' => ['SolrQuery', 'value'=>'int'], +'SolrQuery::setGroupMain' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::setGroupNGroups' => ['SolrQuery', 'value'=>'bool'], +'SolrQuery::setGroupOffset' => ['SolrQuery', 'value'=>'int'], +'SolrQuery::setGroupTruncate' => ['SolrQuery', 'value'=>'bool'], +'SolrQuery::setHighlight' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setHighlightAlternateField' => ['SolrQuery', 'field'=>'string', 'field_override='=>'string'], +'SolrQuery::setHighlightFormatter' => ['SolrQuery', 'formatter'=>'string', 'field_override='=>'string'], +'SolrQuery::setHighlightFragmenter' => ['SolrQuery', 'fragmenter'=>'string', 'field_override='=>'string'], +'SolrQuery::setHighlightFragsize' => ['SolrQuery', 'size'=>'int', 'field_override='=>'string'], +'SolrQuery::setHighlightHighlightMultiTerm' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setHighlightMaxAlternateFieldLength' => ['SolrQuery', 'fieldlength'=>'int', 'field_override='=>'string'], +'SolrQuery::setHighlightMaxAnalyzedChars' => ['SolrQuery', 'value'=>'int'], +'SolrQuery::setHighlightMergeContiguous' => ['SolrQuery', 'flag'=>'bool', 'field_override='=>'string'], +'SolrQuery::setHighlightRegexMaxAnalyzedChars' => ['SolrQuery', 'maxanalyzedchars'=>'int'], +'SolrQuery::setHighlightRegexPattern' => ['SolrQuery', 'value'=>'string'], +'SolrQuery::setHighlightRegexSlop' => ['SolrQuery', 'factor'=>'float'], +'SolrQuery::setHighlightRequireFieldMatch' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setHighlightSimplePost' => ['SolrQuery', 'simplepost'=>'string', 'field_override='=>'string'], +'SolrQuery::setHighlightSimplePre' => ['SolrQuery', 'simplepre'=>'string', 'field_override='=>'string'], +'SolrQuery::setHighlightSnippets' => ['SolrQuery', 'value'=>'int', 'field_override='=>'string'], +'SolrQuery::setHighlightUsePhraseHighlighter' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setMlt' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setMltBoost' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setMltCount' => ['SolrQuery', 'count'=>'int'], +'SolrQuery::setMltMaxNumQueryTerms' => ['SolrQuery', 'value'=>'int'], +'SolrQuery::setMltMaxNumTokens' => ['SolrQuery', 'value'=>'int'], +'SolrQuery::setMltMaxWordLength' => ['SolrQuery', 'maxwordlength'=>'int'], +'SolrQuery::setMltMinDocFrequency' => ['SolrQuery', 'mindocfrequency'=>'int'], +'SolrQuery::setMltMinTermFrequency' => ['SolrQuery', 'mintermfrequency'=>'int'], +'SolrQuery::setMltMinWordLength' => ['SolrQuery', 'minwordlength'=>'int'], +'SolrQuery::setOmitHeader' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setParam' => ['SolrParams', 'name'=>'string', 'value'=>''], +'SolrQuery::setQuery' => ['SolrQuery', 'query'=>'string'], +'SolrQuery::setRows' => ['SolrQuery', 'rows'=>'int'], +'SolrQuery::setShowDebugInfo' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setStart' => ['SolrQuery', 'start'=>'int'], +'SolrQuery::setStats' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setTerms' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setTermsField' => ['SolrQuery', 'fieldname'=>'string'], +'SolrQuery::setTermsIncludeLowerBound' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setTermsIncludeUpperBound' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setTermsLimit' => ['SolrQuery', 'limit'=>'int'], +'SolrQuery::setTermsLowerBound' => ['SolrQuery', 'lowerbound'=>'string'], +'SolrQuery::setTermsMaxCount' => ['SolrQuery', 'frequency'=>'int'], +'SolrQuery::setTermsMinCount' => ['SolrQuery', 'frequency'=>'int'], +'SolrQuery::setTermsPrefix' => ['SolrQuery', 'prefix'=>'string'], +'SolrQuery::setTermsReturnRaw' => ['SolrQuery', 'flag'=>'bool'], +'SolrQuery::setTermsSort' => ['SolrQuery', 'sorttype'=>'int'], +'SolrQuery::setTermsUpperBound' => ['SolrQuery', 'upperbound'=>'string'], +'SolrQuery::setTimeAllowed' => ['SolrQuery', 'timeallowed'=>'int'], +'SolrQuery::toString' => ['string', 'url_encode='=>'bool'], +'SolrQuery::unserialize' => ['void', 'serialized'=>'string'], +'SolrQueryResponse::__construct' => ['void'], +'SolrQueryResponse::__destruct' => ['void'], +'SolrQueryResponse::getDigestedResponse' => ['string'], +'SolrQueryResponse::getHttpStatus' => ['int'], +'SolrQueryResponse::getHttpStatusMessage' => ['string'], +'SolrQueryResponse::getRawRequest' => ['string'], +'SolrQueryResponse::getRawRequestHeaders' => ['string'], +'SolrQueryResponse::getRawResponse' => ['string'], +'SolrQueryResponse::getRawResponseHeaders' => ['string'], +'SolrQueryResponse::getRequestUrl' => ['string'], +'SolrQueryResponse::getResponse' => ['SolrObject'], +'SolrQueryResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], +'SolrQueryResponse::success' => ['bool'], +'SolrResponse::getDigestedResponse' => ['string'], +'SolrResponse::getHttpStatus' => ['int'], +'SolrResponse::getHttpStatusMessage' => ['string'], +'SolrResponse::getRawRequest' => ['string'], +'SolrResponse::getRawRequestHeaders' => ['string'], +'SolrResponse::getRawResponse' => ['string'], +'SolrResponse::getRawResponseHeaders' => ['string'], +'SolrResponse::getRequestUrl' => ['string'], +'SolrResponse::getResponse' => ['SolrObject'], +'SolrResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], +'SolrResponse::success' => ['bool'], +'SolrServerException::__clone' => ['void'], +'SolrServerException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'SolrServerException::__toString' => ['string'], +'SolrServerException::__wakeup' => ['void'], +'SolrServerException::getCode' => ['int'], +'SolrServerException::getFile' => ['string'], +'SolrServerException::getInternalInfo' => ['array'], +'SolrServerException::getLine' => ['int'], +'SolrServerException::getMessage' => ['string'], +'SolrServerException::getPrevious' => ['Exception|Throwable'], +'SolrServerException::getTrace' => ['list\',args?:array}>'], +'SolrServerException::getTraceAsString' => ['string'], +'SolrUpdateResponse::__construct' => ['void'], +'SolrUpdateResponse::__destruct' => ['void'], +'SolrUpdateResponse::getDigestedResponse' => ['string'], +'SolrUpdateResponse::getHttpStatus' => ['int'], +'SolrUpdateResponse::getHttpStatusMessage' => ['string'], +'SolrUpdateResponse::getRawRequest' => ['string'], +'SolrUpdateResponse::getRawRequestHeaders' => ['string'], +'SolrUpdateResponse::getRawResponse' => ['string'], +'SolrUpdateResponse::getRawResponseHeaders' => ['string'], +'SolrUpdateResponse::getRequestUrl' => ['string'], +'SolrUpdateResponse::getResponse' => ['SolrObject'], +'SolrUpdateResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], +'SolrUpdateResponse::success' => ['bool'], +'SolrUtils::digestXmlResponse' => ['SolrObject', 'xmlresponse'=>'string', 'parse_mode='=>'int'], +'SolrUtils::escapeQueryChars' => ['string|false', 'string'=>'string'], +'SolrUtils::getSolrVersion' => ['string'], +'SolrUtils::queryPhrase' => ['string', 'string'=>'string'], +'sort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], +'soundex' => ['string', 'string'=>'string'], +'SphinxClient::__construct' => ['void'], +'SphinxClient::addQuery' => ['int', 'query'=>'string', 'index='=>'string', 'comment='=>'string'], +'SphinxClient::buildExcerpts' => ['array', 'docs'=>'array', 'index'=>'string', 'words'=>'string', 'opts='=>'array'], +'SphinxClient::buildKeywords' => ['array', 'query'=>'string', 'index'=>'string', 'hits'=>'bool'], +'SphinxClient::close' => ['bool'], +'SphinxClient::escapeString' => ['string', 'string'=>'string'], +'SphinxClient::getLastError' => ['string'], +'SphinxClient::getLastWarning' => ['string'], +'SphinxClient::open' => ['bool'], +'SphinxClient::query' => ['array', 'query'=>'string', 'index='=>'string', 'comment='=>'string'], +'SphinxClient::resetFilters' => ['void'], +'SphinxClient::resetGroupBy' => ['void'], +'SphinxClient::runQueries' => ['array'], +'SphinxClient::setArrayResult' => ['bool', 'array_result'=>'bool'], +'SphinxClient::setConnectTimeout' => ['bool', 'timeout'=>'float'], +'SphinxClient::setFieldWeights' => ['bool', 'weights'=>'array'], +'SphinxClient::setFilter' => ['bool', 'attribute'=>'string', 'values'=>'array', 'exclude='=>'bool'], +'SphinxClient::setFilterFloatRange' => ['bool', 'attribute'=>'string', 'min'=>'float', 'max'=>'float', 'exclude='=>'bool'], +'SphinxClient::setFilterRange' => ['bool', 'attribute'=>'string', 'min'=>'int', 'max'=>'int', 'exclude='=>'bool'], +'SphinxClient::setGeoAnchor' => ['bool', 'attrlat'=>'string', 'attrlong'=>'string', 'latitude'=>'float', 'longitude'=>'float'], +'SphinxClient::setGroupBy' => ['bool', 'attribute'=>'string', 'func'=>'int', 'groupsort='=>'string'], +'SphinxClient::setGroupDistinct' => ['bool', 'attribute'=>'string'], +'SphinxClient::setIDRange' => ['bool', 'min'=>'int', 'max'=>'int'], +'SphinxClient::setIndexWeights' => ['bool', 'weights'=>'array'], +'SphinxClient::setLimits' => ['bool', 'offset'=>'int', 'limit'=>'int', 'max_matches='=>'int', 'cutoff='=>'int'], +'SphinxClient::setMatchMode' => ['bool', 'mode'=>'int'], +'SphinxClient::setMaxQueryTime' => ['bool', 'qtime'=>'int'], +'SphinxClient::setOverride' => ['bool', 'attribute'=>'string', 'type'=>'int', 'values'=>'array'], +'SphinxClient::setRankingMode' => ['bool', 'ranker'=>'int'], +'SphinxClient::setRetries' => ['bool', 'count'=>'int', 'delay='=>'int'], +'SphinxClient::setSelect' => ['bool', 'clause'=>'string'], +'SphinxClient::setServer' => ['bool', 'server'=>'string', 'port'=>'int'], +'SphinxClient::setSortMode' => ['bool', 'mode'=>'int', 'sortby='=>'string'], +'SphinxClient::status' => ['array'], +'SphinxClient::updateAttributes' => ['int', 'index'=>'string', 'attributes'=>'array', 'values'=>'array', 'mva='=>'bool'], +'spl_autoload' => ['void', 'class'=>'string', 'file_extensions='=>'?string'], +'spl_autoload_call' => ['void', 'class'=>'string'], +'spl_autoload_extensions' => ['string', 'file_extensions='=>'?string'], +'spl_autoload_functions' => ['list'], +'spl_autoload_register' => ['bool', 'callback='=>'callable(string):void|null', 'throw='=>'bool', 'prepend='=>'bool'], +'spl_autoload_unregister' => ['bool', 'callback'=>'callable(string):void'], +'spl_classes' => ['array'], +'spl_object_hash' => ['string', 'object'=>'object'], +'spl_object_id' => ['int', 'object'=>'object'], +'SplDoublyLinkedList::__construct' => ['void'], +'SplDoublyLinkedList::add' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], +'SplDoublyLinkedList::bottom' => ['mixed'], +'SplDoublyLinkedList::count' => ['int'], +'SplDoublyLinkedList::current' => ['mixed'], +'SplDoublyLinkedList::getIteratorMode' => ['int'], +'SplDoublyLinkedList::isEmpty' => ['bool'], +'SplDoublyLinkedList::key' => ['int'], +'SplDoublyLinkedList::next' => ['void'], +'SplDoublyLinkedList::offsetExists' => ['bool', 'index'=>'mixed'], +'SplDoublyLinkedList::offsetGet' => ['mixed', 'index'=>'mixed'], +'SplDoublyLinkedList::offsetSet' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], +'SplDoublyLinkedList::offsetUnset' => ['void', 'index'=>'mixed'], +'SplDoublyLinkedList::pop' => ['mixed'], +'SplDoublyLinkedList::prev' => ['void'], +'SplDoublyLinkedList::push' => ['void', 'value'=>'mixed'], +'SplDoublyLinkedList::rewind' => ['void'], +'SplDoublyLinkedList::serialize' => ['string'], +'SplDoublyLinkedList::setIteratorMode' => ['void', 'flags'=>'int'], +'SplDoublyLinkedList::shift' => ['mixed'], +'SplDoublyLinkedList::top' => ['mixed'], +'SplDoublyLinkedList::unserialize' => ['void', 'serialized'=>'string'], +'SplDoublyLinkedList::unshift' => ['void', 'value'=>'mixed'], +'SplDoublyLinkedList::valid' => ['bool'], +'SplEnum::__construct' => ['void', 'initial_value='=>'mixed', 'strict='=>'bool'], +'SplEnum::getConstList' => ['array', 'include_default='=>'bool'], +'SplFileInfo::__construct' => ['void', 'filename'=>'string'], +'SplFileInfo::__toString' => ['string'], +'SplFileInfo::__wakeup' => ['void'], +'SplFileInfo::getATime' => ['int|false'], +'SplFileInfo::getBasename' => ['string', 'suffix='=>'string'], +'SplFileInfo::getCTime' => ['int|false'], +'SplFileInfo::getExtension' => ['string'], +'SplFileInfo::getFileInfo' => ['SplFileInfo', 'class='=>'?string'], +'SplFileInfo::getFilename' => ['string'], +'SplFileInfo::getGroup' => ['int|false'], +'SplFileInfo::getInode' => ['int|false'], +'SplFileInfo::getLinkTarget' => ['string|false'], +'SplFileInfo::getMTime' => ['int|false'], +'SplFileInfo::getOwner' => ['int|false'], +'SplFileInfo::getPath' => ['string'], +'SplFileInfo::getPathInfo' => ['SplFileInfo|null', 'class='=>'?string'], +'SplFileInfo::getPathname' => ['string'], +'SplFileInfo::getPerms' => ['int|false'], +'SplFileInfo::getRealPath' => ['string|false'], +'SplFileInfo::getSize' => ['int|false'], +'SplFileInfo::getType' => ['string|false'], +'SplFileInfo::isDir' => ['bool'], +'SplFileInfo::isExecutable' => ['bool'], +'SplFileInfo::isFile' => ['bool'], +'SplFileInfo::isLink' => ['bool'], +'SplFileInfo::isReadable' => ['bool'], +'SplFileInfo::isWritable' => ['bool'], +'SplFileInfo::openFile' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], +'SplFileInfo::setFileClass' => ['void', 'class='=>'string'], +'SplFileInfo::setInfoClass' => ['void', 'class='=>'string'], +'SplFileObject::__construct' => ['void', 'filename'=>'string', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], +'SplFileObject::__toString' => ['string'], +'SplFileObject::current' => ['string|array|false'], +'SplFileObject::eof' => ['bool'], +'SplFileObject::fflush' => ['bool'], +'SplFileObject::fgetc' => ['string|false'], +'SplFileObject::fgetcsv' => ['list|array{0: null}|false', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], +'SplFileObject::fgets' => ['string'], +'SplFileObject::flock' => ['bool', 'operation'=>'int', '&w_wouldBlock='=>'int'], +'SplFileObject::fpassthru' => ['int'], +'SplFileObject::fputcsv' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string', 'eol='=>'string', 'eol='=>'string'], +'SplFileObject::fread' => ['string|false', 'length'=>'int'], +'SplFileObject::fscanf' => ['array|int', 'format'=>'string', '&...w_vars='=>'string|int|float'], +'SplFileObject::fseek' => ['int', 'offset'=>'int', 'whence='=>'int'], +'SplFileObject::fstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}'], +'SplFileObject::ftell' => ['int|false'], +'SplFileObject::ftruncate' => ['bool', 'size'=>'int'], +'SplFileObject::fwrite' => ['int|false', 'data'=>'string', 'length='=>'int'], +'SplFileObject::getATime' => ['int|false'], +'SplFileObject::getBasename' => ['string', 'suffix='=>'string'], +'SplFileObject::getChildren' => ['null'], +'SplFileObject::getCsvControl' => ['array'], +'SplFileObject::getCTime' => ['int|false'], +'SplFileObject::getCurrentLine' => ['string'], +'SplFileObject::getExtension' => ['string'], +'SplFileObject::getFileInfo' => ['SplFileInfo', 'class='=>'?string'], +'SplFileObject::getFilename' => ['string'], +'SplFileObject::getFlags' => ['int'], +'SplFileObject::getGroup' => ['int|false'], +'SplFileObject::getInode' => ['int|false'], +'SplFileObject::getLinkTarget' => ['string|false'], +'SplFileObject::getMaxLineLen' => ['int'], +'SplFileObject::getMTime' => ['int|false'], +'SplFileObject::getOwner' => ['int|false'], +'SplFileObject::getPath' => ['string'], +'SplFileObject::getPathInfo' => ['SplFileInfo|null', 'class='=>'?string'], +'SplFileObject::getPathname' => ['string'], +'SplFileObject::getPerms' => ['int|false'], +'SplFileObject::getRealPath' => ['false|string'], +'SplFileObject::getSize' => ['int|false'], +'SplFileObject::getType' => ['string|false'], +'SplFileObject::hasChildren' => ['false'], +'SplFileObject::isDir' => ['bool'], +'SplFileObject::isExecutable' => ['bool'], +'SplFileObject::isFile' => ['bool'], +'SplFileObject::isLink' => ['bool'], +'SplFileObject::isReadable' => ['bool'], +'SplFileObject::isWritable' => ['bool'], +'SplFileObject::key' => ['int'], +'SplFileObject::next' => ['void'], +'SplFileObject::openFile' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], +'SplFileObject::rewind' => ['void'], +'SplFileObject::seek' => ['void', 'line'=>'int'], +'SplFileObject::setCsvControl' => ['void', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], +'SplFileObject::setFileClass' => ['void', 'class='=>'string'], +'SplFileObject::setFlags' => ['void', 'flags'=>'int'], +'SplFileObject::setInfoClass' => ['void', 'class='=>'string'], +'SplFileObject::setMaxLineLen' => ['void', 'maxLength'=>'int'], +'SplFileObject::valid' => ['bool'], +'SplFixedArray::__construct' => ['void', 'size='=>'int'], +'SplFixedArray::__wakeup' => ['void'], +'SplFixedArray::count' => ['int'], +'SplFixedArray::current' => ['mixed'], +'SplFixedArray::fromArray' => ['SplFixedArray', 'data'=>'array', 'save_indexes='=>'bool'], +'SplFixedArray::getSize' => ['int'], +'SplFixedArray::key' => ['int'], +'SplFixedArray::next' => ['void'], +'SplFixedArray::offsetExists' => ['bool', 'index'=>'int'], +'SplFixedArray::offsetGet' => ['mixed', 'index'=>'int'], +'SplFixedArray::offsetSet' => ['void', 'index'=>'int', 'newval'=>'mixed'], +'SplFixedArray::offsetUnset' => ['void', 'index'=>'int'], +'SplFixedArray::rewind' => ['void'], +'SplFixedArray::setSize' => ['bool', 'size'=>'int'], +'SplFixedArray::toArray' => ['array'], +'SplFixedArray::valid' => ['bool'], +'SplHeap::__construct' => ['void'], +'SplHeap::compare' => ['int', 'value1'=>'mixed', 'value2'=>'mixed'], +'SplHeap::count' => ['int'], +'SplHeap::current' => ['mixed'], +'SplHeap::extract' => ['mixed'], +'SplHeap::insert' => ['bool', 'value'=>'mixed'], +'SplHeap::isCorrupted' => ['bool'], +'SplHeap::isEmpty' => ['bool'], +'SplHeap::key' => ['int'], +'SplHeap::next' => ['void'], +'SplHeap::recoverFromCorruption' => ['true'], +'SplHeap::rewind' => ['void'], +'SplHeap::top' => ['mixed'], +'SplHeap::valid' => ['bool'], +'SplMaxHeap::__construct' => ['void'], +'SplMaxHeap::compare' => ['int', 'a'=>'mixed', 'b'=>'mixed'], +'SplMinHeap::compare' => ['int', 'a'=>'mixed', 'b'=>'mixed'], +'SplMinHeap::count' => ['int'], +'SplMinHeap::current' => ['mixed'], +'SplMinHeap::extract' => ['mixed'], +'SplMinHeap::insert' => ['true', 'value'=>'mixed'], +'SplMinHeap::isCorrupted' => ['bool'], +'SplMinHeap::isEmpty' => ['bool'], +'SplMinHeap::key' => ['int'], +'SplMinHeap::next' => ['void'], +'SplMinHeap::recoverFromCorruption' => ['true'], +'SplMinHeap::rewind' => ['void'], +'SplMinHeap::top' => ['mixed'], +'SplMinHeap::valid' => ['bool'], +'SplObjectStorage::__construct' => ['void'], +'SplObjectStorage::addAll' => ['void', 'os'=>'splobjectstorage'], +'SplObjectStorage::attach' => ['void', 'object'=>'object', 'inf='=>'mixed'], +'SplObjectStorage::contains' => ['bool', 'object'=>'object'], +'SplObjectStorage::count' => ['int'], +'SplObjectStorage::current' => ['object'], +'SplObjectStorage::detach' => ['void', 'object'=>'object'], +'SplObjectStorage::getHash' => ['string', 'object'=>'object'], +'SplObjectStorage::getInfo' => ['mixed'], +'SplObjectStorage::key' => ['int'], +'SplObjectStorage::next' => ['void'], +'SplObjectStorage::offsetExists' => ['bool', 'object'=>'object'], +'SplObjectStorage::offsetGet' => ['mixed', 'object'=>'object'], +'SplObjectStorage::offsetSet' => ['object', 'object'=>'object', 'data='=>'mixed'], +'SplObjectStorage::offsetUnset' => ['void', 'object'=>'object'], +'SplObjectStorage::removeAll' => ['void', 'os'=>'splobjectstorage'], +'SplObjectStorage::removeAllExcept' => ['void', 'os'=>'splobjectstorage'], +'SplObjectStorage::rewind' => ['void'], +'SplObjectStorage::serialize' => ['string'], +'SplObjectStorage::setInfo' => ['void', 'inf'=>'mixed'], +'SplObjectStorage::unserialize' => ['void', 'serialized'=>'string'], +'SplObjectStorage::valid' => ['bool'], +'SplObserver::update' => ['void', 'subject'=>'SplSubject'], +'SplPriorityQueue::__construct' => ['void'], +'SplPriorityQueue::compare' => ['int', 'a'=>'mixed', 'b'=>'mixed'], +'SplPriorityQueue::count' => ['int'], +'SplPriorityQueue::current' => ['mixed'], +'SplPriorityQueue::extract' => ['mixed'], +'SplPriorityQueue::getExtractFlags' => ['int'], +'SplPriorityQueue::insert' => ['bool', 'value'=>'mixed', 'priority'=>'mixed'], +'SplPriorityQueue::isCorrupted' => ['bool'], +'SplPriorityQueue::isEmpty' => ['bool'], +'SplPriorityQueue::key' => ['int'], +'SplPriorityQueue::next' => ['void'], +'SplPriorityQueue::recoverFromCorruption' => ['void'], +'SplPriorityQueue::rewind' => ['void'], +'SplPriorityQueue::setExtractFlags' => ['int', 'flags'=>'int'], +'SplPriorityQueue::top' => ['mixed'], +'SplPriorityQueue::valid' => ['bool'], +'SplQueue::dequeue' => ['mixed'], +'SplQueue::enqueue' => ['void', 'value'=>'mixed'], +'SplQueue::getIteratorMode' => ['int'], +'SplQueue::isEmpty' => ['bool'], +'SplQueue::key' => ['int'], +'SplQueue::next' => ['void'], +'SplQueue::offsetExists' => ['bool', 'index'=>'mixed'], +'SplQueue::offsetGet' => ['mixed', 'index'=>'mixed'], +'SplQueue::offsetSet' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], +'SplQueue::offsetUnset' => ['void', 'index'=>'mixed'], +'SplQueue::pop' => ['mixed'], +'SplQueue::prev' => ['void'], +'SplQueue::push' => ['void', 'value'=>'mixed'], +'SplQueue::rewind' => ['void'], +'SplQueue::serialize' => ['string'], +'SplQueue::setIteratorMode' => ['int', 'mode'=>'int'], +'SplQueue::shift' => ['mixed'], +'SplQueue::top' => ['mixed'], +'SplQueue::unserialize' => ['void', 'serialized'=>'string'], +'SplQueue::unshift' => ['void', 'value'=>'mixed'], +'SplQueue::valid' => ['bool'], +'SplStack::__construct' => ['void'], +'SplStack::add' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], +'SplStack::bottom' => ['mixed'], +'SplStack::count' => ['int'], +'SplStack::current' => ['mixed'], +'SplStack::getIteratorMode' => ['int'], +'SplStack::isEmpty' => ['bool'], +'SplStack::key' => ['int'], +'SplStack::next' => ['void'], +'SplStack::offsetExists' => ['bool', 'index'=>'mixed'], +'SplStack::offsetGet' => ['mixed', 'index'=>'mixed'], +'SplStack::offsetSet' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], +'SplStack::offsetUnset' => ['void', 'index'=>'mixed'], +'SplStack::pop' => ['mixed'], +'SplStack::prev' => ['void'], +'SplStack::push' => ['void', 'value'=>'mixed'], +'SplStack::rewind' => ['void'], +'SplStack::serialize' => ['string'], +'SplStack::setIteratorMode' => ['int', 'mode'=>'int'], +'SplStack::shift' => ['mixed'], +'SplStack::top' => ['mixed'], +'SplStack::unserialize' => ['void', 'serialized'=>'string'], +'SplStack::unshift' => ['void', 'value'=>'mixed'], +'SplStack::valid' => ['bool'], +'SplSubject::attach' => ['void', 'observer'=>'SplObserver'], +'SplSubject::detach' => ['void', 'observer'=>'SplObserver'], +'SplSubject::notify' => ['void'], +'SplTempFileObject::__construct' => ['void', 'maxMemory='=>'int'], +'SplTempFileObject::__toString' => ['string'], +'SplTempFileObject::current' => ['string|array|false'], +'SplTempFileObject::eof' => ['bool'], +'SplTempFileObject::fflush' => ['bool'], +'SplTempFileObject::fgetc' => ['string|false'], +'SplTempFileObject::fgetcsv' => ['list|array{0: null}|false', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], +'SplTempFileObject::fgets' => ['string'], +'SplTempFileObject::flock' => ['bool', 'operation'=>'int', '&w_wouldBlock='=>'int'], +'SplTempFileObject::fpassthru' => ['int'], +'SplTempFileObject::fputcsv' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string', 'eol='=>'string'], +'SplTempFileObject::fread' => ['string|false', 'length'=>'int'], +'SplTempFileObject::fscanf' => ['array|int', 'format'=>'string', '&...w_vars='=>'string|int|float'], +'SplTempFileObject::fseek' => ['int', 'offset'=>'int', 'whence='=>'int'], +'SplTempFileObject::fstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}'], +'SplTempFileObject::ftell' => ['int|false'], +'SplTempFileObject::ftruncate' => ['bool', 'size'=>'int'], +'SplTempFileObject::fwrite' => ['int|false', 'data'=>'string', 'length='=>'int'], +'SplTempFileObject::getATime' => ['int|false'], +'SplTempFileObject::getBasename' => ['string', 'suffix='=>'string'], +'SplTempFileObject::getChildren' => ['null'], +'SplTempFileObject::getCsvControl' => ['array'], +'SplTempFileObject::getCTime' => ['int|false'], +'SplTempFileObject::getCurrentLine' => ['string'], +'SplTempFileObject::getExtension' => ['string'], +'SplTempFileObject::getFileInfo' => ['SplFileInfo', 'class='=>'?string'], +'SplTempFileObject::getFilename' => ['string'], +'SplTempFileObject::getFlags' => ['int'], +'SplTempFileObject::getGroup' => ['int|false'], +'SplTempFileObject::getInode' => ['int|false'], +'SplTempFileObject::getLinkTarget' => ['string|false'], +'SplTempFileObject::getMaxLineLen' => ['int'], +'SplTempFileObject::getMTime' => ['int|false'], +'SplTempFileObject::getOwner' => ['int|false'], +'SplTempFileObject::getPath' => ['string'], +'SplTempFileObject::getPathInfo' => ['SplFileInfo|null', 'class='=>'?string'], +'SplTempFileObject::getPathname' => ['string'], +'SplTempFileObject::getPerms' => ['int|false'], +'SplTempFileObject::getRealPath' => ['false|string'], +'SplTempFileObject::getSize' => ['int|false'], +'SplTempFileObject::getType' => ['string|false'], +'SplTempFileObject::hasChildren' => ['false'], +'SplTempFileObject::isDir' => ['bool'], +'SplTempFileObject::isExecutable' => ['bool'], +'SplTempFileObject::isFile' => ['bool'], +'SplTempFileObject::isLink' => ['bool'], +'SplTempFileObject::isReadable' => ['bool'], +'SplTempFileObject::isWritable' => ['bool'], +'SplTempFileObject::key' => ['int'], +'SplTempFileObject::next' => ['void'], +'SplTempFileObject::openFile' => ['SplTempFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], +'SplTempFileObject::rewind' => ['void'], +'SplTempFileObject::seek' => ['void', 'line'=>'int'], +'SplTempFileObject::setCsvControl' => ['void', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], +'SplTempFileObject::setFileClass' => ['void', 'class='=>'string'], +'SplTempFileObject::setFlags' => ['void', 'flags'=>'int'], +'SplTempFileObject::setInfoClass' => ['void', 'class='=>'string'], +'SplTempFileObject::setMaxLineLen' => ['void', 'maxLength'=>'int'], +'SplTempFileObject::valid' => ['bool'], +'SplType::__construct' => ['void', 'initial_value='=>'mixed', 'strict='=>'bool'], +'Spoofchecker::__construct' => ['void'], +'Spoofchecker::areConfusable' => ['bool', 'string1'=>'string', 'string2'=>'string', '&w_errorCode='=>'int'], +'Spoofchecker::isSuspicious' => ['bool', 'string'=>'string', '&w_errorCode='=>'int'], +'Spoofchecker::setAllowedLocales' => ['void', 'locales'=>'string'], +'Spoofchecker::setChecks' => ['void', 'checks'=>'int'], +'Spoofchecker::setRestrictionLevel' => ['void', 'level'=>'int'], +'sprintf' => ['string', 'format'=>'string', '...values='=>'string|int|float'], +'SQLite3::__construct' => ['void', 'filename'=>'string', 'flags='=>'int', 'encryptionKey='=>'?string'], +'SQLite3::busyTimeout' => ['bool', 'milliseconds'=>'int'], +'SQLite3::changes' => ['int'], +'SQLite3::close' => ['bool'], +'SQLite3::createAggregate' => ['bool', 'name'=>'string', 'stepCallback'=>'callable', 'finalCallback'=>'callable', 'argCount='=>'int'], +'SQLite3::createCollation' => ['bool', 'name'=>'string', 'callback'=>'callable'], +'SQLite3::createFunction' => ['bool', 'name'=>'string', 'callback'=>'callable', 'argCount='=>'int', 'flags='=>'int'], +'SQLite3::enableExceptions' => ['bool', 'enable='=>'bool'], +'SQLite3::escapeString' => ['string', 'string'=>'string'], +'SQLite3::exec' => ['bool', 'query'=>'string'], +'SQLite3::lastErrorCode' => ['int'], +'SQLite3::lastErrorMsg' => ['string'], +'SQLite3::lastInsertRowID' => ['int'], +'SQLite3::loadExtension' => ['bool', 'name'=>'string'], +'SQLite3::open' => ['void', 'filename'=>'string', 'flags='=>'int', 'encryptionKey='=>'?string'], +'SQLite3::openBlob' => ['resource|false', 'table'=>'string', 'column'=>'string', 'rowid'=>'int', 'database='=>'string', 'flags='=>'int'], +'SQLite3::prepare' => ['SQLite3Stmt|false', 'query'=>'string'], +'SQLite3::query' => ['SQLite3Result|false', 'query'=>'string'], +'SQLite3::querySingle' => ['array|int|string|bool|float|null|false', 'query'=>'string', 'entireRow='=>'bool'], +'SQLite3::version' => ['array'], +'SQLite3Result::__construct' => ['void'], +'SQLite3Result::columnName' => ['string', 'column'=>'int'], +'SQLite3Result::columnType' => ['int', 'column'=>'int'], +'SQLite3Result::fetchArray' => ['array|false', 'mode='=>'int'], +'SQLite3Result::finalize' => ['bool'], +'SQLite3Result::numColumns' => ['int'], +'SQLite3Result::reset' => ['bool'], +'SQLite3Stmt::__construct' => ['void', 'sqlite3'=>'sqlite3', 'query'=>'string'], +'SQLite3Stmt::bindParam' => ['bool', 'param'=>'string|int', '&rw_var'=>'mixed', 'type='=>'int'], +'SQLite3Stmt::bindValue' => ['bool', 'param'=>'string|int', 'value'=>'mixed', 'type='=>'int'], +'SQLite3Stmt::clear' => ['bool'], +'SQLite3Stmt::close' => ['bool'], +'SQLite3Stmt::execute' => ['false|SQLite3Result'], +'SQLite3Stmt::getSQL' => ['string', 'expand='=>'bool'], +'SQLite3Stmt::paramCount' => ['int'], +'SQLite3Stmt::readOnly' => ['bool'], +'SQLite3Stmt::reset' => ['bool'], +'sqlite_array_query' => ['array|false', 'dbhandle'=>'resource', 'query'=>'string', 'result_type='=>'int', 'decode_binary='=>'bool'], +'sqlite_busy_timeout' => ['void', 'dbhandle'=>'resource', 'milliseconds'=>'int'], +'sqlite_changes' => ['int', 'dbhandle'=>'resource'], +'sqlite_close' => ['void', 'dbhandle'=>'resource'], +'sqlite_column' => ['mixed', 'result'=>'resource', 'index_or_name'=>'mixed', 'decode_binary='=>'bool'], +'sqlite_create_aggregate' => ['void', 'dbhandle'=>'resource', 'function_name'=>'string', 'step_func'=>'callable', 'finalize_func'=>'callable', 'num_args='=>'int'], +'sqlite_create_function' => ['void', 'dbhandle'=>'resource', 'function_name'=>'string', 'callback'=>'callable', 'num_args='=>'int'], +'sqlite_current' => ['array|false', 'result'=>'resource', 'result_type='=>'int', 'decode_binary='=>'bool'], +'sqlite_error_string' => ['string', 'error_code'=>'int'], +'sqlite_escape_string' => ['string', 'item'=>'string'], +'sqlite_exec' => ['bool', 'dbhandle'=>'resource', 'query'=>'string', 'error_msg='=>'string'], +'sqlite_factory' => ['SQLiteDatabase', 'filename'=>'string', 'mode='=>'int', 'error_message='=>'string'], +'sqlite_fetch_all' => ['array', 'result'=>'resource', 'result_type='=>'int', 'decode_binary='=>'bool'], +'sqlite_fetch_array' => ['array|false', 'result'=>'resource', 'result_type='=>'int', 'decode_binary='=>'bool'], +'sqlite_fetch_column_types' => ['array|false', 'table_name'=>'string', 'dbhandle'=>'resource', 'result_type='=>'int'], +'sqlite_fetch_object' => ['object', 'result'=>'resource', 'class_name='=>'string', 'ctor_params='=>'array', 'decode_binary='=>'bool'], +'sqlite_fetch_single' => ['string', 'result'=>'resource', 'decode_binary='=>'bool'], +'sqlite_fetch_string' => ['string', 'result'=>'resource', 'decode_binary'=>'bool'], +'sqlite_field_name' => ['string', 'result'=>'resource', 'field_index'=>'int'], +'sqlite_has_more' => ['bool', 'result'=>'resource'], +'sqlite_has_prev' => ['bool', 'result'=>'resource'], +'sqlite_key' => ['int', 'result'=>'resource'], +'sqlite_last_error' => ['int', 'dbhandle'=>'resource'], +'sqlite_last_insert_rowid' => ['int', 'dbhandle'=>'resource'], +'sqlite_libencoding' => ['string'], +'sqlite_libversion' => ['string'], +'sqlite_next' => ['bool', 'result'=>'resource'], +'sqlite_num_fields' => ['int', 'result'=>'resource'], +'sqlite_num_rows' => ['int', 'result'=>'resource'], +'sqlite_open' => ['resource|false', 'filename'=>'string', 'mode='=>'int', 'error_message='=>'string'], +'sqlite_popen' => ['resource|false', 'filename'=>'string', 'mode='=>'int', 'error_message='=>'string'], +'sqlite_prev' => ['bool', 'result'=>'resource'], +'sqlite_query' => ['resource|false', 'dbhandle'=>'resource', 'query'=>'resource|string', 'result_type='=>'int', 'error_msg='=>'string'], +'sqlite_rewind' => ['bool', 'result'=>'resource'], +'sqlite_seek' => ['bool', 'result'=>'resource', 'rownum'=>'int'], +'sqlite_single_query' => ['array', 'db'=>'resource', 'query'=>'string', 'first_row_only='=>'bool', 'decode_binary='=>'bool'], +'sqlite_udf_decode_binary' => ['string', 'data'=>'string'], +'sqlite_udf_encode_binary' => ['string', 'data'=>'string'], +'sqlite_unbuffered_query' => ['SQLiteUnbuffered|false', 'dbhandle'=>'resource', 'query'=>'string', 'result_type='=>'int', 'error_msg='=>'string'], +'sqlite_valid' => ['bool', 'result'=>'resource'], +'SQLiteDatabase::__construct' => ['void', 'filename'=>'', 'mode='=>'int|mixed', '&error_message'=>''], +'SQLiteDatabase::arrayQuery' => ['array', 'query'=>'string', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteDatabase::busyTimeout' => ['int', 'milliseconds'=>'int'], +'SQLiteDatabase::changes' => ['int'], +'SQLiteDatabase::createAggregate' => ['', 'function_name'=>'string', 'step_func'=>'callable', 'finalize_func'=>'callable', 'num_args='=>'int'], +'SQLiteDatabase::createFunction' => ['', 'function_name'=>'string', 'callback'=>'callable', 'num_args='=>'int'], +'SQLiteDatabase::exec' => ['bool', 'query'=>'string', 'error_msg='=>'string'], +'SQLiteDatabase::fetchColumnTypes' => ['array', 'table_name'=>'string', 'result_type='=>'int'], +'SQLiteDatabase::lastError' => ['int'], +'SQLiteDatabase::lastInsertRowid' => ['int'], +'SQLiteDatabase::query' => ['SQLiteResult|false', 'query'=>'string', 'result_type='=>'int', 'error_msg='=>'string'], +'SQLiteDatabase::queryExec' => ['bool', 'query'=>'string', '&w_error_msg='=>'string'], +'SQLiteDatabase::singleQuery' => ['array', 'query'=>'string', 'first_row_only='=>'bool', 'decode_binary='=>'bool'], +'SQLiteDatabase::unbufferedQuery' => ['SQLiteUnbuffered|false', 'query'=>'string', 'result_type='=>'int', 'error_msg='=>'string'], +'SQLiteException::__clone' => ['void'], +'SQLiteException::__construct' => ['void', 'message'=>'', 'code'=>'', 'previous'=>''], +'SQLiteException::__toString' => ['string'], +'SQLiteException::__wakeup' => ['void'], +'SQLiteException::getCode' => ['int'], +'SQLiteException::getFile' => ['string'], +'SQLiteException::getLine' => ['int'], +'SQLiteException::getMessage' => ['string'], +'SQLiteException::getPrevious' => ['RuntimeException|Throwable|null'], +'SQLiteException::getTrace' => ['list\',args?:array}>'], +'SQLiteException::getTraceAsString' => ['string'], +'SQLiteResult::__construct' => ['void'], +'SQLiteResult::column' => ['mixed', 'index_or_name'=>'', 'decode_binary='=>'bool'], +'SQLiteResult::count' => ['int'], +'SQLiteResult::current' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteResult::fetch' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteResult::fetchAll' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteResult::fetchObject' => ['object', 'class_name='=>'string', 'ctor_params='=>'array', 'decode_binary='=>'bool'], +'SQLiteResult::fetchSingle' => ['string', 'decode_binary='=>'bool'], +'SQLiteResult::fieldName' => ['string', 'field_index'=>'int'], +'SQLiteResult::hasPrev' => ['bool'], +'SQLiteResult::key' => ['mixed|null'], +'SQLiteResult::next' => ['bool'], +'SQLiteResult::numFields' => ['int'], +'SQLiteResult::numRows' => ['int'], +'SQLiteResult::prev' => ['bool'], +'SQLiteResult::rewind' => ['bool'], +'SQLiteResult::seek' => ['bool', 'rownum'=>'int'], +'SQLiteResult::valid' => ['bool'], +'SQLiteUnbuffered::column' => ['void', 'index_or_name'=>'', 'decode_binary='=>'bool'], +'SQLiteUnbuffered::current' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteUnbuffered::fetch' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteUnbuffered::fetchAll' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], +'SQLiteUnbuffered::fetchObject' => ['object', 'class_name='=>'string', 'ctor_params='=>'array', 'decode_binary='=>'bool'], +'SQLiteUnbuffered::fetchSingle' => ['string', 'decode_binary='=>'bool'], +'SQLiteUnbuffered::fieldName' => ['string', 'field_index'=>'int'], +'SQLiteUnbuffered::next' => ['bool'], +'SQLiteUnbuffered::numFields' => ['int'], +'SQLiteUnbuffered::valid' => ['bool'], +'sqlsrv_begin_transaction' => ['bool', 'conn'=>'resource'], +'sqlsrv_cancel' => ['bool', 'stmt'=>'resource'], +'sqlsrv_client_info' => ['array|false', 'conn'=>'resource'], +'sqlsrv_close' => ['bool', 'conn'=>'?resource'], +'sqlsrv_commit' => ['bool', 'conn'=>'resource'], +'sqlsrv_configure' => ['bool', 'setting'=>'string', 'value'=>'mixed'], +'sqlsrv_connect' => ['resource|false', 'serverName'=>'string', 'connectionInfo='=>'array'], +'sqlsrv_errors' => ['?array', 'errorsOrWarnings='=>'int'], +'sqlsrv_execute' => ['bool', 'stmt'=>'resource'], +'sqlsrv_fetch' => ['?bool', 'stmt'=>'resource', 'row='=>'int', 'offset='=>'int'], +'sqlsrv_fetch_array' => ['array|null|false', 'stmt'=>'resource', 'fetchType='=>'int', 'row='=>'int', 'offset='=>'int'], +'sqlsrv_fetch_object' => ['object|null|false', 'stmt'=>'resource', 'className='=>'string', 'ctorParams='=>'array', 'row='=>'int', 'offset='=>'int'], +'sqlsrv_field_metadata' => ['array|false', 'stmt'=>'resource'], +'sqlsrv_free_stmt' => ['bool', 'stmt'=>'resource'], +'sqlsrv_get_config' => ['mixed', 'setting'=>'string'], +'sqlsrv_get_field' => ['mixed', 'stmt'=>'resource', 'fieldIndex'=>'int', 'getAsType='=>'int'], +'sqlsrv_has_rows' => ['bool', 'stmt'=>'resource'], +'sqlsrv_next_result' => ['?bool', 'stmt'=>'resource'], +'sqlsrv_num_fields' => ['int|false', 'stmt'=>'resource'], +'sqlsrv_num_rows' => ['int|false', 'stmt'=>'resource'], +'sqlsrv_prepare' => ['resource|false', 'conn'=>'resource', 'sql'=>'string', 'params='=>'array', 'options='=>'array'], +'sqlsrv_query' => ['resource|false', 'conn'=>'resource', 'sql'=>'string', 'params='=>'array', 'options='=>'array'], +'sqlsrv_rollback' => ['bool', 'conn'=>'resource'], +'sqlsrv_rows_affected' => ['int|false', 'stmt'=>'resource'], +'sqlsrv_send_stream_data' => ['bool', 'stmt'=>'resource'], +'sqlsrv_server_info' => ['array', 'conn'=>'resource'], +'sqrt' => ['float', 'num'=>'float'], +'srand' => ['void', 'seed='=>'int', 'mode='=>'int'], +'sscanf' => ['list|int|null', 'string'=>'string', 'format'=>'string', '&...w_vars='=>'string|int|float|null'], +'ssdeep_fuzzy_compare' => ['int', 'signature1'=>'string', 'signature2'=>'string'], +'ssdeep_fuzzy_hash' => ['string', 'to_hash'=>'string'], +'ssdeep_fuzzy_hash_filename' => ['string', 'file_name'=>'string'], +'ssh2_auth_agent' => ['bool', 'session'=>'resource', 'username'=>'string'], +'ssh2_auth_hostbased_file' => ['bool', 'session'=>'resource', 'username'=>'string', 'hostname'=>'string', 'pubkeyfile'=>'string', 'privkeyfile'=>'string', 'passphrase='=>'string', 'local_username='=>'string'], +'ssh2_auth_none' => ['bool|string[]', 'session'=>'resource', 'username'=>'string'], +'ssh2_auth_password' => ['bool', 'session'=>'resource', 'username'=>'string', 'password'=>'string'], +'ssh2_auth_pubkey_file' => ['bool', 'session'=>'resource', 'username'=>'string', 'pubkeyfile'=>'string', 'privkeyfile'=>'string', 'passphrase='=>'string'], +'ssh2_connect' => ['resource|false', 'host'=>'string', 'port='=>'int', 'methods='=>'array', 'callbacks='=>'array'], +'ssh2_disconnect' => ['bool', 'session'=>'resource'], +'ssh2_exec' => ['resource|false', 'session'=>'resource', 'command'=>'string', 'pty='=>'string', 'env='=>'array', 'width='=>'int', 'height='=>'int', 'width_height_type='=>'int'], +'ssh2_fetch_stream' => ['resource|false', 'channel'=>'resource', 'streamid'=>'int'], +'ssh2_fingerprint' => ['string|false', 'session'=>'resource', 'flags='=>'int'], +'ssh2_forward_accept' => ['resource|false', 'listener'=>'resource'], +'ssh2_forward_listen' => ['resource|false', 'session'=>'resource', 'port'=>'int', 'host='=>'string', 'max_connections='=>'string'], +'ssh2_methods_negotiated' => ['array|false', 'session'=>'resource'], +'ssh2_poll' => ['int', '&polldes'=>'array', 'timeout='=>'int'], +'ssh2_publickey_add' => ['bool', 'pkey'=>'resource', 'algoname'=>'string', 'blob'=>'string', 'overwrite='=>'bool', 'attributes='=>'array'], +'ssh2_publickey_init' => ['resource|false', 'session'=>'resource'], +'ssh2_publickey_list' => ['array|false', 'pkey'=>'resource'], +'ssh2_publickey_remove' => ['bool', 'pkey'=>'resource', 'algoname'=>'string', 'blob'=>'string'], +'ssh2_scp_recv' => ['bool', 'session'=>'resource', 'remote_file'=>'string', 'local_file'=>'string'], +'ssh2_scp_send' => ['bool', 'session'=>'resource', 'local_file'=>'string', 'remote_file'=>'string', 'create_mode='=>'int'], +'ssh2_sftp' => ['resource|false', 'session'=>'resource'], +'ssh2_sftp_chmod' => ['bool', 'sftp'=>'resource', 'filename'=>'string', 'mode'=>'int'], +'ssh2_sftp_lstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'sftp'=>'resource', 'path'=>'string'], +'ssh2_sftp_mkdir' => ['bool', 'sftp'=>'resource', 'dirname'=>'string', 'mode='=>'int', 'recursive='=>'bool'], +'ssh2_sftp_readlink' => ['string|false', 'sftp'=>'resource', 'link'=>'string'], +'ssh2_sftp_realpath' => ['string|false', 'sftp'=>'resource', 'filename'=>'string'], +'ssh2_sftp_rename' => ['bool', 'sftp'=>'resource', 'from'=>'string', 'to'=>'string'], +'ssh2_sftp_rmdir' => ['bool', 'sftp'=>'resource', 'dirname'=>'string'], +'ssh2_sftp_stat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'sftp'=>'resource', 'path'=>'string'], +'ssh2_sftp_symlink' => ['bool', 'sftp'=>'resource', 'target'=>'string', 'link'=>'string'], +'ssh2_sftp_unlink' => ['bool', 'sftp'=>'resource', 'filename'=>'string'], +'ssh2_shell' => ['resource|false', 'session'=>'resource', 'termtype='=>'string', 'env='=>'array', 'width='=>'int', 'height='=>'int', 'width_height_type='=>'int'], +'ssh2_tunnel' => ['resource|false', 'session'=>'resource', 'host'=>'string', 'port'=>'int'], +'stat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'filename'=>'string'], +'stats_absolute_deviation' => ['float', 'a'=>'array'], +'stats_cdf_beta' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_binomial' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_cauchy' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_chisquare' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], +'stats_cdf_exponential' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], +'stats_cdf_f' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_gamma' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_laplace' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_logistic' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_negative_binomial' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_noncentral_chisquare' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_noncentral_f' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'par4'=>'float', 'which'=>'int'], +'stats_cdf_noncentral_t' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_normal' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_poisson' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], +'stats_cdf_t' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], +'stats_cdf_uniform' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_cdf_weibull' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_covariance' => ['float', 'a'=>'array', 'b'=>'array'], +'stats_den_uniform' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], +'stats_dens_beta' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], +'stats_dens_cauchy' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], +'stats_dens_chisquare' => ['float', 'x'=>'float', 'dfr'=>'float'], +'stats_dens_exponential' => ['float', 'x'=>'float', 'scale'=>'float'], +'stats_dens_f' => ['float', 'x'=>'float', 'dfr1'=>'float', 'dfr2'=>'float'], +'stats_dens_gamma' => ['float', 'x'=>'float', 'shape'=>'float', 'scale'=>'float'], +'stats_dens_laplace' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], +'stats_dens_logistic' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], +'stats_dens_negative_binomial' => ['float', 'x'=>'float', 'n'=>'float', 'pi'=>'float'], +'stats_dens_normal' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], +'stats_dens_pmf_binomial' => ['float', 'x'=>'float', 'n'=>'float', 'pi'=>'float'], +'stats_dens_pmf_hypergeometric' => ['float', 'n1'=>'float', 'n2'=>'float', 'N1'=>'float', 'N2'=>'float'], +'stats_dens_pmf_negative_binomial' => ['float', 'x'=>'float', 'n'=>'float', 'pi'=>'float'], +'stats_dens_pmf_poisson' => ['float', 'x'=>'float', 'lb'=>'float'], +'stats_dens_t' => ['float', 'x'=>'float', 'dfr'=>'float'], +'stats_dens_uniform' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], +'stats_dens_weibull' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], +'stats_harmonic_mean' => ['float', 'a'=>'array'], +'stats_kurtosis' => ['float', 'a'=>'array'], +'stats_rand_gen_beta' => ['float', 'a'=>'float', 'b'=>'float'], +'stats_rand_gen_chisquare' => ['float', 'df'=>'float'], +'stats_rand_gen_exponential' => ['float', 'av'=>'float'], +'stats_rand_gen_f' => ['float', 'dfn'=>'float', 'dfd'=>'float'], +'stats_rand_gen_funiform' => ['float', 'low'=>'float', 'high'=>'float'], +'stats_rand_gen_gamma' => ['float', 'a'=>'float', 'r'=>'float'], +'stats_rand_gen_ibinomial' => ['int', 'n'=>'int', 'pp'=>'float'], +'stats_rand_gen_ibinomial_negative' => ['int', 'n'=>'int', 'p'=>'float'], +'stats_rand_gen_int' => ['int'], +'stats_rand_gen_ipoisson' => ['int', 'mu'=>'float'], +'stats_rand_gen_iuniform' => ['int', 'low'=>'int', 'high'=>'int'], +'stats_rand_gen_noncenral_chisquare' => ['float', 'df'=>'float', 'xnonc'=>'float'], +'stats_rand_gen_noncentral_chisquare' => ['float', 'df'=>'float', 'xnonc'=>'float'], +'stats_rand_gen_noncentral_f' => ['float', 'dfn'=>'float', 'dfd'=>'float', 'xnonc'=>'float'], +'stats_rand_gen_noncentral_t' => ['float', 'df'=>'float', 'xnonc'=>'float'], +'stats_rand_gen_normal' => ['float', 'av'=>'float', 'sd'=>'float'], +'stats_rand_gen_t' => ['float', 'df'=>'float'], +'stats_rand_get_seeds' => ['array'], +'stats_rand_phrase_to_seeds' => ['array', 'phrase'=>'string'], +'stats_rand_ranf' => ['float'], +'stats_rand_setall' => ['void', 'iseed1'=>'int', 'iseed2'=>'int'], +'stats_skew' => ['float', 'a'=>'array'], +'stats_standard_deviation' => ['float', 'a'=>'array', 'sample='=>'bool'], +'stats_stat_binomial_coef' => ['float', 'x'=>'int', 'n'=>'int'], +'stats_stat_correlation' => ['float', 'array1'=>'array', 'array2'=>'array'], +'stats_stat_factorial' => ['float', 'n'=>'int'], +'stats_stat_gennch' => ['float', 'n'=>'int'], +'stats_stat_independent_t' => ['float', 'array1'=>'array', 'array2'=>'array'], +'stats_stat_innerproduct' => ['float', 'array1'=>'array', 'array2'=>'array'], +'stats_stat_noncentral_t' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], +'stats_stat_paired_t' => ['float', 'array1'=>'array', 'array2'=>'array'], +'stats_stat_percentile' => ['float', 'arr'=>'array', 'perc'=>'float'], +'stats_stat_powersum' => ['float', 'arr'=>'array', 'power'=>'float'], +'stats_variance' => ['float', 'a'=>'array', 'sample='=>'bool'], +'Stomp::__construct' => ['void', 'broker='=>'string', 'username='=>'string', 'password='=>'string', 'headers='=>'?array'], +'Stomp::abort' => ['bool', 'transaction_id'=>'string', 'headers='=>'?array'], +'Stomp::ack' => ['bool', 'msg'=>'', 'headers='=>'?array'], +'Stomp::begin' => ['bool', 'transaction_id'=>'string', 'headers='=>'?array'], +'Stomp::commit' => ['bool', 'transaction_id'=>'string', 'headers='=>'?array'], +'Stomp::error' => ['string'], +'Stomp::getReadTimeout' => ['array'], +'Stomp::getSessionId' => ['string'], +'Stomp::hasFrame' => ['bool'], +'Stomp::readFrame' => ['array', 'class_name='=>'string'], +'Stomp::send' => ['bool', 'destination'=>'string', 'msg'=>'', 'headers='=>'?array'], +'Stomp::setReadTimeout' => ['void', 'seconds'=>'int', 'microseconds='=>'?int'], +'Stomp::subscribe' => ['bool', 'destination'=>'string', 'headers='=>'?array'], +'Stomp::unsubscribe' => ['bool', 'destination'=>'string', 'headers='=>'?array'], +'stomp_abort' => ['bool', 'link'=>'resource', 'transaction_id'=>'string', 'headers='=>'?array'], +'stomp_ack' => ['bool', 'link'=>'resource', 'msg'=>'', 'headers='=>'?array'], +'stomp_begin' => ['bool', 'link'=>'resource', 'transaction_id'=>'string', 'headers='=>'?array'], +'stomp_close' => ['bool', 'link'=>'resource'], +'stomp_commit' => ['bool', 'link'=>'resource', 'transaction_id'=>'string', 'headers='=>'?array'], +'stomp_connect' => ['resource', 'link'=>'resource', 'broker='=>'string', 'username='=>'string', 'password='=>'string', 'headers='=>'?array'], +'stomp_connect_error' => ['string'], +'stomp_error' => ['string', 'link'=>'resource'], +'stomp_get_read_timeout' => ['array', 'link'=>'resource'], +'stomp_get_session_id' => ['string', 'link'=>'resource'], +'stomp_has_frame' => ['bool', 'link'=>'resource'], +'stomp_read_frame' => ['array', 'link'=>'resource', 'class_name='=>'string'], +'stomp_send' => ['bool', 'link'=>'resource', 'destination'=>'string', 'msg'=>'', 'headers='=>'?array'], +'stomp_set_read_timeout' => ['void', 'link'=>'resource', 'seconds'=>'int', 'microseconds='=>'?int'], +'stomp_subscribe' => ['bool', 'link'=>'resource', 'destination'=>'string', 'headers='=>'?array'], +'stomp_unsubscribe' => ['bool', 'link'=>'resource', 'destination'=>'string', 'headers='=>'?array'], +'stomp_version' => ['string'], +'StompException::getDetails' => ['string'], +'StompFrame::__construct' => ['void', 'command='=>'string', 'headers='=>'?array', 'body='=>'string'], +'str_contains' => ['bool', 'haystack'=>'string', 'needle'=>'string'], +'str_ends_with' => ['bool', 'haystack'=>'string', 'needle'=>'string'], +'str_getcsv' => ['non-empty-list', 'string'=>'string', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], +'str_ireplace' => ['string|string[]', 'search'=>'string|array', 'replace'=>'string|array', 'subject'=>'string|array', '&w_count='=>'int'], +'str_pad' => ['string', 'string'=>'string', 'length'=>'int', 'pad_string='=>'string', 'pad_type='=>'int'], +'str_repeat' => ['string', 'string'=>'string', 'times'=>'int'], +'str_replace' => ['string|string[]', 'search'=>'string|array', 'replace'=>'string|array', 'subject'=>'string|array', '&w_count='=>'int'], +'str_rot13' => ['string', 'string'=>'string'], +'str_shuffle' => ['string', 'string'=>'string'], +'str_split' => ['list', 'string'=>'string', 'length='=>'positive-int'], +'str_starts_with' => ['bool', 'haystack'=>'string', 'needle'=>'string'], +'str_word_count' => ['array|int', 'string'=>'string', 'format='=>'int', 'characters='=>'?string'], +'strcasecmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], +'strcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strcoll' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strcspn' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'?int'], +'stream_bucket_append' => ['void', 'brigade'=>'resource', 'bucket'=>'object'], +'stream_bucket_make_writeable' => ['?object', 'brigade'=>'resource'], +'stream_bucket_new' => ['object', 'stream'=>'resource', 'buffer'=>'string'], +'stream_bucket_prepend' => ['void', 'brigade'=>'resource', 'bucket'=>'object'], +'stream_context_create' => ['resource', 'options='=>'?array', 'params='=>'?array'], +'stream_context_get_default' => ['resource', 'options='=>'?array'], +'stream_context_get_options' => ['array', 'stream_or_context'=>'resource'], +'stream_context_get_params' => ['array', 'context'=>'resource'], +'stream_context_set_default' => ['resource', 'options'=>'array'], +'stream_context_set_option' => ['bool', 'context'=>'', 'wrapper_or_options'=>'string', 'option_name'=>'string', 'value'=>''], +'stream_context_set_option\'1' => ['bool', 'context'=>'', 'wrapper_or_options'=>'array'], +'stream_context_set_params' => ['bool', 'context'=>'resource', 'params'=>'array'], +'stream_copy_to_stream' => ['int|false', 'from'=>'resource', 'to'=>'resource', 'length='=>'?int', 'offset='=>'int'], +'stream_encoding' => ['bool', 'stream'=>'resource', 'encoding='=>'string'], +'stream_filter_append' => ['resource|false', 'stream'=>'resource', 'filter_name'=>'string', 'mode='=>'int', 'params='=>'mixed'], +'stream_filter_prepend' => ['resource|false', 'stream'=>'resource', 'filter_name'=>'string', 'mode='=>'int', 'params='=>'mixed'], +'stream_filter_register' => ['bool', 'filter_name'=>'string', 'class'=>'string'], +'stream_filter_remove' => ['bool', 'stream_filter'=>'resource'], +'stream_get_contents' => ['string|false', 'stream'=>'resource', 'length='=>'?int', 'offset='=>'int'], +'stream_get_filters' => ['array'], +'stream_get_line' => ['string|false', 'stream'=>'resource', 'length'=>'int', 'ending='=>'string'], +'stream_get_meta_data' => ['array{timed_out:bool,blocked:bool,eof:bool,unread_bytes:int,stream_type:string,wrapper_type:string,wrapper_data:mixed,mode:string,seekable:bool,uri:string,mediatype:string,crypto?:array{protocol:string,cipher_name:string,cipher_bits:int,cipher_version:string}}', 'stream'=>'resource'], +'stream_get_transports' => ['list'], +'stream_get_wrappers' => ['list'], +'stream_is_local' => ['bool', 'stream'=>'resource|string'], +'stream_isatty' => ['bool', 'stream'=>'resource'], +'stream_notification_callback' => ['callback', 'notification_code'=>'int', 'severity'=>'int', 'message'=>'string', 'message_code'=>'int', 'bytes_transferred'=>'int', 'bytes_max'=>'int'], +'stream_register_wrapper' => ['bool', 'protocol'=>'string', 'class'=>'string', 'flags='=>'int'], +'stream_resolve_include_path' => ['string|false', 'filename'=>'string'], +'stream_select' => ['int|false', '&rw_read'=>'?resource[]', '&rw_write'=>'?resource[]', '&rw_except'=>'?resource[]', 'seconds'=>'?int', 'microseconds='=>'?int'], +'stream_set_blocking' => ['bool', 'stream'=>'resource', 'enable'=>'bool'], +'stream_set_chunk_size' => ['int', 'stream'=>'resource', 'size'=>'int'], +'stream_set_read_buffer' => ['int', 'stream'=>'resource', 'size'=>'int'], +'stream_set_timeout' => ['bool', 'stream'=>'resource', 'seconds'=>'int', 'microseconds='=>'int'], +'stream_set_write_buffer' => ['int', 'stream'=>'resource', 'size'=>'int'], +'stream_socket_accept' => ['resource|false', 'socket'=>'resource', 'timeout='=>'?float', '&w_peer_name='=>'string'], +'stream_socket_client' => ['resource|false', 'address'=>'string', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'?float', 'flags='=>'int', 'context='=>'?resource'], +'stream_socket_enable_crypto' => ['int|bool', 'stream'=>'resource', 'enable'=>'bool', 'crypto_method='=>'?int', 'session_stream='=>'?resource'], +'stream_socket_get_name' => ['string', 'socket'=>'resource', 'remote'=>'bool'], +'stream_socket_pair' => ['resource[]|false', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int'], +'stream_socket_recvfrom' => ['string', 'socket'=>'resource', 'length'=>'int', 'flags='=>'int', '&w_address='=>'string'], +'stream_socket_sendto' => ['int', 'socket'=>'resource', 'data'=>'string', 'flags='=>'int', 'address='=>'string'], +'stream_socket_server' => ['resource|false', 'address'=>'string', '&w_error_code='=>'int', '&w_error_message='=>'string', 'flags='=>'int', 'context='=>'resource'], +'stream_socket_shutdown' => ['bool', 'stream'=>'resource', 'mode'=>'int'], +'stream_supports_lock' => ['bool', 'stream'=>'resource'], +'stream_wrapper_register' => ['bool', 'protocol'=>'string', 'class'=>'string', 'flags='=>'int'], +'stream_wrapper_restore' => ['bool', 'protocol'=>'string'], +'stream_wrapper_unregister' => ['bool', 'protocol'=>'string'], +'streamWrapper::__construct' => ['void'], +'streamWrapper::__destruct' => ['void'], +'streamWrapper::dir_closedir' => ['bool'], +'streamWrapper::dir_opendir' => ['bool', 'path'=>'string', 'options'=>'int'], +'streamWrapper::dir_readdir' => ['string'], +'streamWrapper::dir_rewinddir' => ['bool'], +'streamWrapper::mkdir' => ['bool', 'path'=>'string', 'mode'=>'int', 'options'=>'int'], +'streamWrapper::rename' => ['bool', 'path_from'=>'string', 'path_to'=>'string'], +'streamWrapper::rmdir' => ['bool', 'path'=>'string', 'options'=>'int'], +'streamWrapper::stream_cast' => ['resource', 'cast_as'=>'int'], +'streamWrapper::stream_close' => ['void'], +'streamWrapper::stream_eof' => ['bool'], +'streamWrapper::stream_flush' => ['bool'], +'streamWrapper::stream_lock' => ['bool', 'operation'=>'mode'], +'streamWrapper::stream_metadata' => ['bool', 'path'=>'string', 'option'=>'int', 'value'=>'mixed'], +'streamWrapper::stream_open' => ['bool', 'path'=>'string', 'mode'=>'string', 'options'=>'int', 'opened_path'=>'string'], +'streamWrapper::stream_read' => ['string', 'count'=>'int'], +'streamWrapper::stream_seek' => ['bool', 'offset'=>'int', 'whence'=>'int'], +'streamWrapper::stream_set_option' => ['bool', 'option'=>'int', 'arg1'=>'int', 'arg2'=>'int'], +'streamWrapper::stream_stat' => ['array'], +'streamWrapper::stream_tell' => ['int'], +'streamWrapper::stream_truncate' => ['bool', 'new_size'=>'int'], +'streamWrapper::stream_write' => ['int', 'data'=>'string'], +'streamWrapper::unlink' => ['bool', 'path'=>'string'], +'streamWrapper::url_stat' => ['array', 'path'=>'string', 'flags'=>'int'], +'strftime' => ['string|false', 'format'=>'string', 'timestamp='=>'?int'], +'strip_tags' => ['string', 'string'=>'string', 'allowed_tags='=>'string|list|null'], +'stripcslashes' => ['string', 'string'=>'string'], +'stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'stripslashes' => ['string', 'string'=>'string'], +'stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], +'strlen' => ['0|positive-int', 'string'=>'string'], +'strnatcasecmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strnatcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], +'strncasecmp' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], +'strncmp' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], +'strpbrk' => ['string|false', 'string'=>'string', 'characters'=>'string'], +'strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'strptime' => ['array|false', 'timestamp'=>'string', 'format'=>'string'], +'strrchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string'], +'strrev' => ['string', 'string'=>'string'], +'strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], +'strspn' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'?int'], +'strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], +'strtok' => ['string|false', 'string'=>'string', 'token'=>'string'], +'strtok\'1' => ['string|false', 'string'=>'string'], +'strtolower' => ['lowercase-string', 'string'=>'string'], +'strtotime' => ['int|false', 'datetime'=>'string', 'baseTimestamp='=>'?int'], +'strtoupper' => ['string', 'string'=>'string'], +'strtr' => ['string', 'string'=>'string', 'from'=>'string', 'to'=>'string'], +'strtr\'1' => ['string', 'string'=>'string', 'from'=>'array'], +'strval' => ['string', 'value'=>'mixed'], +'styleObj::__construct' => ['void', 'label'=>'labelObj', 'style'=>'styleObj'], +'styleObj::convertToString' => ['string'], +'styleObj::free' => ['void'], +'styleObj::getBinding' => ['string', 'stylebinding'=>'mixed'], +'styleObj::getGeomTransform' => ['string'], +'styleObj::ms_newStyleObj' => ['styleObj', 'class'=>'classObj', 'style'=>'styleObj'], +'styleObj::removeBinding' => ['int', 'stylebinding'=>'mixed'], +'styleObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'styleObj::setBinding' => ['int', 'stylebinding'=>'mixed', 'value'=>'string'], +'styleObj::setGeomTransform' => ['int', 'value'=>'string'], +'styleObj::updateFromString' => ['int', 'snippet'=>'string'], +'substr' => ['string', 'string'=>'string', 'offset'=>'int', 'length='=>'?int'], +'substr_compare' => ['int', 'haystack'=>'string', 'needle'=>'string', 'offset'=>'int', 'length='=>'?int', 'case_insensitive='=>'bool'], +'substr_count' => ['int', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'length='=>'?int'], +'substr_replace' => ['string|string[]', 'string'=>'string|string[]', 'replace'=>'string|string[]', 'offset'=>'int|int[]', 'length='=>'int|int[]|null'], +'suhosin_encrypt_cookie' => ['string|false', 'name'=>'string', 'value'=>'string'], +'suhosin_get_raw_cookies' => ['array'], +'SVM::__construct' => ['void'], +'svm::crossvalidate' => ['float', 'problem'=>'array', 'number_of_folds'=>'int'], +'SVM::getOptions' => ['array'], +'SVM::setOptions' => ['bool', 'params'=>'array'], +'svm::train' => ['SVMModel', 'problem'=>'array', 'weights='=>'array'], +'SVMModel::__construct' => ['void', 'filename='=>'string'], +'SVMModel::checkProbabilityModel' => ['bool'], +'SVMModel::getLabels' => ['array'], +'SVMModel::getNrClass' => ['int'], +'SVMModel::getSvmType' => ['int'], +'SVMModel::getSvrProbability' => ['float'], +'SVMModel::load' => ['bool', 'filename'=>'string'], +'SVMModel::predict' => ['float', 'data'=>'array'], +'SVMModel::predict_probability' => ['float', 'data'=>'array'], +'SVMModel::save' => ['bool', 'filename'=>'string'], +'svn_add' => ['bool', 'path'=>'string', 'recursive='=>'bool', 'force='=>'bool'], +'svn_auth_get_parameter' => ['?string', 'key'=>'string'], +'svn_auth_set_parameter' => ['void', 'key'=>'string', 'value'=>'string'], +'svn_blame' => ['array', 'repository_url'=>'string', 'revision_no='=>'int'], +'svn_cat' => ['string', 'repos_url'=>'string', 'revision_no='=>'int'], +'svn_checkout' => ['bool', 'repos'=>'string', 'targetpath'=>'string', 'revision='=>'int', 'flags='=>'int'], +'svn_cleanup' => ['bool', 'workingdir'=>'string'], +'svn_client_version' => ['string'], +'svn_commit' => ['array', 'log'=>'string', 'targets'=>'array', 'dontrecurse='=>'bool'], +'svn_delete' => ['bool', 'path'=>'string', 'force='=>'bool'], +'svn_diff' => ['array', 'path1'=>'string', 'rev1'=>'int', 'path2'=>'string', 'rev2'=>'int'], +'svn_export' => ['bool', 'frompath'=>'string', 'topath'=>'string', 'working_copy='=>'bool', 'revision_no='=>'int'], +'svn_fs_abort_txn' => ['bool', 'txn'=>'resource'], +'svn_fs_apply_text' => ['resource', 'root'=>'resource', 'path'=>'string'], +'svn_fs_begin_txn2' => ['resource', 'repos'=>'resource', 'rev'=>'int'], +'svn_fs_change_node_prop' => ['bool', 'root'=>'resource', 'path'=>'string', 'name'=>'string', 'value'=>'string'], +'svn_fs_check_path' => ['int', 'fsroot'=>'resource', 'path'=>'string'], +'svn_fs_contents_changed' => ['bool', 'root1'=>'resource', 'path1'=>'string', 'root2'=>'resource', 'path2'=>'string'], +'svn_fs_copy' => ['bool', 'from_root'=>'resource', 'from_path'=>'string', 'to_root'=>'resource', 'to_path'=>'string'], +'svn_fs_delete' => ['bool', 'root'=>'resource', 'path'=>'string'], +'svn_fs_dir_entries' => ['array', 'fsroot'=>'resource', 'path'=>'string'], +'svn_fs_file_contents' => ['resource', 'fsroot'=>'resource', 'path'=>'string'], +'svn_fs_file_length' => ['int', 'fsroot'=>'resource', 'path'=>'string'], +'svn_fs_is_dir' => ['bool', 'root'=>'resource', 'path'=>'string'], +'svn_fs_is_file' => ['bool', 'root'=>'resource', 'path'=>'string'], +'svn_fs_make_dir' => ['bool', 'root'=>'resource', 'path'=>'string'], +'svn_fs_make_file' => ['bool', 'root'=>'resource', 'path'=>'string'], +'svn_fs_node_created_rev' => ['int', 'fsroot'=>'resource', 'path'=>'string'], +'svn_fs_node_prop' => ['string', 'fsroot'=>'resource', 'path'=>'string', 'propname'=>'string'], +'svn_fs_props_changed' => ['bool', 'root1'=>'resource', 'path1'=>'string', 'root2'=>'resource', 'path2'=>'string'], +'svn_fs_revision_prop' => ['string', 'fs'=>'resource', 'revnum'=>'int', 'propname'=>'string'], +'svn_fs_revision_root' => ['resource', 'fs'=>'resource', 'revnum'=>'int'], +'svn_fs_txn_root' => ['resource', 'txn'=>'resource'], +'svn_fs_youngest_rev' => ['int', 'fs'=>'resource'], +'svn_import' => ['bool', 'path'=>'string', 'url'=>'string', 'nonrecursive'=>'bool'], +'svn_log' => ['array', 'repos_url'=>'string', 'start_revision='=>'int', 'end_revision='=>'int', 'limit='=>'int', 'flags='=>'int'], +'svn_ls' => ['array', 'repos_url'=>'string', 'revision_no='=>'int', 'recurse='=>'bool', 'peg='=>'bool'], +'svn_mkdir' => ['bool', 'path'=>'string', 'log_message='=>'string'], +'svn_move' => ['mixed', 'src_path'=>'string', 'dst_path'=>'string', 'force='=>'bool'], +'svn_propget' => ['mixed', 'path'=>'string', 'property_name'=>'string', 'recurse='=>'bool', 'revision'=>'int'], +'svn_proplist' => ['mixed', 'path'=>'string', 'recurse='=>'bool', 'revision'=>'int'], +'svn_repos_create' => ['resource', 'path'=>'string', 'config='=>'array', 'fsconfig='=>'array'], +'svn_repos_fs' => ['resource', 'repos'=>'resource'], +'svn_repos_fs_begin_txn_for_commit' => ['resource', 'repos'=>'resource', 'rev'=>'int', 'author'=>'string', 'log_msg'=>'string'], +'svn_repos_fs_commit_txn' => ['int', 'txn'=>'resource'], +'svn_repos_hotcopy' => ['bool', 'repospath'=>'string', 'destpath'=>'string', 'cleanlogs'=>'bool'], +'svn_repos_open' => ['resource', 'path'=>'string'], +'svn_repos_recover' => ['bool', 'path'=>'string'], +'svn_revert' => ['bool', 'path'=>'string', 'recursive='=>'bool'], +'svn_status' => ['array', 'path'=>'string', 'flags='=>'int'], +'svn_update' => ['int|false', 'path'=>'string', 'revno='=>'int', 'recurse='=>'bool'], +'swf_actiongeturl' => ['', 'url'=>'string', 'target'=>'string'], +'swf_actiongotoframe' => ['', 'framenumber'=>'int'], +'swf_actiongotolabel' => ['', 'label'=>'string'], +'swf_actionnextframe' => [''], +'swf_actionplay' => [''], +'swf_actionprevframe' => [''], +'swf_actionsettarget' => ['', 'target'=>'string'], +'swf_actionstop' => [''], +'swf_actiontogglequality' => [''], +'swf_actionwaitforframe' => ['', 'framenumber'=>'int', 'skipcount'=>'int'], +'swf_addbuttonrecord' => ['', 'states'=>'int', 'shapeid'=>'int', 'depth'=>'int'], +'swf_addcolor' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float'], +'swf_closefile' => ['', 'return_file='=>'int'], +'swf_definebitmap' => ['', 'objid'=>'int', 'image_name'=>'string'], +'swf_definefont' => ['', 'fontid'=>'int', 'fontname'=>'string'], +'swf_defineline' => ['', 'objid'=>'int', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'width'=>'float'], +'swf_definepoly' => ['', 'objid'=>'int', 'coords'=>'array', 'npoints'=>'int', 'width'=>'float'], +'swf_definerect' => ['', 'objid'=>'int', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'width'=>'float'], +'swf_definetext' => ['', 'objid'=>'int', 'string'=>'string', 'docenter'=>'int'], +'swf_endbutton' => [''], +'swf_enddoaction' => [''], +'swf_endshape' => [''], +'swf_endsymbol' => [''], +'swf_fontsize' => ['', 'size'=>'float'], +'swf_fontslant' => ['', 'slant'=>'float'], +'swf_fonttracking' => ['', 'tracking'=>'float'], +'swf_getbitmapinfo' => ['array', 'bitmapid'=>'int'], +'swf_getfontinfo' => ['array'], +'swf_getframe' => ['int'], +'swf_labelframe' => ['', 'name'=>'string'], +'swf_lookat' => ['', 'view_x'=>'float', 'view_y'=>'float', 'view_z'=>'float', 'reference_x'=>'float', 'reference_y'=>'float', 'reference_z'=>'float', 'twist'=>'float'], +'swf_modifyobject' => ['', 'depth'=>'int', 'how'=>'int'], +'swf_mulcolor' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float'], +'swf_nextid' => ['int'], +'swf_oncondition' => ['', 'transition'=>'int'], +'swf_openfile' => ['', 'filename'=>'string', 'width'=>'float', 'height'=>'float', 'framerate'=>'float', 'r'=>'float', 'g'=>'float', 'b'=>'float'], +'swf_ortho' => ['', 'xmin'=>'float', 'xmax'=>'float', 'ymin'=>'float', 'ymax'=>'float', 'zmin'=>'float', 'zmax'=>'float'], +'swf_ortho2' => ['', 'xmin'=>'float', 'xmax'=>'float', 'ymin'=>'float', 'ymax'=>'float'], +'swf_perspective' => ['', 'fovy'=>'float', 'aspect'=>'float', 'near'=>'float', 'far'=>'float'], +'swf_placeobject' => ['', 'objid'=>'int', 'depth'=>'int'], +'swf_polarview' => ['', 'dist'=>'float', 'azimuth'=>'float', 'incidence'=>'float', 'twist'=>'float'], +'swf_popmatrix' => [''], +'swf_posround' => ['', 'round'=>'int'], +'swf_pushmatrix' => [''], +'swf_removeobject' => ['', 'depth'=>'int'], +'swf_rotate' => ['', 'angle'=>'float', 'axis'=>'string'], +'swf_scale' => ['', 'x'=>'float', 'y'=>'float', 'z'=>'float'], +'swf_setfont' => ['', 'fontid'=>'int'], +'swf_setframe' => ['', 'framenumber'=>'int'], +'swf_shapearc' => ['', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'ang1'=>'float', 'ang2'=>'float'], +'swf_shapecurveto' => ['', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float'], +'swf_shapecurveto3' => ['', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], +'swf_shapefillbitmapclip' => ['', 'bitmapid'=>'int'], +'swf_shapefillbitmaptile' => ['', 'bitmapid'=>'int'], +'swf_shapefilloff' => [''], +'swf_shapefillsolid' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float'], +'swf_shapelinesolid' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float', 'width'=>'float'], +'swf_shapelineto' => ['', 'x'=>'float', 'y'=>'float'], +'swf_shapemoveto' => ['', 'x'=>'float', 'y'=>'float'], +'swf_showframe' => [''], +'swf_startbutton' => ['', 'objid'=>'int', 'type'=>'int'], +'swf_startdoaction' => [''], +'swf_startshape' => ['', 'objid'=>'int'], +'swf_startsymbol' => ['', 'objid'=>'int'], +'swf_textwidth' => ['float', 'string'=>'string'], +'swf_translate' => ['', 'x'=>'float', 'y'=>'float', 'z'=>'float'], +'swf_viewport' => ['', 'xmin'=>'float', 'xmax'=>'float', 'ymin'=>'float', 'ymax'=>'float'], +'SWFAction::__construct' => ['void', 'script'=>'string'], +'SWFBitmap::__construct' => ['void', 'file'=>'', 'alphafile='=>''], +'SWFBitmap::getHeight' => ['float'], +'SWFBitmap::getWidth' => ['float'], +'SWFButton::__construct' => ['void'], +'SWFButton::addAction' => ['void', 'action'=>'swfaction', 'flags'=>'int'], +'SWFButton::addASound' => ['SWFSoundInstance', 'sound'=>'swfsound', 'flags'=>'int'], +'SWFButton::addShape' => ['void', 'shape'=>'swfshape', 'flags'=>'int'], +'SWFButton::setAction' => ['void', 'action'=>'swfaction'], +'SWFButton::setDown' => ['void', 'shape'=>'swfshape'], +'SWFButton::setHit' => ['void', 'shape'=>'swfshape'], +'SWFButton::setMenu' => ['void', 'flag'=>'int'], +'SWFButton::setOver' => ['void', 'shape'=>'swfshape'], +'SWFButton::setUp' => ['void', 'shape'=>'swfshape'], +'SWFDisplayItem::addAction' => ['void', 'action'=>'swfaction', 'flags'=>'int'], +'SWFDisplayItem::addColor' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'SWFDisplayItem::endMask' => ['void'], +'SWFDisplayItem::getRot' => ['float'], +'SWFDisplayItem::getX' => ['float'], +'SWFDisplayItem::getXScale' => ['float'], +'SWFDisplayItem::getXSkew' => ['float'], +'SWFDisplayItem::getY' => ['float'], +'SWFDisplayItem::getYScale' => ['float'], +'SWFDisplayItem::getYSkew' => ['float'], +'SWFDisplayItem::move' => ['void', 'dx'=>'float', 'dy'=>'float'], +'SWFDisplayItem::moveTo' => ['void', 'x'=>'float', 'y'=>'float'], +'SWFDisplayItem::multColor' => ['void', 'red'=>'float', 'green'=>'float', 'blue'=>'float', 'a='=>'float'], +'SWFDisplayItem::remove' => ['void'], +'SWFDisplayItem::rotate' => ['void', 'angle'=>'float'], +'SWFDisplayItem::rotateTo' => ['void', 'angle'=>'float'], +'SWFDisplayItem::scale' => ['void', 'dx'=>'float', 'dy'=>'float'], +'SWFDisplayItem::scaleTo' => ['void', 'x'=>'float', 'y='=>'float'], +'SWFDisplayItem::setDepth' => ['void', 'depth'=>'int'], +'SWFDisplayItem::setMaskLevel' => ['void', 'level'=>'int'], +'SWFDisplayItem::setMatrix' => ['void', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'x'=>'float', 'y'=>'float'], +'SWFDisplayItem::setName' => ['void', 'name'=>'string'], +'SWFDisplayItem::setRatio' => ['void', 'ratio'=>'float'], +'SWFDisplayItem::skewX' => ['void', 'ddegrees'=>'float'], +'SWFDisplayItem::skewXTo' => ['void', 'degrees'=>'float'], +'SWFDisplayItem::skewY' => ['void', 'ddegrees'=>'float'], +'SWFDisplayItem::skewYTo' => ['void', 'degrees'=>'float'], +'SWFFill::moveTo' => ['void', 'x'=>'float', 'y'=>'float'], +'SWFFill::rotateTo' => ['void', 'angle'=>'float'], +'SWFFill::scaleTo' => ['void', 'x'=>'float', 'y='=>'float'], +'SWFFill::skewXTo' => ['void', 'x'=>'float'], +'SWFFill::skewYTo' => ['void', 'y'=>'float'], +'SWFFont::__construct' => ['void', 'filename'=>'string'], +'SWFFont::getAscent' => ['float'], +'SWFFont::getDescent' => ['float'], +'SWFFont::getLeading' => ['float'], +'SWFFont::getShape' => ['string', 'code'=>'int'], +'SWFFont::getUTF8Width' => ['float', 'string'=>'string'], +'SWFFont::getWidth' => ['float', 'string'=>'string'], +'SWFFontChar::addChars' => ['void', 'char'=>'string'], +'SWFFontChar::addUTF8Chars' => ['void', 'char'=>'string'], +'SWFGradient::__construct' => ['void'], +'SWFGradient::addEntry' => ['void', 'ratio'=>'float', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int'], +'SWFMorph::__construct' => ['void'], +'SWFMorph::getShape1' => ['SWFShape'], +'SWFMorph::getShape2' => ['SWFShape'], +'SWFMovie::__construct' => ['void', 'version='=>'int'], +'SWFMovie::add' => ['mixed', 'instance'=>'object'], +'SWFMovie::addExport' => ['void', 'char'=>'swfcharacter', 'name'=>'string'], +'SWFMovie::addFont' => ['mixed', 'font'=>'swffont'], +'SWFMovie::importChar' => ['SWFSprite', 'libswf'=>'string', 'name'=>'string'], +'SWFMovie::importFont' => ['SWFFontChar', 'libswf'=>'string', 'name'=>'string'], +'SWFMovie::labelFrame' => ['void', 'label'=>'string'], +'SWFMovie::namedAnchor' => [''], +'SWFMovie::nextFrame' => ['void'], +'SWFMovie::output' => ['int', 'compression='=>'int'], +'SWFMovie::protect' => [''], +'SWFMovie::remove' => ['void', 'instance'=>'object'], +'SWFMovie::save' => ['int', 'filename'=>'string', 'compression='=>'int'], +'SWFMovie::saveToFile' => ['int', 'x'=>'resource', 'compression='=>'int'], +'SWFMovie::setbackground' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], +'SWFMovie::setDimension' => ['void', 'width'=>'float', 'height'=>'float'], +'SWFMovie::setFrames' => ['void', 'number'=>'int'], +'SWFMovie::setRate' => ['void', 'rate'=>'float'], +'SWFMovie::startSound' => ['SWFSoundInstance', 'sound'=>'swfsound'], +'SWFMovie::stopSound' => ['void', 'sound'=>'swfsound'], +'SWFMovie::streamMP3' => ['int', 'mp3file'=>'mixed', 'skip='=>'float'], +'SWFMovie::writeExports' => ['void'], +'SWFPrebuiltClip::__construct' => ['void', 'file'=>''], +'SWFShape::__construct' => ['void'], +'SWFShape::addFill' => ['SWFFill', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int', 'bitmap='=>'swfbitmap', 'flags='=>'int', 'gradient='=>'swfgradient'], +'SWFShape::addFill\'1' => ['SWFFill', 'bitmap'=>'SWFBitmap', 'flags='=>'int'], +'SWFShape::addFill\'2' => ['SWFFill', 'gradient'=>'SWFGradient', 'flags='=>'int'], +'SWFShape::drawArc' => ['void', 'r'=>'float', 'startangle'=>'float', 'endangle'=>'float'], +'SWFShape::drawCircle' => ['void', 'r'=>'float'], +'SWFShape::drawCubic' => ['int', 'bx'=>'float', 'by'=>'float', 'cx'=>'float', 'cy'=>'float', 'dx'=>'float', 'dy'=>'float'], +'SWFShape::drawCubicTo' => ['int', 'bx'=>'float', 'by'=>'float', 'cx'=>'float', 'cy'=>'float', 'dx'=>'float', 'dy'=>'float'], +'SWFShape::drawCurve' => ['int', 'controldx'=>'float', 'controldy'=>'float', 'anchordx'=>'float', 'anchordy'=>'float', 'targetdx='=>'float', 'targetdy='=>'float'], +'SWFShape::drawCurveTo' => ['int', 'controlx'=>'float', 'controly'=>'float', 'anchorx'=>'float', 'anchory'=>'float', 'targetx='=>'float', 'targety='=>'float'], +'SWFShape::drawGlyph' => ['void', 'font'=>'swffont', 'character'=>'string', 'size='=>'int'], +'SWFShape::drawLine' => ['void', 'dx'=>'float', 'dy'=>'float'], +'SWFShape::drawLineTo' => ['void', 'x'=>'float', 'y'=>'float'], +'SWFShape::movePen' => ['void', 'dx'=>'float', 'dy'=>'float'], +'SWFShape::movePenTo' => ['void', 'x'=>'float', 'y'=>'float'], +'SWFShape::setLeftFill' => ['', 'fill'=>'swfgradient', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'SWFShape::setLine' => ['', 'shape'=>'swfshape', 'width'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'SWFShape::setRightFill' => ['', 'fill'=>'swfgradient', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'SWFSound' => ['SWFSound', 'filename'=>'string', 'flags='=>'int'], +'SWFSound::__construct' => ['void', 'filename'=>'string', 'flags='=>'int'], +'SWFSoundInstance::loopCount' => ['void', 'point'=>'int'], +'SWFSoundInstance::loopInPoint' => ['void', 'point'=>'int'], +'SWFSoundInstance::loopOutPoint' => ['void', 'point'=>'int'], +'SWFSoundInstance::noMultiple' => ['void'], +'SWFSprite::__construct' => ['void'], +'SWFSprite::add' => ['void', 'object'=>'object'], +'SWFSprite::labelFrame' => ['void', 'label'=>'string'], +'SWFSprite::nextFrame' => ['void'], +'SWFSprite::remove' => ['void', 'object'=>'object'], +'SWFSprite::setFrames' => ['void', 'number'=>'int'], +'SWFSprite::startSound' => ['SWFSoundInstance', 'sount'=>'swfsound'], +'SWFSprite::stopSound' => ['void', 'sount'=>'swfsound'], +'SWFText::__construct' => ['void'], +'SWFText::addString' => ['void', 'string'=>'string'], +'SWFText::addUTF8String' => ['void', 'text'=>'string'], +'SWFText::getAscent' => ['float'], +'SWFText::getDescent' => ['float'], +'SWFText::getLeading' => ['float'], +'SWFText::getUTF8Width' => ['float', 'string'=>'string'], +'SWFText::getWidth' => ['float', 'string'=>'string'], +'SWFText::moveTo' => ['void', 'x'=>'float', 'y'=>'float'], +'SWFText::setColor' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'SWFText::setFont' => ['void', 'font'=>'swffont'], +'SWFText::setHeight' => ['void', 'height'=>'float'], +'SWFText::setSpacing' => ['void', 'spacing'=>'float'], +'SWFTextField::__construct' => ['void', 'flags='=>'int'], +'SWFTextField::addChars' => ['void', 'chars'=>'string'], +'SWFTextField::addString' => ['void', 'string'=>'string'], +'SWFTextField::align' => ['void', 'alignement'=>'int'], +'SWFTextField::setBounds' => ['void', 'width'=>'float', 'height'=>'float'], +'SWFTextField::setColor' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], +'SWFTextField::setFont' => ['void', 'font'=>'swffont'], +'SWFTextField::setHeight' => ['void', 'height'=>'float'], +'SWFTextField::setIndentation' => ['void', 'width'=>'float'], +'SWFTextField::setLeftMargin' => ['void', 'width'=>'float'], +'SWFTextField::setLineSpacing' => ['void', 'height'=>'float'], +'SWFTextField::setMargins' => ['void', 'left'=>'float', 'right'=>'float'], +'SWFTextField::setName' => ['void', 'name'=>'string'], +'SWFTextField::setPadding' => ['void', 'padding'=>'float'], +'SWFTextField::setRightMargin' => ['void', 'width'=>'float'], +'SWFVideoStream::__construct' => ['void', 'file='=>'string'], +'SWFVideoStream::getNumFrames' => ['int'], +'SWFVideoStream::setDimension' => ['void', 'x'=>'int', 'y'=>'int'], +'Swish::__construct' => ['void', 'index_names'=>'string'], +'Swish::getMetaList' => ['array', 'index_name'=>'string'], +'Swish::getPropertyList' => ['array', 'index_name'=>'string'], +'Swish::prepare' => ['object', 'query='=>'string'], +'Swish::query' => ['object', 'query'=>'string'], +'SwishResult::getMetaList' => ['array'], +'SwishResult::stem' => ['array', 'word'=>'string'], +'SwishResults::getParsedWords' => ['array', 'index_name'=>'string'], +'SwishResults::getRemovedStopwords' => ['array', 'index_name'=>'string'], +'SwishResults::nextResult' => ['object'], +'SwishResults::seekResult' => ['int', 'position'=>'int'], +'SwishSearch::execute' => ['object', 'query='=>'string'], +'SwishSearch::resetLimit' => [''], +'SwishSearch::setLimit' => ['', 'property'=>'string', 'low'=>'string', 'high'=>'string'], +'SwishSearch::setPhraseDelimiter' => ['', 'delimiter'=>'string'], +'SwishSearch::setSort' => ['', 'sort'=>'string'], +'SwishSearch::setStructure' => ['', 'structure'=>'int'], +'swoole\async::dnsLookup' => ['void', 'hostname'=>'string', 'callback'=>'callable'], +'swoole\async::read' => ['bool', 'filename'=>'string', 'callback'=>'callable', 'chunk_size='=>'integer', 'offset='=>'integer'], +'swoole\async::readFile' => ['void', 'filename'=>'string', 'callback'=>'callable'], +'swoole\async::set' => ['void', 'settings'=>'array'], +'swoole\async::write' => ['void', 'filename'=>'string', 'content'=>'string', 'offset='=>'integer', 'callback='=>'callable'], +'swoole\async::writeFile' => ['void', 'filename'=>'string', 'content'=>'string', 'callback='=>'callable', 'flags='=>'string'], +'swoole\atomic::add' => ['integer', 'add_value='=>'integer'], +'swoole\atomic::cmpset' => ['integer', 'cmp_value'=>'integer', 'new_value'=>'integer'], +'swoole\atomic::get' => ['integer'], +'swoole\atomic::set' => ['integer', 'value'=>'integer'], +'swoole\atomic::sub' => ['integer', 'sub_value='=>'integer'], +'swoole\buffer::__destruct' => ['void'], +'swoole\buffer::__toString' => ['string'], +'swoole\buffer::append' => ['integer', 'data'=>'string'], +'swoole\buffer::clear' => ['void'], +'swoole\buffer::expand' => ['integer', 'size'=>'integer'], +'swoole\buffer::read' => ['string', 'offset'=>'integer', 'length'=>'integer'], +'swoole\buffer::recycle' => ['void'], +'swoole\buffer::substr' => ['string', 'offset'=>'integer', 'length='=>'integer', 'remove='=>'bool'], +'swoole\buffer::write' => ['void', 'offset'=>'integer', 'data'=>'string'], +'swoole\channel::__destruct' => ['void'], +'swoole\channel::pop' => ['mixed'], +'swoole\channel::push' => ['bool', 'data'=>'string'], +'swoole\channel::stats' => ['array'], +'swoole\client::__destruct' => ['void'], +'swoole\client::close' => ['bool', 'force='=>'bool'], +'swoole\client::connect' => ['bool', 'host'=>'string', 'port='=>'integer', 'timeout='=>'integer', 'flag='=>'integer'], +'swoole\client::getpeername' => ['array'], +'swoole\client::getsockname' => ['array'], +'swoole\client::isConnected' => ['bool'], +'swoole\client::on' => ['void', 'event'=>'string', 'callback'=>'callable'], +'swoole\client::pause' => ['void'], +'swoole\client::pipe' => ['void', 'socket'=>'string'], +'swoole\client::recv' => ['void', 'size='=>'string', 'flag='=>'string'], +'swoole\client::resume' => ['void'], +'swoole\client::send' => ['integer', 'data'=>'string', 'flag='=>'string'], +'swoole\client::sendfile' => ['bool', 'filename'=>'string', 'offset='=>'int'], +'swoole\client::sendto' => ['bool', 'ip'=>'string', 'port'=>'integer', 'data'=>'string'], +'swoole\client::set' => ['void', 'settings'=>'array'], +'swoole\client::sleep' => ['void'], +'swoole\client::wakeup' => ['void'], +'swoole\connection\iterator::count' => ['int'], +'swoole\connection\iterator::current' => ['Connection'], +'swoole\connection\iterator::key' => ['int'], +'swoole\connection\iterator::next' => ['Connection'], +'swoole\connection\iterator::offsetExists' => ['bool', 'index'=>'int'], +'swoole\connection\iterator::offsetGet' => ['Connection', 'index'=>'string'], +'swoole\connection\iterator::offsetSet' => ['void', 'offset'=>'int', 'connection'=>'mixed'], +'swoole\connection\iterator::offsetUnset' => ['void', 'offset'=>'int'], +'swoole\connection\iterator::rewind' => ['void'], +'swoole\connection\iterator::valid' => ['bool'], +'swoole\coroutine::call_user_func' => ['mixed', 'callback'=>'callable', 'parameter='=>'mixed', '...args='=>'mixed'], +'swoole\coroutine::call_user_func_array' => ['mixed', 'callback'=>'callable', 'param_array'=>'array'], +'swoole\coroutine::cli_wait' => ['ReturnType'], +'swoole\coroutine::create' => ['ReturnType'], +'swoole\coroutine::getuid' => ['ReturnType'], +'swoole\coroutine::resume' => ['ReturnType'], +'swoole\coroutine::suspend' => ['ReturnType'], +'swoole\coroutine\client::__destruct' => ['ReturnType'], +'swoole\coroutine\client::close' => ['ReturnType'], +'swoole\coroutine\client::connect' => ['ReturnType'], +'swoole\coroutine\client::getpeername' => ['ReturnType'], +'swoole\coroutine\client::getsockname' => ['ReturnType'], +'swoole\coroutine\client::isConnected' => ['ReturnType'], +'swoole\coroutine\client::recv' => ['ReturnType'], +'swoole\coroutine\client::send' => ['ReturnType'], +'swoole\coroutine\client::sendfile' => ['ReturnType'], +'swoole\coroutine\client::sendto' => ['ReturnType'], +'swoole\coroutine\client::set' => ['ReturnType'], +'swoole\coroutine\http\client::__destruct' => ['ReturnType'], +'swoole\coroutine\http\client::addFile' => ['ReturnType'], +'swoole\coroutine\http\client::close' => ['ReturnType'], +'swoole\coroutine\http\client::execute' => ['ReturnType'], +'swoole\coroutine\http\client::get' => ['ReturnType'], +'swoole\coroutine\http\client::getDefer' => ['ReturnType'], +'swoole\coroutine\http\client::isConnected' => ['ReturnType'], +'swoole\coroutine\http\client::post' => ['ReturnType'], +'swoole\coroutine\http\client::recv' => ['ReturnType'], +'swoole\coroutine\http\client::set' => ['ReturnType'], +'swoole\coroutine\http\client::setCookies' => ['ReturnType'], +'swoole\coroutine\http\client::setData' => ['ReturnType'], +'swoole\coroutine\http\client::setDefer' => ['ReturnType'], +'swoole\coroutine\http\client::setHeaders' => ['ReturnType'], +'swoole\coroutine\http\client::setMethod' => ['ReturnType'], +'swoole\coroutine\mysql::__destruct' => ['ReturnType'], +'swoole\coroutine\mysql::close' => ['ReturnType'], +'swoole\coroutine\mysql::connect' => ['ReturnType'], +'swoole\coroutine\mysql::getDefer' => ['ReturnType'], +'swoole\coroutine\mysql::query' => ['ReturnType'], +'swoole\coroutine\mysql::recv' => ['ReturnType'], +'swoole\coroutine\mysql::setDefer' => ['ReturnType'], +'swoole\event::add' => ['bool', 'fd'=>'int', 'read_callback'=>'callable', 'write_callback='=>'callable', 'events='=>'string'], +'swoole\event::defer' => ['void', 'callback'=>'mixed'], +'swoole\event::del' => ['bool', 'fd'=>'string'], +'swoole\event::exit' => ['void'], +'swoole\event::set' => ['bool', 'fd'=>'int', 'read_callback='=>'string', 'write_callback='=>'string', 'events='=>'string'], +'swoole\event::wait' => ['void'], +'swoole\event::write' => ['void', 'fd'=>'string', 'data'=>'string'], +'swoole\http\client::__destruct' => ['void'], +'swoole\http\client::addFile' => ['void', 'path'=>'string', 'name'=>'string', 'type='=>'string', 'filename='=>'string', 'offset='=>'string'], +'swoole\http\client::close' => ['void'], +'swoole\http\client::download' => ['void', 'path'=>'string', 'file'=>'string', 'callback'=>'callable', 'offset='=>'integer'], +'swoole\http\client::execute' => ['void', 'path'=>'string', 'callback'=>'string'], +'swoole\http\client::get' => ['void', 'path'=>'string', 'callback'=>'callable'], +'swoole\http\client::isConnected' => ['bool'], +'swoole\http\client::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], +'swoole\http\client::post' => ['void', 'path'=>'string', 'data'=>'string', 'callback'=>'callable'], +'swoole\http\client::push' => ['void', 'data'=>'string', 'opcode='=>'string', 'finish='=>'string'], +'swoole\http\client::set' => ['void', 'settings'=>'array'], +'swoole\http\client::setCookies' => ['void', 'cookies'=>'array'], +'swoole\http\client::setData' => ['ReturnType', 'data'=>'string'], +'swoole\http\client::setHeaders' => ['void', 'headers'=>'array'], +'swoole\http\client::setMethod' => ['void', 'method'=>'string'], +'swoole\http\client::upgrade' => ['void', 'path'=>'string', 'callback'=>'string'], +'swoole\http\request::__destruct' => ['void'], +'swoole\http\request::rawcontent' => ['string'], +'swoole\http\response::__destruct' => ['void'], +'swoole\http\response::cookie' => ['string', 'name'=>'string', 'value='=>'string', 'expires='=>'string', 'path='=>'string', 'domain='=>'string', 'secure='=>'string', 'httponly='=>'string'], +'swoole\http\response::end' => ['void', 'content='=>'string'], +'swoole\http\response::gzip' => ['ReturnType', 'compress_level='=>'string'], +'swoole\http\response::header' => ['void', 'key'=>'string', 'value'=>'string', 'ucwords='=>'string'], +'swoole\http\response::initHeader' => ['ReturnType'], +'swoole\http\response::rawcookie' => ['ReturnType', 'name'=>'string', 'value='=>'string', 'expires='=>'string', 'path='=>'string', 'domain='=>'string', 'secure='=>'string', 'httponly='=>'string'], +'swoole\http\response::sendfile' => ['ReturnType', 'filename'=>'string', 'offset='=>'int'], +'swoole\http\response::status' => ['ReturnType', 'http_code'=>'string'], +'swoole\http\response::write' => ['void', 'content'=>'string'], +'swoole\http\server::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], +'swoole\http\server::start' => ['void'], +'swoole\lock::__destruct' => ['void'], +'swoole\lock::lock' => ['void'], +'swoole\lock::lock_read' => ['void'], +'swoole\lock::trylock' => ['void'], +'swoole\lock::trylock_read' => ['void'], +'swoole\lock::unlock' => ['void'], +'swoole\mmap::open' => ['ReturnType', 'filename'=>'string', 'size='=>'string', 'offset='=>'string'], +'swoole\mysql::__destruct' => ['void'], +'swoole\mysql::close' => ['void'], +'swoole\mysql::connect' => ['void', 'server_config'=>'array', 'callback'=>'callable'], +'swoole\mysql::getBuffer' => ['ReturnType'], +'swoole\mysql::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], +'swoole\mysql::query' => ['ReturnType', 'sql'=>'string', 'callback'=>'callable'], +'swoole\process::__destruct' => ['void'], +'swoole\process::alarm' => ['void', 'interval_usec'=>'integer'], +'swoole\process::close' => ['void'], +'swoole\process::daemon' => ['void', 'nochdir='=>'bool', 'noclose='=>'bool'], +'swoole\process::exec' => ['ReturnType', 'exec_file'=>'string', 'args'=>'string'], +'swoole\process::exit' => ['void', 'exit_code='=>'string'], +'swoole\process::freeQueue' => ['void'], +'swoole\process::kill' => ['void', 'pid'=>'integer', 'signal_no='=>'string'], +'swoole\process::name' => ['void', 'process_name'=>'string'], +'swoole\process::pop' => ['mixed', 'maxsize='=>'integer'], +'swoole\process::push' => ['bool', 'data'=>'string'], +'swoole\process::read' => ['string', 'maxsize='=>'integer'], +'swoole\process::signal' => ['void', 'signal_no'=>'string', 'callback'=>'callable'], +'swoole\process::start' => ['void'], +'swoole\process::statQueue' => ['array'], +'swoole\process::useQueue' => ['bool', 'key'=>'integer', 'mode='=>'integer'], +'swoole\process::wait' => ['array', 'blocking='=>'bool'], +'swoole\process::write' => ['integer', 'data'=>'string'], +'swoole\redis\server::format' => ['ReturnType', 'type'=>'string', 'value='=>'string'], +'swoole\redis\server::setHandler' => ['ReturnType', 'command'=>'string', 'callback'=>'string', 'number_of_string_param='=>'string', 'type_of_array_param='=>'string'], +'swoole\redis\server::start' => ['ReturnType'], +'swoole\serialize::pack' => ['ReturnType', 'data'=>'string', 'is_fast='=>'int'], +'swoole\serialize::unpack' => ['ReturnType', 'data'=>'string', 'args='=>'string'], +'swoole\server::addlistener' => ['void', 'host'=>'string', 'port'=>'integer', 'socket_type'=>'string'], +'swoole\server::addProcess' => ['bool', 'process'=>'swoole_process'], +'swoole\server::after' => ['ReturnType', 'after_time_ms'=>'integer', 'callback'=>'callable', 'param='=>'string'], +'swoole\server::bind' => ['bool', 'fd'=>'integer', 'uid'=>'integer'], +'swoole\server::close' => ['bool', 'fd'=>'integer', 'reset='=>'bool'], +'swoole\server::confirm' => ['bool', 'fd'=>'integer'], +'swoole\server::connection_info' => ['array', 'fd'=>'integer', 'reactor_id='=>'integer'], +'swoole\server::connection_list' => ['array', 'start_fd'=>'integer', 'pagesize='=>'integer'], +'swoole\server::defer' => ['void', 'callback'=>'callable'], +'swoole\server::exist' => ['bool', 'fd'=>'integer'], +'swoole\server::finish' => ['void', 'data'=>'string'], +'swoole\server::getClientInfo' => ['ReturnType', 'fd'=>'integer', 'reactor_id='=>'integer'], +'swoole\server::getClientList' => ['array', 'start_fd'=>'integer', 'pagesize='=>'integer'], +'swoole\server::getLastError' => ['integer'], +'swoole\server::heartbeat' => ['mixed', 'if_close_connection'=>'bool'], +'swoole\server::listen' => ['bool', 'host'=>'string', 'port'=>'integer', 'socket_type'=>'string'], +'swoole\server::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], +'swoole\server::pause' => ['void', 'fd'=>'integer'], +'swoole\server::protect' => ['void', 'fd'=>'integer', 'is_protected='=>'bool'], +'swoole\server::reload' => ['bool'], +'swoole\server::resume' => ['void', 'fd'=>'integer'], +'swoole\server::send' => ['bool', 'fd'=>'integer', 'data'=>'string', 'reactor_id='=>'integer'], +'swoole\server::sendfile' => ['bool', 'fd'=>'integer', 'filename'=>'string', 'offset='=>'integer'], +'swoole\server::sendMessage' => ['bool', 'worker_id'=>'integer', 'data'=>'string'], +'swoole\server::sendto' => ['bool', 'ip'=>'string', 'port'=>'integer', 'data'=>'string', 'server_socket='=>'string'], +'swoole\server::sendwait' => ['bool', 'fd'=>'integer', 'data'=>'string'], +'swoole\server::set' => ['ReturnType', 'settings'=>'array'], +'swoole\server::shutdown' => ['void'], +'swoole\server::start' => ['void'], +'swoole\server::stats' => ['array'], +'swoole\server::stop' => ['bool', 'worker_id='=>'integer'], +'swoole\server::task' => ['mixed', 'data'=>'string', 'dst_worker_id='=>'integer', 'callback='=>'callable'], +'swoole\server::taskwait' => ['void', 'data'=>'string', 'timeout='=>'float', 'worker_id='=>'integer'], +'swoole\server::taskWaitMulti' => ['void', 'tasks'=>'array', 'timeout_ms='=>'double'], +'swoole\server::tick' => ['void', 'interval_ms'=>'integer', 'callback'=>'callable'], +'swoole\server\port::__destruct' => ['void'], +'swoole\server\port::on' => ['ReturnType', 'event_name'=>'string', 'callback'=>'callable'], +'swoole\server\port::set' => ['void', 'settings'=>'array'], +'swoole\table::column' => ['ReturnType', 'name'=>'string', 'type'=>'string', 'size='=>'integer'], +'swoole\table::count' => ['integer'], +'swoole\table::create' => ['void'], +'swoole\table::current' => ['array'], +'swoole\table::decr' => ['ReturnType', 'key'=>'string', 'column'=>'string', 'decrby='=>'integer'], +'swoole\table::del' => ['void', 'key'=>'string'], +'swoole\table::destroy' => ['void'], +'swoole\table::exist' => ['bool', 'key'=>'string'], +'swoole\table::get' => ['integer', 'row_key'=>'string', 'column_key'=>'string'], +'swoole\table::incr' => ['void', 'key'=>'string', 'column'=>'string', 'incrby='=>'integer'], +'swoole\table::key' => ['string'], +'swoole\table::next' => ['ReturnType'], +'swoole\table::rewind' => ['void'], +'swoole\table::set' => ['VOID', 'key'=>'string', 'value'=>'array'], +'swoole\table::valid' => ['bool'], +'swoole\timer::after' => ['void', 'after_time_ms'=>'int', 'callback'=>'callable'], +'swoole\timer::clear' => ['void', 'timer_id'=>'integer'], +'swoole\timer::exists' => ['bool', 'timer_id'=>'integer'], +'swoole\timer::tick' => ['void', 'interval_ms'=>'integer', 'callback'=>'callable', 'param='=>'string'], +'swoole\websocket\server::exist' => ['bool', 'fd'=>'integer'], +'swoole\websocket\server::on' => ['ReturnType', 'event_name'=>'string', 'callback'=>'callable'], +'swoole\websocket\server::pack' => ['binary', 'data'=>'string', 'opcode='=>'string', 'finish='=>'string', 'mask='=>'string'], +'swoole\websocket\server::push' => ['void', 'fd'=>'string', 'data'=>'string', 'opcode='=>'string', 'finish='=>'string'], +'swoole\websocket\server::unpack' => ['string', 'data'=>'binary'], +'swoole_async_dns_lookup' => ['bool', 'hostname'=>'string', 'callback'=>'callable'], +'swoole_async_read' => ['bool', 'filename'=>'string', 'callback'=>'callable', 'chunk_size='=>'int', 'offset='=>'int'], +'swoole_async_readfile' => ['bool', 'filename'=>'string', 'callback'=>'string'], +'swoole_async_set' => ['void', 'settings'=>'array'], +'swoole_async_write' => ['bool', 'filename'=>'string', 'content'=>'string', 'offset='=>'int', 'callback='=>'callable'], +'swoole_async_writefile' => ['bool', 'filename'=>'string', 'content'=>'string', 'callback='=>'callable', 'flags='=>'int'], +'swoole_client_select' => ['int', 'read_array'=>'array', 'write_array'=>'array', 'error_array'=>'array', 'timeout='=>'float'], +'swoole_cpu_num' => ['int'], +'swoole_errno' => ['int'], +'swoole_event_add' => ['int', 'fd'=>'int', 'read_callback='=>'callable', 'write_callback='=>'callable', 'events='=>'int'], +'swoole_event_defer' => ['bool', 'callback'=>'callable'], +'swoole_event_del' => ['bool', 'fd'=>'int'], +'swoole_event_exit' => ['void'], +'swoole_event_set' => ['bool', 'fd'=>'int', 'read_callback='=>'callable', 'write_callback='=>'callable', 'events='=>'int'], +'swoole_event_wait' => ['void'], +'swoole_event_write' => ['bool', 'fd'=>'int', 'data'=>'string'], +'swoole_get_local_ip' => ['array'], +'swoole_last_error' => ['int'], +'swoole_load_module' => ['mixed', 'filename'=>'string'], +'swoole_select' => ['int', 'read_array'=>'array', 'write_array'=>'array', 'error_array'=>'array', 'timeout='=>'float'], +'swoole_set_process_name' => ['void', 'process_name'=>'string', 'size='=>'int'], +'swoole_strerror' => ['string', 'errno'=>'int', 'error_type='=>'int'], +'swoole_timer_after' => ['int', 'ms'=>'int', 'callback'=>'callable', 'param='=>'mixed'], +'swoole_timer_exists' => ['bool', 'timer_id'=>'int'], +'swoole_timer_tick' => ['int', 'ms'=>'int', 'callback'=>'callable', 'param='=>'mixed'], +'swoole_version' => ['string'], +'symbolObj::__construct' => ['void', 'map'=>'mapObj', 'symbolname'=>'string'], +'symbolObj::free' => ['void'], +'symbolObj::getPatternArray' => ['array'], +'symbolObj::getPointsArray' => ['array'], +'symbolObj::ms_newSymbolObj' => ['int', 'map'=>'mapObj', 'symbolname'=>'string'], +'symbolObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'symbolObj::setImagePath' => ['int', 'filename'=>'string'], +'symbolObj::setPattern' => ['int', 'int'=>'array'], +'symbolObj::setPoints' => ['int', 'double'=>'array'], +'symlink' => ['bool', 'target'=>'string', 'link'=>'string'], +'SyncEvent::__construct' => ['void', 'name='=>'string', 'manual='=>'bool'], +'SyncEvent::fire' => ['bool'], +'SyncEvent::reset' => ['bool'], +'SyncEvent::wait' => ['bool', 'wait='=>'int'], +'SyncMutex::__construct' => ['void', 'name='=>'string'], +'SyncMutex::lock' => ['bool', 'wait='=>'int'], +'SyncMutex::unlock' => ['bool', 'all='=>'bool'], +'SyncReaderWriter::__construct' => ['void', 'name='=>'string', 'autounlock='=>'bool'], +'SyncReaderWriter::readlock' => ['bool', 'wait='=>'int'], +'SyncReaderWriter::readunlock' => ['bool'], +'SyncReaderWriter::writelock' => ['bool', 'wait='=>'int'], +'SyncReaderWriter::writeunlock' => ['bool'], +'SyncSemaphore::__construct' => ['void', 'name='=>'string', 'initialval='=>'int', 'autounlock='=>'bool'], +'SyncSemaphore::lock' => ['bool', 'wait='=>'int'], +'SyncSemaphore::unlock' => ['bool', '&w_prevcount='=>'int'], +'SyncSharedMemory::__construct' => ['void', 'name'=>'string', 'size'=>'int'], +'SyncSharedMemory::first' => ['bool'], +'SyncSharedMemory::read' => ['string', 'start='=>'int', 'length='=>'int'], +'SyncSharedMemory::size' => ['int'], +'SyncSharedMemory::write' => ['int', 'string='=>'string', 'start='=>'int'], +'sys_get_temp_dir' => ['string'], +'sys_getloadavg' => ['array'], +'syslog' => ['true', 'priority'=>'int', 'message'=>'string'], +'system' => ['string|false', 'command'=>'string', '&w_result_code='=>'int'], +'taint' => ['bool', '&rw_string'=>'string', '&...w_other_strings='=>'string'], +'tan' => ['float', 'num'=>'float'], +'tanh' => ['float', 'num'=>'float'], +'tcpwrap_check' => ['bool', 'daemon'=>'string', 'address'=>'string', 'user='=>'string', 'nodns='=>'bool'], +'tempnam' => ['string|false', 'directory'=>'string', 'prefix'=>'string'], +'textdomain' => ['string', 'domain'=>'?string'], +'Thread::__construct' => ['void'], +'Thread::addRef' => ['void'], +'Thread::chunk' => ['array', 'size'=>'int', 'preserve'=>'bool'], +'Thread::count' => ['int'], +'Thread::delRef' => ['void'], +'Thread::detach' => ['void'], +'Thread::extend' => ['bool', 'class'=>'string'], +'Thread::getCreatorId' => ['int'], +'Thread::getCurrentThread' => ['Thread'], +'Thread::getCurrentThreadId' => ['int'], +'Thread::getRefCount' => ['int'], +'Thread::getTerminationInfo' => ['array'], +'Thread::getThreadId' => ['int'], +'Thread::globally' => ['mixed'], +'Thread::isGarbage' => ['bool'], +'Thread::isJoined' => ['bool'], +'Thread::isRunning' => ['bool'], +'Thread::isStarted' => ['bool'], +'Thread::isTerminated' => ['bool'], +'Thread::isWaiting' => ['bool'], +'Thread::join' => ['bool'], +'Thread::kill' => ['void'], +'Thread::lock' => ['bool'], +'Thread::merge' => ['bool', 'from'=>'', 'overwrite='=>'mixed'], +'Thread::notify' => ['bool'], +'Thread::notifyOne' => ['bool'], +'Thread::offsetExists' => ['bool', 'offset'=>'mixed'], +'Thread::offsetGet' => ['mixed', 'offset'=>'mixed'], +'Thread::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], +'Thread::offsetUnset' => ['void', 'offset'=>'mixed'], +'Thread::pop' => ['bool'], +'Thread::run' => ['void'], +'Thread::setGarbage' => ['void'], +'Thread::shift' => ['bool'], +'Thread::start' => ['bool', 'options='=>'int'], +'Thread::synchronized' => ['mixed', 'block'=>'Closure', '_='=>'mixed'], +'Thread::unlock' => ['bool'], +'Thread::wait' => ['bool', 'timeout='=>'int'], +'Threaded::__construct' => ['void'], +'Threaded::addRef' => ['void'], +'Threaded::chunk' => ['array', 'size'=>'int', 'preserve'=>'bool'], +'Threaded::count' => ['int'], +'Threaded::delRef' => ['void'], +'Threaded::extend' => ['bool', 'class'=>'string'], +'Threaded::from' => ['Threaded', 'run'=>'Closure', 'construct='=>'Closure', 'args='=>'array'], +'Threaded::getRefCount' => ['int'], +'Threaded::getTerminationInfo' => ['array'], +'Threaded::isGarbage' => ['bool'], +'Threaded::isRunning' => ['bool'], +'Threaded::isTerminated' => ['bool'], +'Threaded::isWaiting' => ['bool'], +'Threaded::lock' => ['bool'], +'Threaded::merge' => ['bool', 'from'=>'mixed', 'overwrite='=>'bool'], +'Threaded::notify' => ['bool'], +'Threaded::notifyOne' => ['bool'], +'Threaded::offsetExists' => ['bool', 'offset'=>'mixed'], +'Threaded::offsetGet' => ['mixed', 'offset'=>'mixed'], +'Threaded::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], +'Threaded::offsetUnset' => ['void', 'offset'=>'mixed'], +'Threaded::pop' => ['bool'], +'Threaded::run' => ['void'], +'Threaded::setGarbage' => ['void'], +'Threaded::shift' => ['mixed'], +'Threaded::synchronized' => ['mixed', 'block'=>'Closure', '...args='=>'mixed'], +'Threaded::unlock' => ['bool'], +'Threaded::wait' => ['bool', 'timeout='=>'int'], +'Throwable::__toString' => ['string'], +'Throwable::getCode' => ['int|string'], +'Throwable::getFile' => ['string'], +'Throwable::getLine' => ['int'], +'Throwable::getMessage' => ['string'], +'Throwable::getPrevious' => ['?Throwable'], +'Throwable::getTrace' => ['list\',args?:array}>'], +'Throwable::getTraceAsString' => ['string'], +'tidy::__construct' => ['void', 'filename='=>'?string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], +'tidy::body' => ['?tidyNode'], +'tidy::cleanRepair' => ['bool'], +'tidy::diagnose' => ['bool'], +'tidy::getConfig' => ['array'], +'tidy::getHtmlVer' => ['int'], +'tidy::getOpt' => ['string|int|bool', 'option'=>'string'], +'tidy::getOptDoc' => ['string', 'option'=>'string'], +'tidy::getRelease' => ['string'], +'tidy::getStatus' => ['int'], +'tidy::head' => ['?tidyNode'], +'tidy::html' => ['?tidyNode'], +'tidy::isXhtml' => ['bool'], +'tidy::isXml' => ['bool'], +'tidy::parseFile' => ['bool', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], +'tidy::parseString' => ['bool', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], +'tidy::repairFile' => ['string', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], +'tidy::repairString' => ['string', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], +'tidy::root' => ['?tidyNode'], +'tidy_access_count' => ['int', 'tidy'=>'tidy'], +'tidy_clean_repair' => ['bool', 'tidy'=>'tidy'], +'tidy_config_count' => ['int', 'tidy'=>'tidy'], +'tidy_diagnose' => ['bool', 'tidy'=>'tidy'], +'tidy_error_count' => ['int', 'tidy'=>'tidy'], +'tidy_get_body' => ['?tidyNode', 'tidy'=>'tidy'], +'tidy_get_config' => ['array', 'tidy'=>'tidy'], +'tidy_get_error_buffer' => ['string', 'tidy'=>'tidy'], +'tidy_get_head' => ['?tidyNode', 'tidy'=>'tidy'], +'tidy_get_html' => ['?tidyNode', 'tidy'=>'tidy'], +'tidy_get_html_ver' => ['int', 'tidy'=>'tidy'], +'tidy_get_opt_doc' => ['string', 'tidy'=>'tidy', 'option'=>'string'], +'tidy_get_output' => ['string', 'tidy'=>'tidy'], +'tidy_get_release' => ['string'], +'tidy_get_root' => ['?tidyNode', 'tidy'=>'tidy'], +'tidy_get_status' => ['int', 'tidy'=>'tidy'], +'tidy_getopt' => ['string|int|bool', 'tidy'=>'tidy', 'option'=>'string'], +'tidy_is_xhtml' => ['bool', 'tidy'=>'tidy'], +'tidy_is_xml' => ['bool', 'tidy'=>'tidy'], +'tidy_load_config' => ['void', 'filename'=>'string', 'encoding'=>'string'], +'tidy_parse_file' => ['tidy', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], +'tidy_parse_string' => ['tidy', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], +'tidy_repair_file' => ['string', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], +'tidy_repair_string' => ['string', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], +'tidy_reset_config' => ['bool'], +'tidy_save_config' => ['bool', 'filename'=>'string'], +'tidy_set_encoding' => ['bool', 'encoding'=>'string'], +'tidy_setopt' => ['bool', 'option'=>'string', 'value'=>'mixed'], +'tidy_warning_count' => ['int', 'tidy'=>'tidy'], +'tidyNode::__construct' => ['void'], +'tidyNode::getParent' => ['?tidyNode'], +'tidyNode::hasChildren' => ['bool'], +'tidyNode::hasSiblings' => ['bool'], +'tidyNode::isAsp' => ['bool'], +'tidyNode::isComment' => ['bool'], +'tidyNode::isHtml' => ['bool'], +'tidyNode::isJste' => ['bool'], +'tidyNode::isPhp' => ['bool'], +'tidyNode::isText' => ['bool'], +'time' => ['positive-int'], +'time_nanosleep' => ['array{0:0|positive-int,1:0|positive-int}|bool', 'seconds'=>'positive-int', 'nanoseconds'=>'positive-int'], +'time_sleep_until' => ['bool', 'timestamp'=>'float'], +'timezone_abbreviations_list' => ['array>'], +'timezone_identifiers_list' => ['list', 'timezoneGroup='=>'int', 'countryCode='=>'?string'], +'timezone_location_get' => ['array|false', 'object'=>'DateTimeZone'], +'timezone_name_from_abbr' => ['string|false', 'abbr'=>'string', 'utcOffset='=>'int', 'isDST='=>'int'], +'timezone_name_get' => ['string', 'object'=>'DateTimeZone'], +'timezone_offset_get' => ['int', 'object'=>'DateTimeZone', 'datetime'=>'DateTimeInterface'], +'timezone_open' => ['DateTimeZone|false', 'timezone'=>'string'], +'timezone_transitions_get' => ['list|false', 'object'=>'DateTimeZone', 'timestampBegin='=>'int', 'timestampEnd='=>'int'], +'timezone_version_get' => ['string'], +'tmpfile' => ['resource|false'], +'token_get_all' => ['list', 'code'=>'string', 'flags='=>'int'], +'token_name' => ['string', 'id'=>'int'], +'TokyoTyrant::__construct' => ['void', 'host='=>'string', 'port='=>'int', 'options='=>'array'], +'TokyoTyrant::add' => ['int|float', 'key'=>'string', 'increment'=>'float', 'type='=>'int'], +'TokyoTyrant::connect' => ['TokyoTyrant', 'host'=>'string', 'port='=>'int', 'options='=>'array'], +'TokyoTyrant::connectUri' => ['TokyoTyrant', 'uri'=>'string'], +'TokyoTyrant::copy' => ['TokyoTyrant', 'path'=>'string'], +'TokyoTyrant::ext' => ['string', 'name'=>'string', 'options'=>'int', 'key'=>'string', 'value'=>'string'], +'TokyoTyrant::fwmKeys' => ['array', 'prefix'=>'string', 'max_recs'=>'int'], +'TokyoTyrant::get' => ['array', 'keys'=>'mixed'], +'TokyoTyrant::getIterator' => ['TokyoTyrantIterator'], +'TokyoTyrant::num' => ['int'], +'TokyoTyrant::out' => ['string', 'keys'=>'mixed'], +'TokyoTyrant::put' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], +'TokyoTyrant::putCat' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], +'TokyoTyrant::putKeep' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], +'TokyoTyrant::putNr' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], +'TokyoTyrant::putShl' => ['mixed', 'key'=>'string', 'value'=>'string', 'width'=>'int'], +'TokyoTyrant::restore' => ['mixed', 'log_dir'=>'string', 'timestamp'=>'int', 'check_consistency='=>'bool'], +'TokyoTyrant::setMaster' => ['mixed', 'host'=>'string', 'port'=>'int', 'timestamp'=>'int', 'check_consistency='=>'bool'], +'TokyoTyrant::size' => ['int', 'key'=>'string'], +'TokyoTyrant::stat' => ['array'], +'TokyoTyrant::sync' => ['mixed'], +'TokyoTyrant::tune' => ['TokyoTyrant', 'timeout'=>'float', 'options='=>'int'], +'TokyoTyrant::vanish' => ['mixed'], +'TokyoTyrantIterator::__construct' => ['void', 'object'=>'mixed'], +'TokyoTyrantIterator::current' => ['mixed'], +'TokyoTyrantIterator::key' => ['mixed'], +'TokyoTyrantIterator::next' => ['mixed'], +'TokyoTyrantIterator::rewind' => ['void'], +'TokyoTyrantIterator::valid' => ['bool'], +'TokyoTyrantQuery::__construct' => ['void', 'table'=>'TokyoTyrantTable'], +'TokyoTyrantQuery::addCond' => ['mixed', 'name'=>'string', 'op'=>'int', 'expr'=>'string'], +'TokyoTyrantQuery::count' => ['int'], +'TokyoTyrantQuery::current' => ['array'], +'TokyoTyrantQuery::hint' => ['string'], +'TokyoTyrantQuery::key' => ['string'], +'TokyoTyrantQuery::metaSearch' => ['array', 'queries'=>'array', 'type'=>'int'], +'TokyoTyrantQuery::next' => ['array'], +'TokyoTyrantQuery::out' => ['TokyoTyrantQuery'], +'TokyoTyrantQuery::rewind' => ['bool'], +'TokyoTyrantQuery::search' => ['array'], +'TokyoTyrantQuery::setLimit' => ['mixed', 'max='=>'int', 'skip='=>'int'], +'TokyoTyrantQuery::setOrder' => ['mixed', 'name'=>'string', 'type'=>'int'], +'TokyoTyrantQuery::valid' => ['bool'], +'TokyoTyrantTable::add' => ['void', 'key'=>'string', 'increment'=>'mixed', 'type='=>'string'], +'TokyoTyrantTable::genUid' => ['int'], +'TokyoTyrantTable::get' => ['array', 'keys'=>'mixed'], +'TokyoTyrantTable::getIterator' => ['TokyoTyrantIterator'], +'TokyoTyrantTable::getQuery' => ['TokyoTyrantQuery'], +'TokyoTyrantTable::out' => ['void', 'keys'=>'mixed'], +'TokyoTyrantTable::put' => ['int', 'key'=>'string', 'columns'=>'array'], +'TokyoTyrantTable::putCat' => ['void', 'key'=>'string', 'columns'=>'array'], +'TokyoTyrantTable::putKeep' => ['void', 'key'=>'string', 'columns'=>'array'], +'TokyoTyrantTable::putNr' => ['void', 'keys'=>'mixed', 'value='=>'string'], +'TokyoTyrantTable::putShl' => ['void', 'key'=>'string', 'value'=>'string', 'width'=>'int'], +'TokyoTyrantTable::setIndex' => ['mixed', 'column'=>'string', 'type'=>'int'], +'touch' => ['bool', 'filename'=>'string', 'mtime='=>'?int', 'atime='=>'?int'], +'trader_acos' => ['array', 'real'=>'array'], +'trader_ad' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'volume'=>'array'], +'trader_add' => ['array', 'real0'=>'array', 'real1'=>'array'], +'trader_adosc' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'volume'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int'], +'trader_adx' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_adxr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_apo' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int', 'mAType='=>'int'], +'trader_aroon' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], +'trader_aroonosc' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], +'trader_asin' => ['array', 'real'=>'array'], +'trader_atan' => ['array', 'real'=>'array'], +'trader_atr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_avgprice' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_bbands' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'nbDevUp='=>'float', 'nbDevDn='=>'float', 'mAType='=>'int'], +'trader_beta' => ['array', 'real0'=>'array', 'real1'=>'array', 'timePeriod='=>'int'], +'trader_bop' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cci' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_cdl2crows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdl3blackcrows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdl3inside' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdl3linestrike' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdl3outside' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdl3starsinsouth' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdl3whitesoldiers' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlabandonedbaby' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdladvanceblock' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlbelthold' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlbreakaway' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlclosingmarubozu' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlconcealbabyswall' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlcounterattack' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdldarkcloudcover' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdldoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdldojistar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdldragonflydoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlengulfing' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdleveningdojistar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdleveningstar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdlgapsidesidewhite' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlgravestonedoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlhammer' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlhangingman' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlharami' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlharamicross' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlhighwave' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlhikkake' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlhikkakemod' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlhomingpigeon' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlidentical3crows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlinneck' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlinvertedhammer' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlkicking' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlkickingbylength' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlladderbottom' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdllongleggeddoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdllongline' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlmarubozu' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlmatchinglow' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlmathold' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdlmorningdojistar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdlmorningstar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], +'trader_cdlonneck' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlpiercing' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlrickshawman' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlrisefall3methods' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlseparatinglines' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlshootingstar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlshortline' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlspinningtop' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlstalledpattern' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlsticksandwich' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdltakuri' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdltasukigap' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlthrusting' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdltristar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlunique3river' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlupsidegap2crows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_cdlxsidegap3methods' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_ceil' => ['array', 'real'=>'array'], +'trader_cmo' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_correl' => ['array', 'real0'=>'array', 'real1'=>'array', 'timePeriod='=>'int'], +'trader_cos' => ['array', 'real'=>'array'], +'trader_cosh' => ['array', 'real'=>'array'], +'trader_dema' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_div' => ['array', 'real0'=>'array', 'real1'=>'array'], +'trader_dx' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_ema' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_errno' => ['int'], +'trader_exp' => ['array', 'real'=>'array'], +'trader_floor' => ['array', 'real'=>'array'], +'trader_get_compat' => ['int'], +'trader_get_unstable_period' => ['int', 'functionId'=>'int'], +'trader_ht_dcperiod' => ['array', 'real'=>'array'], +'trader_ht_dcphase' => ['array', 'real'=>'array'], +'trader_ht_phasor' => ['array', 'real'=>'array'], +'trader_ht_sine' => ['array', 'real'=>'array'], +'trader_ht_trendline' => ['array', 'real'=>'array'], +'trader_ht_trendmode' => ['array', 'real'=>'array'], +'trader_kama' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_linearreg' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_linearreg_angle' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_linearreg_intercept' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_linearreg_slope' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_ln' => ['array', 'real'=>'array'], +'trader_log10' => ['array', 'real'=>'array'], +'trader_ma' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'mAType='=>'int'], +'trader_macd' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int', 'signalPeriod='=>'int'], +'trader_macdext' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'fastMAType='=>'int', 'slowPeriod='=>'int', 'slowMAType='=>'int', 'signalPeriod='=>'int', 'signalMAType='=>'int'], +'trader_macdfix' => ['array', 'real'=>'array', 'signalPeriod='=>'int'], +'trader_mama' => ['array', 'real'=>'array', 'fastLimit='=>'float', 'slowLimit='=>'float'], +'trader_mavp' => ['array', 'real'=>'array', 'periods'=>'array', 'minPeriod='=>'int', 'maxPeriod='=>'int', 'mAType='=>'int'], +'trader_max' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_maxindex' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_medprice' => ['array', 'high'=>'array', 'low'=>'array'], +'trader_mfi' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'volume'=>'array', 'timePeriod='=>'int'], +'trader_midpoint' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_midprice' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], +'trader_min' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_minindex' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_minmax' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_minmaxindex' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_minus_di' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_minus_dm' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], +'trader_mom' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_mult' => ['array', 'real0'=>'array', 'real1'=>'array'], +'trader_natr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_obv' => ['array', 'real'=>'array', 'volume'=>'array'], +'trader_plus_di' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_plus_dm' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], +'trader_ppo' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int', 'mAType='=>'int'], +'trader_roc' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_rocp' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_rocr' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_rocr100' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_rsi' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_sar' => ['array', 'high'=>'array', 'low'=>'array', 'acceleration='=>'float', 'maximum='=>'float'], +'trader_sarext' => ['array', 'high'=>'array', 'low'=>'array', 'startValue='=>'float', 'offsetOnReverse='=>'float', 'accelerationInitLong='=>'float', 'accelerationLong='=>'float', 'accelerationMaxLong='=>'float', 'accelerationInitShort='=>'float', 'accelerationShort='=>'float', 'accelerationMaxShort='=>'float'], +'trader_set_compat' => ['void', 'compatId'=>'int'], +'trader_set_unstable_period' => ['void', 'functionId'=>'int', 'timePeriod'=>'int'], +'trader_sin' => ['array', 'real'=>'array'], +'trader_sinh' => ['array', 'real'=>'array'], +'trader_sma' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_sqrt' => ['array', 'real'=>'array'], +'trader_stddev' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'nbDev='=>'float'], +'trader_stoch' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'fastK_Period='=>'int', 'slowK_Period='=>'int', 'slowK_MAType='=>'int', 'slowD_Period='=>'int', 'slowD_MAType='=>'int'], +'trader_stochf' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'fastK_Period='=>'int', 'fastD_Period='=>'int', 'fastD_MAType='=>'int'], +'trader_stochrsi' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'fastK_Period='=>'int', 'fastD_Period='=>'int', 'fastD_MAType='=>'int'], +'trader_sub' => ['array', 'real0'=>'array', 'real1'=>'array'], +'trader_sum' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_t3' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'vFactor='=>'float'], +'trader_tan' => ['array', 'real'=>'array'], +'trader_tanh' => ['array', 'real'=>'array'], +'trader_tema' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_trange' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_trima' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_trix' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_tsf' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trader_typprice' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_ultosc' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod1='=>'int', 'timePeriod2='=>'int', 'timePeriod3='=>'int'], +'trader_var' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'nbDev='=>'float'], +'trader_wclprice' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], +'trader_willr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], +'trader_wma' => ['array', 'real'=>'array', 'timePeriod='=>'int'], +'trait_exists' => ['bool', 'trait'=>'string', 'autoload='=>'bool'], +'Transliterator::create' => ['?Transliterator', 'id'=>'string', 'direction='=>'int'], +'Transliterator::createFromRules' => ['?Transliterator', 'rules'=>'string', 'direction='=>'int'], +'Transliterator::createInverse' => ['?Transliterator'], +'Transliterator::getErrorCode' => ['int'], +'Transliterator::getErrorMessage' => ['string'], +'Transliterator::listIDs' => ['array'], +'Transliterator::transliterate' => ['string|false', 'subject'=>'string', 'start='=>'int', 'end='=>'int'], +'transliterator_create' => ['?Transliterator', 'id'=>'string', 'direction='=>'int'], +'transliterator_create_from_rules' => ['?Transliterator', 'rules'=>'string', 'direction='=>'int'], +'transliterator_create_inverse' => ['?Transliterator', 'transliterator'=>'Transliterator'], +'transliterator_get_error_code' => ['int', 'transliterator'=>'Transliterator'], +'transliterator_get_error_message' => ['string', 'transliterator'=>'Transliterator'], +'transliterator_list_ids' => ['array'], +'transliterator_transliterate' => ['string|false', 'transliterator'=>'Transliterator|string', 'string'=>'string', 'start='=>'int', 'end='=>'int'], +'trigger_error' => ['bool', 'message'=>'string', 'error_level='=>'256|512|1024|16384'], +'trim' => ['string', 'string'=>'string', 'characters='=>'string'], +'TypeError::__clone' => ['void'], +'TypeError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'TypeError::__toString' => ['string'], +'TypeError::getCode' => ['int'], +'TypeError::getFile' => ['string'], +'TypeError::getLine' => ['int'], +'TypeError::getMessage' => ['string'], +'TypeError::getPrevious' => ['?Throwable'], +'TypeError::getTrace' => ['list\',args?:array}>'], +'TypeError::getTraceAsString' => ['string'], +'uasort' => ['true', '&rw_array'=>'array', 'callback'=>'callable(mixed,mixed):int'], +'ucfirst' => ['string', 'string'=>'string'], +'UConverter::__construct' => ['void', 'destination_encoding='=>'?string', 'source_encoding='=>'?string'], +'UConverter::convert' => ['string', 'string'=>'string', 'reverse='=>'bool'], +'UConverter::fromUCallback' => ['mixed', 'reason'=>'int', 'source'=>'string', 'codePoint'=>'string', '&w_error'=>'int'], +'UConverter::getAliases' => ['array|false|null', 'name'=>'string'], +'UConverter::getAvailable' => ['array'], +'UConverter::getDestinationEncoding' => ['string|false|null'], +'UConverter::getDestinationType' => ['int|false|null'], +'UConverter::getErrorCode' => ['int'], +'UConverter::getErrorMessage' => ['?string'], +'UConverter::getSourceEncoding' => ['string|false|null'], +'UConverter::getSourceType' => ['int|false|null'], +'UConverter::getStandards' => ['?array'], +'UConverter::getSubstChars' => ['string|false|null'], +'UConverter::reasonText' => ['string', 'reason='=>'int'], +'UConverter::setDestinationEncoding' => ['bool', 'encoding'=>'string'], +'UConverter::setSourceEncoding' => ['bool', 'encoding'=>'string'], +'UConverter::setSubstChars' => ['bool', 'chars'=>'string'], +'UConverter::toUCallback' => ['string|int|array|null', 'reason'=>'int', 'source'=>'string', 'codeUnits'=>'string', '&w_error'=>'int'], +'UConverter::transcode' => ['string', 'string'=>'string', 'toEncoding'=>'string', 'fromEncoding'=>'string', 'options='=>'?array'], +'ucwords' => ['string', 'string'=>'string', 'separators='=>'string'], +'udm_add_search_limit' => ['bool', 'agent'=>'resource', 'var'=>'int', 'value'=>'string'], +'udm_alloc_agent' => ['resource', 'dbaddr'=>'string', 'dbmode='=>'string'], +'udm_alloc_agent_array' => ['resource', 'databases'=>'array'], +'udm_api_version' => ['int'], +'udm_cat_list' => ['array', 'agent'=>'resource', 'category'=>'string'], +'udm_cat_path' => ['array', 'agent'=>'resource', 'category'=>'string'], +'udm_check_charset' => ['bool', 'agent'=>'resource', 'charset'=>'string'], +'udm_check_stored' => ['int', 'agent'=>'', 'link'=>'int', 'doc_id'=>'string'], +'udm_clear_search_limits' => ['bool', 'agent'=>'resource'], +'udm_close_stored' => ['int', 'agent'=>'', 'link'=>'int'], +'udm_crc32' => ['int', 'agent'=>'resource', 'string'=>'string'], +'udm_errno' => ['int', 'agent'=>'resource'], +'udm_error' => ['string', 'agent'=>'resource'], +'udm_find' => ['resource', 'agent'=>'resource', 'query'=>'string'], +'udm_free_agent' => ['int', 'agent'=>'resource'], +'udm_free_ispell_data' => ['bool', 'agent'=>'int'], +'udm_free_res' => ['bool', 'res'=>'resource'], +'udm_get_doc_count' => ['int', 'agent'=>'resource'], +'udm_get_res_field' => ['string', 'res'=>'resource', 'row'=>'int', 'field'=>'int'], +'udm_get_res_param' => ['string', 'res'=>'resource', 'param'=>'int'], +'udm_hash32' => ['int', 'agent'=>'resource', 'string'=>'string'], +'udm_load_ispell_data' => ['bool', 'agent'=>'resource', 'var'=>'int', 'val1'=>'string', 'val2'=>'string', 'flag'=>'int'], +'udm_open_stored' => ['int', 'agent'=>'', 'storedaddr'=>'string'], +'udm_set_agent_param' => ['bool', 'agent'=>'resource', 'var'=>'int', 'val'=>'string'], +'ui\area::onDraw' => ['', 'pen'=>'UI\Draw\Pen', 'areaSize'=>'UI\Size', 'clipPoint'=>'UI\Point', 'clipSize'=>'UI\Size'], +'ui\area::onKey' => ['', 'key'=>'string', 'ext'=>'int', 'flags'=>'int'], +'ui\area::onMouse' => ['', 'areaPoint'=>'UI\Point', 'areaSize'=>'UI\Size', 'flags'=>'int'], +'ui\area::redraw' => [''], +'ui\area::scrollTo' => ['', 'point'=>'UI\Point', 'size'=>'UI\Size'], +'ui\area::setSize' => ['', 'size'=>'UI\Size'], +'ui\control::destroy' => [''], +'ui\control::disable' => [''], +'ui\control::enable' => [''], +'ui\control::getParent' => ['UI\Control'], +'ui\control::getTopLevel' => ['int'], +'ui\control::hide' => [''], +'ui\control::isEnabled' => ['bool'], +'ui\control::isVisible' => ['bool'], +'ui\control::setParent' => ['', 'parent'=>'UI\Control'], +'ui\control::show' => [''], +'ui\controls\box::append' => ['int', 'control'=>'Control', 'stretchy='=>'bool'], +'ui\controls\box::delete' => ['bool', 'index'=>'int'], +'ui\controls\box::getOrientation' => ['int'], +'ui\controls\box::isPadded' => ['bool'], +'ui\controls\box::setPadded' => ['', 'padded'=>'bool'], +'ui\controls\button::getText' => ['string'], +'ui\controls\button::onClick' => [''], +'ui\controls\button::setText' => ['', 'text'=>'string'], +'ui\controls\check::getText' => ['string'], +'ui\controls\check::isChecked' => ['bool'], +'ui\controls\check::onToggle' => [''], +'ui\controls\check::setChecked' => ['', 'checked'=>'bool'], +'ui\controls\check::setText' => ['', 'text'=>'string'], +'ui\controls\colorbutton::getColor' => ['UI\Color'], +'ui\controls\colorbutton::onChange' => [''], +'ui\controls\combo::append' => ['', 'text'=>'string'], +'ui\controls\combo::getSelected' => ['int'], +'ui\controls\combo::onSelected' => [''], +'ui\controls\combo::setSelected' => ['', 'index'=>'int'], +'ui\controls\editablecombo::append' => ['', 'text'=>'string'], +'ui\controls\editablecombo::getText' => ['string'], +'ui\controls\editablecombo::onChange' => [''], +'ui\controls\editablecombo::setText' => ['', 'text'=>'string'], +'ui\controls\entry::getText' => ['string'], +'ui\controls\entry::isReadOnly' => ['bool'], +'ui\controls\entry::onChange' => [''], +'ui\controls\entry::setReadOnly' => ['', 'readOnly'=>'bool'], +'ui\controls\entry::setText' => ['', 'text'=>'string'], +'ui\controls\form::append' => ['int', 'label'=>'string', 'control'=>'UI\Control', 'stretchy='=>'bool'], +'ui\controls\form::delete' => ['bool', 'index'=>'int'], +'ui\controls\form::isPadded' => ['bool'], +'ui\controls\form::setPadded' => ['', 'padded'=>'bool'], +'ui\controls\grid::append' => ['', 'control'=>'UI\Control', 'left'=>'int', 'top'=>'int', 'xspan'=>'int', 'yspan'=>'int', 'hexpand'=>'bool', 'halign'=>'int', 'vexpand'=>'bool', 'valign'=>'int'], +'ui\controls\grid::isPadded' => ['bool'], +'ui\controls\grid::setPadded' => ['', 'padding'=>'bool'], +'ui\controls\group::append' => ['', 'control'=>'UI\Control'], +'ui\controls\group::getTitle' => ['string'], +'ui\controls\group::hasMargin' => ['bool'], +'ui\controls\group::setMargin' => ['', 'margin'=>'bool'], +'ui\controls\group::setTitle' => ['', 'title'=>'string'], +'ui\controls\label::getText' => ['string'], +'ui\controls\label::setText' => ['', 'text'=>'string'], +'ui\controls\multilineentry::append' => ['', 'text'=>'string'], +'ui\controls\multilineentry::getText' => ['string'], +'ui\controls\multilineentry::isReadOnly' => ['bool'], +'ui\controls\multilineentry::onChange' => [''], +'ui\controls\multilineentry::setReadOnly' => ['', 'readOnly'=>'bool'], +'ui\controls\multilineentry::setText' => ['', 'text'=>'string'], +'ui\controls\progress::getValue' => ['int'], +'ui\controls\progress::setValue' => ['', 'value'=>'int'], +'ui\controls\radio::append' => ['', 'text'=>'string'], +'ui\controls\radio::getSelected' => ['int'], +'ui\controls\radio::onSelected' => [''], +'ui\controls\radio::setSelected' => ['', 'index'=>'int'], +'ui\controls\slider::getValue' => ['int'], +'ui\controls\slider::onChange' => [''], +'ui\controls\slider::setValue' => ['', 'value'=>'int'], +'ui\controls\spin::getValue' => ['int'], +'ui\controls\spin::onChange' => [''], +'ui\controls\spin::setValue' => ['', 'value'=>'int'], +'ui\controls\tab::append' => ['int', 'name'=>'string', 'control'=>'UI\Control'], +'ui\controls\tab::delete' => ['bool', 'index'=>'int'], +'ui\controls\tab::hasMargin' => ['bool', 'page'=>'int'], +'ui\controls\tab::insertAt' => ['', 'name'=>'string', 'page'=>'int', 'control'=>'UI\Control'], +'ui\controls\tab::pages' => ['int'], +'ui\controls\tab::setMargin' => ['', 'page'=>'int', 'margin'=>'bool'], +'ui\draw\brush::getColor' => ['UI\Draw\Color'], +'ui\draw\brush\gradient::delStop' => ['int', 'index'=>'int'], +'ui\draw\color::getChannel' => ['float', 'channel'=>'int'], +'ui\draw\color::setChannel' => ['void', 'channel'=>'int', 'value'=>'float'], +'ui\draw\matrix::invert' => [''], +'ui\draw\matrix::isInvertible' => ['bool'], +'ui\draw\matrix::multiply' => ['UI\Draw\Matrix', 'matrix'=>'UI\Draw\Matrix'], +'ui\draw\matrix::rotate' => ['', 'point'=>'UI\Point', 'amount'=>'float'], +'ui\draw\matrix::scale' => ['', 'center'=>'UI\Point', 'point'=>'UI\Point'], +'ui\draw\matrix::skew' => ['', 'point'=>'UI\Point', 'amount'=>'UI\Point'], +'ui\draw\matrix::translate' => ['', 'point'=>'UI\Point'], +'ui\draw\path::addRectangle' => ['', 'point'=>'UI\Point', 'size'=>'UI\Size'], +'ui\draw\path::arcTo' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], +'ui\draw\path::bezierTo' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], +'ui\draw\path::closeFigure' => [''], +'ui\draw\path::end' => [''], +'ui\draw\path::lineTo' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], +'ui\draw\path::newFigure' => ['', 'point'=>'UI\Point'], +'ui\draw\path::newFigureWithArc' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], +'ui\draw\pen::clip' => ['', 'path'=>'UI\Draw\Path'], +'ui\draw\pen::restore' => [''], +'ui\draw\pen::save' => [''], +'ui\draw\pen::transform' => ['', 'matrix'=>'UI\Draw\Matrix'], +'ui\draw\pen::write' => ['', 'point'=>'UI\Point', 'layout'=>'UI\Draw\Text\Layout'], +'ui\draw\stroke::getCap' => ['int'], +'ui\draw\stroke::getJoin' => ['int'], +'ui\draw\stroke::getMiterLimit' => ['float'], +'ui\draw\stroke::getThickness' => ['float'], +'ui\draw\stroke::setCap' => ['', 'cap'=>'int'], +'ui\draw\stroke::setJoin' => ['', 'join'=>'int'], +'ui\draw\stroke::setMiterLimit' => ['', 'limit'=>'float'], +'ui\draw\stroke::setThickness' => ['', 'thickness'=>'float'], +'ui\draw\text\font::getAscent' => ['float'], +'ui\draw\text\font::getDescent' => ['float'], +'ui\draw\text\font::getLeading' => ['float'], +'ui\draw\text\font::getUnderlinePosition' => ['float'], +'ui\draw\text\font::getUnderlineThickness' => ['float'], +'ui\draw\text\font\descriptor::getFamily' => ['string'], +'ui\draw\text\font\descriptor::getItalic' => ['int'], +'ui\draw\text\font\descriptor::getSize' => ['float'], +'ui\draw\text\font\descriptor::getStretch' => ['int'], +'ui\draw\text\font\descriptor::getWeight' => ['int'], +'ui\draw\text\font\fontfamilies' => ['array'], +'ui\draw\text\layout::setWidth' => ['', 'width'=>'float'], +'ui\executor::kill' => ['void'], +'ui\executor::onExecute' => ['void'], +'ui\menu::append' => ['UI\MenuItem', 'name'=>'string', 'type='=>'string'], +'ui\menu::appendAbout' => ['UI\MenuItem', 'type='=>'string'], +'ui\menu::appendCheck' => ['UI\MenuItem', 'name'=>'string', 'type='=>'string'], +'ui\menu::appendPreferences' => ['UI\MenuItem', 'type='=>'string'], +'ui\menu::appendQuit' => ['UI\MenuItem', 'type='=>'string'], +'ui\menu::appendSeparator' => [''], +'ui\menuitem::disable' => [''], +'ui\menuitem::enable' => [''], +'ui\menuitem::isChecked' => ['bool'], +'ui\menuitem::onClick' => [''], +'ui\menuitem::setChecked' => ['', 'checked'=>'bool'], +'ui\point::getX' => ['float'], +'ui\point::getY' => ['float'], +'ui\point::setX' => ['', 'point'=>'float'], +'ui\point::setY' => ['', 'point'=>'float'], +'ui\quit' => ['void'], +'ui\run' => ['void', 'flags='=>'int'], +'ui\size::getHeight' => ['float'], +'ui\size::getWidth' => ['float'], +'ui\size::setHeight' => ['', 'size'=>'float'], +'ui\size::setWidth' => ['', 'size'=>'float'], +'ui\window::add' => ['', 'control'=>'UI\Control'], +'ui\window::error' => ['', 'title'=>'string', 'msg'=>'string'], +'ui\window::getSize' => ['UI\Size'], +'ui\window::getTitle' => ['string'], +'ui\window::hasBorders' => ['bool'], +'ui\window::hasMargin' => ['bool'], +'ui\window::isFullScreen' => ['bool'], +'ui\window::msg' => ['', 'title'=>'string', 'msg'=>'string'], +'ui\window::onClosing' => ['int'], +'ui\window::open' => ['string'], +'ui\window::save' => ['string'], +'ui\window::setBorders' => ['', 'borders'=>'bool'], +'ui\window::setFullScreen' => ['', 'full'=>'bool'], +'ui\window::setMargin' => ['', 'margin'=>'bool'], +'ui\window::setSize' => ['', 'size'=>'UI\Size'], +'ui\window::setTitle' => ['', 'title'=>'string'], +'uksort' => ['true', '&rw_array'=>'array', 'callback'=>'callable(mixed,mixed):int'], +'umask' => ['int', 'mask='=>'?int'], +'UnderflowException::__clone' => ['void'], +'UnderflowException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'UnderflowException::__toString' => ['string'], +'UnderflowException::getCode' => ['int'], +'UnderflowException::getFile' => ['string'], +'UnderflowException::getLine' => ['int'], +'UnderflowException::getMessage' => ['string'], +'UnderflowException::getPrevious' => ['?Throwable'], +'UnderflowException::getTrace' => ['list\',args?:array}>'], +'UnderflowException::getTraceAsString' => ['string'], +'UnexpectedValueException::__clone' => ['void'], +'UnexpectedValueException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], +'UnexpectedValueException::__toString' => ['string'], +'UnexpectedValueException::getCode' => ['int'], +'UnexpectedValueException::getFile' => ['string'], +'UnexpectedValueException::getLine' => ['int'], +'UnexpectedValueException::getMessage' => ['string'], +'UnexpectedValueException::getPrevious' => ['?Throwable'], +'UnexpectedValueException::getTrace' => ['list\',args?:array}>'], +'UnexpectedValueException::getTraceAsString' => ['string'], +'uniqid' => ['non-empty-string', 'prefix='=>'string', 'more_entropy='=>'bool'], +'unixtojd' => ['int', 'timestamp='=>'?int'], +'unlink' => ['bool', 'filename'=>'string', 'context='=>'resource'], +'unpack' => ['array|false', 'format'=>'string', 'string'=>'string', 'offset='=>'int'], +'unregister_tick_function' => ['void', 'callback'=>'callable'], +'unserialize' => ['mixed', 'data'=>'string', 'options='=>'array{allowed_classes?:string[]|bool}'], +'unset' => ['void', 'var='=>'mixed', '...args='=>'mixed'], +'untaint' => ['bool', '&rw_string'=>'string', '&...rw_strings='=>'string'], +'uopz_allow_exit' => ['void', 'allow'=>'bool'], +'uopz_backup' => ['void', 'class'=>'string', 'function'=>'string'], +'uopz_backup\'1' => ['void', 'function'=>'string'], +'uopz_compose' => ['void', 'name'=>'string', 'classes'=>'array', 'methods='=>'array', 'properties='=>'array', 'flags='=>'int'], +'uopz_copy' => ['Closure', 'class'=>'string', 'function'=>'string'], +'uopz_copy\'1' => ['Closure', 'function'=>'string'], +'uopz_delete' => ['void', 'class'=>'string', 'function'=>'string'], +'uopz_delete\'1' => ['void', 'function'=>'string'], +'uopz_extend' => ['bool', 'class'=>'string', 'parent'=>'string'], +'uopz_flags' => ['int', 'class'=>'string', 'function'=>'string', 'flags'=>'int'], +'uopz_flags\'1' => ['int', 'function'=>'string', 'flags'=>'int'], +'uopz_function' => ['void', 'class'=>'string', 'function'=>'string', 'handler'=>'Closure', 'modifiers='=>'int'], +'uopz_function\'1' => ['void', 'function'=>'string', 'handler'=>'Closure', 'modifiers='=>'int'], +'uopz_get_exit_status' => ['?int'], +'uopz_get_hook' => ['?Closure', 'class'=>'string', 'function'=>'string'], +'uopz_get_hook\'1' => ['?Closure', 'function'=>'string'], +'uopz_get_mock' => ['string|object|null', 'class'=>'string'], +'uopz_get_property' => ['mixed', 'class'=>'object|string', 'property'=>'string'], +'uopz_get_return' => ['mixed', 'class='=>'string', 'function='=>'string'], +'uopz_get_static' => ['?array', 'class'=>'string', 'function'=>'string'], +'uopz_implement' => ['bool', 'class'=>'string', 'interface'=>'string'], +'uopz_overload' => ['void', 'opcode'=>'int', 'callable'=>'Callable'], +'uopz_redefine' => ['bool', 'class'=>'string', 'constant'=>'string', 'value'=>'mixed'], +'uopz_redefine\'1' => ['bool', 'constant'=>'string', 'value'=>'mixed'], +'uopz_rename' => ['void', 'class'=>'string', 'function'=>'string', 'rename'=>'string'], +'uopz_rename\'1' => ['void', 'function'=>'string', 'rename'=>'string'], +'uopz_restore' => ['void', 'class'=>'string', 'function'=>'string'], +'uopz_restore\'1' => ['void', 'function'=>'string'], +'uopz_set_hook' => ['bool', 'class'=>'string', 'function'=>'string', 'hook'=>'Closure'], +'uopz_set_hook\'1' => ['bool', 'function'=>'string', 'hook'=>'Closure'], +'uopz_set_mock' => ['void', 'class'=>'string', 'mock'=>'object|string'], +'uopz_set_property' => ['void', 'class'=>'object|string', 'property'=>'string', 'value'=>'mixed'], +'uopz_set_return' => ['bool', 'class'=>'string', 'function'=>'string', 'value'=>'mixed', 'execute='=>'bool'], +'uopz_set_return\'1' => ['bool', 'function'=>'string', 'value'=>'mixed', 'execute='=>'bool'], +'uopz_set_static' => ['void', 'class'=>'string', 'function'=>'string', 'static'=>'array'], +'uopz_undefine' => ['bool', 'class'=>'string', 'constant'=>'string'], +'uopz_undefine\'1' => ['bool', 'constant'=>'string'], +'uopz_unset_hook' => ['bool', 'class'=>'string', 'function'=>'string'], +'uopz_unset_hook\'1' => ['bool', 'function'=>'string'], +'uopz_unset_mock' => ['void', 'class'=>'string'], +'uopz_unset_return' => ['bool', 'class='=>'string', 'function='=>'string'], +'uopz_unset_return\'1' => ['bool', 'function'=>'string'], +'urldecode' => ['string', 'string'=>'string'], +'urlencode' => ['string', 'string'=>'string'], +'use_soap_error_handler' => ['bool', 'enable='=>'bool'], +'user_error' => ['bool', 'message'=>'string', 'error_level='=>'int'], +'usleep' => ['void', 'microseconds'=>'positive-int|0'], +'usort' => ['true', '&rw_array'=>'array', 'callback'=>'callable(mixed,mixed):int'], +'utf8_decode' => ['string', 'string'=>'string'], +'utf8_encode' => ['string', 'string'=>'string'], +'V8Js::__construct' => ['void', 'object_name='=>'string', 'variables='=>'array', 'extensions='=>'array', 'report_uncaught_exceptions='=>'bool', 'snapshot_blob='=>'string'], +'V8Js::clearPendingException' => [''], +'V8Js::compileString' => ['resource', 'script'=>'', 'identifier='=>'string'], +'V8Js::createSnapshot' => ['false|string', 'embed_source'=>'string'], +'V8Js::executeScript' => ['', 'script'=>'resource', 'flags='=>'int', 'time_limit='=>'int', 'memory_limit='=>'int'], +'V8Js::executeString' => ['mixed', 'script'=>'string', 'identifier='=>'string', 'flags='=>'int'], +'V8Js::getExtensions' => ['string[]'], +'V8Js::getPendingException' => ['?V8JsException'], +'V8Js::registerExtension' => ['bool', 'extension_name'=>'string', 'script'=>'string', 'dependencies='=>'array', 'auto_enable='=>'bool'], +'V8Js::setAverageObjectSize' => ['', 'average_object_size'=>'int'], +'V8Js::setMemoryLimit' => ['', 'limit'=>'int'], +'V8Js::setModuleLoader' => ['', 'loader'=>'callable'], +'V8Js::setModuleNormaliser' => ['', 'normaliser'=>'callable'], +'V8Js::setTimeLimit' => ['', 'limit'=>'int'], +'V8JsException::getJsFileName' => ['string'], +'V8JsException::getJsLineNumber' => ['int'], +'V8JsException::getJsSourceLine' => ['int'], +'V8JsException::getJsTrace' => ['string'], +'V8JsScriptException::__clone' => ['void'], +'V8JsScriptException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'V8JsScriptException::__toString' => ['string'], +'V8JsScriptException::__wakeup' => ['void'], +'V8JsScriptException::getCode' => ['int'], +'V8JsScriptException::getFile' => ['string'], +'V8JsScriptException::getJsEndColumn' => ['int'], +'V8JsScriptException::getJsFileName' => ['string'], +'V8JsScriptException::getJsLineNumber' => ['int'], +'V8JsScriptException::getJsSourceLine' => ['string'], +'V8JsScriptException::getJsStartColumn' => ['int'], +'V8JsScriptException::getJsTrace' => ['string'], +'V8JsScriptException::getLine' => ['int'], +'V8JsScriptException::getMessage' => ['string'], +'V8JsScriptException::getPrevious' => ['Exception|Throwable'], +'V8JsScriptException::getTrace' => ['list\',args?:array}>'], +'V8JsScriptException::getTraceAsString' => ['string'], +'var_dump' => ['void', 'value'=>'mixed', '...values='=>'mixed'], +'var_export' => ['?string', 'value'=>'mixed', 'return='=>'bool'], +'VARIANT::__construct' => ['void', 'value='=>'mixed', 'type='=>'int', 'codepage='=>'int'], +'variant_abs' => ['mixed', 'value'=>'mixed'], +'variant_add' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_and' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_cast' => ['VARIANT', 'variant'=>'VARIANT', 'type'=>'int'], +'variant_cat' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_cmp' => ['int', 'left'=>'mixed', 'right'=>'mixed', 'locale_id='=>'int', 'flags='=>'int'], +'variant_date_from_timestamp' => ['VARIANT', 'timestamp'=>'int'], +'variant_date_to_timestamp' => ['int', 'variant'=>'VARIANT'], +'variant_div' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_eqv' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_fix' => ['mixed', 'value'=>'mixed'], +'variant_get_type' => ['int', 'variant'=>'VARIANT'], +'variant_idiv' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_imp' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_int' => ['mixed', 'value'=>'mixed'], +'variant_mod' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_mul' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_neg' => ['mixed', 'value'=>'mixed'], +'variant_not' => ['mixed', 'value'=>'mixed'], +'variant_or' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_pow' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_round' => ['mixed', 'value'=>'mixed', 'decimals'=>'int'], +'variant_set' => ['void', 'variant'=>'object', 'value'=>'mixed'], +'variant_set_type' => ['void', 'variant'=>'object', 'type'=>'int'], +'variant_sub' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'variant_xor' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], +'VarnishAdmin::__construct' => ['void', 'args='=>'array'], +'VarnishAdmin::auth' => ['bool'], +'VarnishAdmin::ban' => ['int', 'vcl_regex'=>'string'], +'VarnishAdmin::banUrl' => ['int', 'vcl_regex'=>'string'], +'VarnishAdmin::clearPanic' => ['int'], +'VarnishAdmin::connect' => ['bool'], +'VarnishAdmin::disconnect' => ['bool'], +'VarnishAdmin::getPanic' => ['string'], +'VarnishAdmin::getParams' => ['array'], +'VarnishAdmin::isRunning' => ['bool'], +'VarnishAdmin::setCompat' => ['void', 'compat'=>'int'], +'VarnishAdmin::setHost' => ['void', 'host'=>'string'], +'VarnishAdmin::setIdent' => ['void', 'ident'=>'string'], +'VarnishAdmin::setParam' => ['int', 'name'=>'string', 'value'=>'string|int'], +'VarnishAdmin::setPort' => ['void', 'port'=>'int'], +'VarnishAdmin::setSecret' => ['void', 'secret'=>'string'], +'VarnishAdmin::setTimeout' => ['void', 'timeout'=>'int'], +'VarnishAdmin::start' => ['int'], +'VarnishAdmin::stop' => ['int'], +'VarnishLog::__construct' => ['void', 'args='=>'array'], +'VarnishLog::getLine' => ['array'], +'VarnishLog::getTagName' => ['string', 'index'=>'int'], +'VarnishStat::__construct' => ['void', 'args='=>'array'], +'VarnishStat::getSnapshot' => ['array'], +'version_compare' => ['bool', 'version1'=>'string', 'version2'=>'string', 'operator'=>'\'<\'|\'lt\'|\'<=\'|\'le\'|\'>\'|\'gt\'|\'>=\'|\'ge\'|\'==\'|\'=\'|\'eq\'|\'!=\'|\'<>\'|\'ne\''], +'version_compare\'1' => ['int', 'version1'=>'string', 'version2'=>'string'], +'vfprintf' => ['int', 'stream'=>'resource', 'format'=>'string', 'values'=>'array'], +'virtual' => ['bool', 'uri'=>'string'], +'vpopmail_add_alias_domain' => ['bool', 'domain'=>'string', 'aliasdomain'=>'string'], +'vpopmail_add_alias_domain_ex' => ['bool', 'olddomain'=>'string', 'newdomain'=>'string'], +'vpopmail_add_domain' => ['bool', 'domain'=>'string', 'dir'=>'string', 'uid'=>'int', 'gid'=>'int'], +'vpopmail_add_domain_ex' => ['bool', 'domain'=>'string', 'passwd'=>'string', 'quota='=>'string', 'bounce='=>'string', 'apop='=>'bool'], +'vpopmail_add_user' => ['bool', 'user'=>'string', 'domain'=>'string', 'password'=>'string', 'gecos='=>'string', 'apop='=>'bool'], +'vpopmail_alias_add' => ['bool', 'user'=>'string', 'domain'=>'string', 'alias'=>'string'], +'vpopmail_alias_del' => ['bool', 'user'=>'string', 'domain'=>'string'], +'vpopmail_alias_del_domain' => ['bool', 'domain'=>'string'], +'vpopmail_alias_get' => ['array', 'alias'=>'string', 'domain'=>'string'], +'vpopmail_alias_get_all' => ['array', 'domain'=>'string'], +'vpopmail_auth_user' => ['bool', 'user'=>'string', 'domain'=>'string', 'password'=>'string', 'apop='=>'string'], +'vpopmail_del_domain' => ['bool', 'domain'=>'string'], +'vpopmail_del_domain_ex' => ['bool', 'domain'=>'string'], +'vpopmail_del_user' => ['bool', 'user'=>'string', 'domain'=>'string'], +'vpopmail_error' => ['string'], +'vpopmail_passwd' => ['bool', 'user'=>'string', 'domain'=>'string', 'password'=>'string', 'apop='=>'bool'], +'vpopmail_set_user_quota' => ['bool', 'user'=>'string', 'domain'=>'string', 'quota'=>'string'], +'vprintf' => ['int', 'format'=>'string', 'values'=>'array'], +'vsprintf' => ['string', 'format'=>'string', 'values'=>'array'], +'Vtiful\Kernel\Chart::__construct' => ['void', 'handle'=>'resource', 'type'=>'int'], +'Vtiful\Kernel\Chart::axisNameX' => ['Vtiful\Kernel\Chart', 'name'=>'string'], +'Vtiful\Kernel\Chart::axisNameY' => ['Vtiful\Kernel\Chart', 'name'=>'string'], +'Vtiful\Kernel\Chart::legendSetPosition' => ['Vtiful\Kernel\Chart', 'type'=>'int'], +'Vtiful\Kernel\Chart::series' => ['Vtiful\Kernel\Chart', 'value'=>'string', 'categories='=>'string'], +'Vtiful\Kernel\Chart::seriesName' => ['Vtiful\Kernel\Chart', 'value'=>'string'], +'Vtiful\Kernel\Chart::style' => ['Vtiful\Kernel\Chart', 'style'=>'int'], +'Vtiful\Kernel\Chart::title' => ['Vtiful\Kernel\Chart', 'title'=>'string'], +'Vtiful\Kernel\Chart::toResource' => ['resource'], +'Vtiful\Kernel\Excel::__construct' => ['void', 'config'=>'array'], +'Vtiful\Kernel\Excel::activateSheet' => ['bool', 'sheet_name'=>'string'], +'Vtiful\Kernel\Excel::addSheet' => ['Vtiful\Kernel\Excel', 'sheet_name='=>'?string'], +'Vtiful\Kernel\Excel::autoFilter' => ['Vtiful\Kernel\Excel', 'range'=>'string'], +'Vtiful\Kernel\Excel::checkoutSheet' => ['Vtiful\Kernel\Excel', 'sheet_name'=>'string'], +'Vtiful\Kernel\Excel::close' => ['Vtiful\Kernel\Excel'], +'Vtiful\Kernel\Excel::columnIndexFromString' => ['int', 'index'=>'string'], +'Vtiful\Kernel\Excel::constMemory' => ['Vtiful\Kernel\Excel', 'file_name'=>'string', 'sheet_name='=>'?string'], +'Vtiful\Kernel\Excel::data' => ['Vtiful\Kernel\Excel', 'data'=>'array'], +'Vtiful\Kernel\Excel::defaultFormat' => ['Vtiful\Kernel\Excel', 'format_handle'=>'resource'], +'Vtiful\Kernel\Excel::existSheet' => ['bool', 'sheet_name'=>'string'], +'Vtiful\Kernel\Excel::fileName' => ['Vtiful\Kernel\Excel', 'file_name'=>'string', 'sheet_name='=>'?string'], +'Vtiful\Kernel\Excel::freezePanes' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int'], +'Vtiful\Kernel\Excel::getHandle' => ['resource'], +'Vtiful\Kernel\Excel::getSheetData' => ['array|false'], +'Vtiful\Kernel\Excel::gridline' => ['Vtiful\Kernel\Excel', 'option='=>'int'], +'Vtiful\Kernel\Excel::header' => ['Vtiful\Kernel\Excel', 'header'=>'array', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::insertChart' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'chart_resource'=>'resource'], +'Vtiful\Kernel\Excel::insertComment' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'comment'=>'string'], +'Vtiful\Kernel\Excel::insertDate' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'timestamp'=>'int', 'format='=>'?string', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::insertFormula' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'formula'=>'string', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::insertImage' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'image'=>'string', 'width='=>'?float', 'height='=>'?float'], +'Vtiful\Kernel\Excel::insertText' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'data'=>'int|string|double', 'format='=>'?string', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::insertUrl' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'url'=>'string', 'text='=>'?string', 'tool_tip='=>'?string', 'format='=>'?resource'], +'Vtiful\Kernel\Excel::mergeCells' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'data'=>'string', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::nextCellCallback' => ['void', 'fci'=>'callable(int,int,mixed)', 'sheet_name='=>'?string'], +'Vtiful\Kernel\Excel::nextRow' => ['array|false', 'zv_type_t='=>'?array'], +'Vtiful\Kernel\Excel::openFile' => ['Vtiful\Kernel\Excel', 'zs_file_name'=>'string'], +'Vtiful\Kernel\Excel::openSheet' => ['Vtiful\Kernel\Excel', 'zs_sheet_name='=>'?string', 'zl_flag='=>'?int'], +'Vtiful\Kernel\Excel::output' => ['string'], +'Vtiful\Kernel\Excel::protection' => ['Vtiful\Kernel\Excel', 'password='=>'?string'], +'Vtiful\Kernel\Excel::putCSV' => ['bool', 'fp'=>'resource', 'delimiter_str='=>'?string', 'enclosure_str='=>'?string', 'escape_str='=>'?string'], +'Vtiful\Kernel\Excel::putCSVCallback' => ['bool', 'callback'=>'callable(array):array', 'fp'=>'resource', 'delimiter_str='=>'?string', 'enclosure_str='=>'?string', 'escape_str='=>'?string'], +'Vtiful\Kernel\Excel::setColumn' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'width'=>'float', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::setCurrentSheetHide' => ['Vtiful\Kernel\Excel'], +'Vtiful\Kernel\Excel::setCurrentSheetIsFirst' => ['Vtiful\Kernel\Excel'], +'Vtiful\Kernel\Excel::setGlobalType' => ['Vtiful\Kernel\Excel', 'zv_type_t'=>'int'], +'Vtiful\Kernel\Excel::setLandscape' => ['Vtiful\Kernel\Excel'], +'Vtiful\Kernel\Excel::setMargins' => ['Vtiful\Kernel\Excel', 'left='=>'?float', 'right='=>'?float', 'top='=>'?float', 'bottom='=>'?float'], +'Vtiful\Kernel\Excel::setPaper' => ['Vtiful\Kernel\Excel', 'paper'=>'int'], +'Vtiful\Kernel\Excel::setPortrait' => ['Vtiful\Kernel\Excel'], +'Vtiful\Kernel\Excel::setRow' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'height'=>'float', 'format_handle='=>'?resource'], +'Vtiful\Kernel\Excel::setSkipRows' => ['Vtiful\Kernel\Excel', 'zv_skip_t'=>'int'], +'Vtiful\Kernel\Excel::setType' => ['Vtiful\Kernel\Excel', 'zv_type_t'=>'array'], +'Vtiful\Kernel\Excel::sheetList' => ['array'], +'Vtiful\Kernel\Excel::showComment' => ['Vtiful\Kernel\Excel'], +'Vtiful\Kernel\Excel::stringFromColumnIndex' => ['string', 'index'=>'int'], +'Vtiful\Kernel\Excel::timestampFromDateDouble' => ['int', 'index'=>'?float'], +'Vtiful\Kernel\Excel::validation' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'validation_resource'=>'resource'], +'Vtiful\Kernel\Excel::zoom' => ['Vtiful\Kernel\Excel', 'scale'=>'int'], +'Vtiful\Kernel\Format::__construct' => ['void', 'handle'=>'resource'], +'Vtiful\Kernel\Format::align' => ['Vtiful\Kernel\Format', '...style'=>'int'], +'Vtiful\Kernel\Format::background' => ['Vtiful\Kernel\Format', 'color'=>'int', 'pattern='=>'int'], +'Vtiful\Kernel\Format::bold' => ['Vtiful\Kernel\Format'], +'Vtiful\Kernel\Format::border' => ['Vtiful\Kernel\Format', 'style'=>'int'], +'Vtiful\Kernel\Format::font' => ['Vtiful\Kernel\Format', 'font'=>'string'], +'Vtiful\Kernel\Format::fontColor' => ['Vtiful\Kernel\Format', 'color'=>'int'], +'Vtiful\Kernel\Format::fontSize' => ['Vtiful\Kernel\Format', 'size'=>'float'], +'Vtiful\Kernel\Format::italic' => ['Vtiful\Kernel\Format'], +'Vtiful\Kernel\Format::number' => ['Vtiful\Kernel\Format', 'format'=>'string'], +'Vtiful\Kernel\Format::strikeout' => ['Vtiful\Kernel\Format'], +'Vtiful\Kernel\Format::toResource' => ['resource'], +'Vtiful\Kernel\Format::underline' => ['Vtiful\Kernel\Format', 'style'=>'int'], +'Vtiful\Kernel\Format::unlocked' => ['Vtiful\Kernel\Format'], +'Vtiful\Kernel\Format::wrap' => ['Vtiful\Kernel\Format'], +'Vtiful\Kernel\Validation::__construct' => ['void'], +'Vtiful\Kernel\Validation::criteriaType' => ['?Vtiful\Kernel\Validation', 'type'=>'int'], +'Vtiful\Kernel\Validation::maximumFormula' => ['?Vtiful\Kernel\Validation', 'maximum_formula'=>'string'], +'Vtiful\Kernel\Validation::maximumNumber' => ['?Vtiful\Kernel\Validation', 'maximum_number'=>'float'], +'Vtiful\Kernel\Validation::minimumFormula' => ['?Vtiful\Kernel\Validation', 'minimum_formula'=>'string'], +'Vtiful\Kernel\Validation::minimumNumber' => ['?Vtiful\Kernel\Validation', 'minimum_number'=>'float'], +'Vtiful\Kernel\Validation::toResource' => ['resource'], +'Vtiful\Kernel\Validation::validationType' => ['?Vtiful\Kernel\Validation', 'type'=>'int'], +'Vtiful\Kernel\Validation::valueList' => ['?Vtiful\Kernel\Validation', 'value_list'=>'array'], +'Vtiful\Kernel\Validation::valueNumber' => ['?Vtiful\Kernel\Validation', 'value_number'=>'int'], +'w32api_deftype' => ['bool', 'typename'=>'string', 'member1_type'=>'string', 'member1_name'=>'string', '...args='=>'string'], +'w32api_init_dtype' => ['resource', 'typename'=>'string', 'value'=>'', '...args='=>''], +'w32api_invoke_function' => ['', 'funcname'=>'string', 'argument'=>'', '...args='=>''], +'w32api_register_function' => ['bool', 'library'=>'string', 'function_name'=>'string', 'return_type'=>'string'], +'w32api_set_call_method' => ['', 'method'=>'int'], +'wddx_add_vars' => ['bool', 'packet_id'=>'resource', 'var_names'=>'mixed', '...vars='=>'mixed'], +'wddx_deserialize' => ['mixed', 'packet'=>'string'], +'wddx_packet_end' => ['string', 'packet_id'=>'resource'], +'wddx_packet_start' => ['resource|false', 'comment='=>'string'], +'wddx_serialize_value' => ['string|false', 'value'=>'mixed', 'comment='=>'string'], +'wddx_serialize_vars' => ['string|false', 'var_name'=>'mixed', '...vars='=>'mixed'], +'WeakMap::__construct' => ['void'], +'WeakMap::count' => ['int'], +'WeakMap::current' => ['mixed'], +'WeakMap::key' => ['object'], +'WeakMap::next' => ['void'], +'WeakMap::offsetExists' => ['bool', 'object'=>'object'], +'WeakMap::offsetGet' => ['mixed', 'object'=>'object'], +'WeakMap::offsetSet' => ['void', 'object'=>'object', 'value'=>'mixed'], +'WeakMap::offsetUnset' => ['void', 'object'=>'object'], +'WeakMap::rewind' => ['void'], +'WeakMap::valid' => ['bool'], +'Weakref::acquire' => ['bool'], +'Weakref::get' => ['object'], +'Weakref::release' => ['bool'], +'Weakref::valid' => ['bool'], +'webObj::convertToString' => ['string'], +'webObj::free' => ['void'], +'webObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], +'webObj::updateFromString' => ['int', 'snippet'=>'string'], +'win32_continue_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], +'win32_create_service' => ['int|false', 'details'=>'array', 'machine='=>'string'], +'win32_delete_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], +'win32_get_last_control_message' => ['int'], +'win32_pause_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], +'win32_ps_list_procs' => ['array'], +'win32_ps_stat_mem' => ['array'], +'win32_ps_stat_proc' => ['array', 'pid='=>'int'], +'win32_query_service_status' => ['array|false|int', 'servicename'=>'string', 'machine='=>'string'], +'win32_send_custom_control' => ['int', 'servicename'=>'string', 'control'=>'int', 'machine='=>'string'], +'win32_set_service_exit_code' => ['int', 'exitCode='=>'int'], +'win32_set_service_exit_mode' => ['bool', 'gracefulMode='=>'bool'], +'win32_set_service_status' => ['bool|int', 'status'=>'int', 'checkpoint='=>'int'], +'win32_start_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], +'win32_start_service_ctrl_dispatcher' => ['bool|int', 'name'=>'string'], +'win32_stop_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], +'wincache_fcache_fileinfo' => ['array|false', 'summaryonly='=>'bool'], +'wincache_fcache_meminfo' => ['array|false'], +'wincache_lock' => ['bool', 'key'=>'string', 'isglobal='=>'bool'], +'wincache_ocache_fileinfo' => ['array|false', 'summaryonly='=>'bool'], +'wincache_ocache_meminfo' => ['array|false'], +'wincache_refresh_if_changed' => ['bool', 'files='=>'array'], +'wincache_rplist_fileinfo' => ['array|false', 'summaryonly='=>'bool'], +'wincache_rplist_meminfo' => ['array|false'], +'wincache_scache_info' => ['array|false', 'summaryonly='=>'bool'], +'wincache_scache_meminfo' => ['array|false'], +'wincache_ucache_add' => ['bool', 'key'=>'string', 'value'=>'mixed', 'ttl='=>'int'], +'wincache_ucache_add\'1' => ['bool', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'wincache_ucache_cas' => ['bool', 'key'=>'string', 'old_value'=>'int', 'new_value'=>'int'], +'wincache_ucache_clear' => ['bool'], +'wincache_ucache_dec' => ['int|false', 'key'=>'string', 'dec_by='=>'int', 'success='=>'bool'], +'wincache_ucache_delete' => ['bool', 'key'=>'mixed'], +'wincache_ucache_exists' => ['bool', 'key'=>'string'], +'wincache_ucache_get' => ['mixed', 'key'=>'mixed', '&w_success='=>'bool'], +'wincache_ucache_inc' => ['int|false', 'key'=>'string', 'inc_by='=>'int', 'success='=>'bool'], +'wincache_ucache_info' => ['array|false', 'summaryonly='=>'bool', 'key='=>'string'], +'wincache_ucache_meminfo' => ['array|false'], +'wincache_ucache_set' => ['bool', 'key'=>'', 'value'=>'', 'ttl='=>'int'], +'wincache_ucache_set\'1' => ['bool', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], +'wincache_unlock' => ['bool', 'key'=>'string'], +'wkhtmltox\image\converter::convert' => ['?string'], +'wkhtmltox\image\converter::getVersion' => ['string'], +'wkhtmltox\pdf\converter::add' => ['void', 'object'=>'wkhtmltox\PDF\Object'], +'wkhtmltox\pdf\converter::convert' => ['?string'], +'wkhtmltox\pdf\converter::getVersion' => ['string'], +'wordwrap' => ['string', 'string'=>'string', 'width='=>'int', 'break='=>'string', 'cut_long_words='=>'bool'], +'Worker::__construct' => ['void'], +'Worker::addRef' => ['void'], +'Worker::chunk' => ['array', 'size'=>'int', 'preserve'=>'bool'], +'Worker::collect' => ['int', 'collector='=>'Callable'], +'Worker::count' => ['int'], +'Worker::delRef' => ['void'], +'Worker::detach' => ['void'], +'Worker::extend' => ['bool', 'class'=>'string'], +'Worker::getCreatorId' => ['int'], +'Worker::getCurrentThread' => ['Thread'], +'Worker::getCurrentThreadId' => ['int'], +'Worker::getRefCount' => ['int'], +'Worker::getStacked' => ['int'], +'Worker::getTerminationInfo' => ['array'], +'Worker::getThreadId' => ['int'], +'Worker::globally' => ['mixed'], +'Worker::isGarbage' => ['bool'], +'Worker::isJoined' => ['bool'], +'Worker::isRunning' => ['bool'], +'Worker::isShutdown' => ['bool'], +'Worker::isStarted' => ['bool'], +'Worker::isTerminated' => ['bool'], +'Worker::isWaiting' => ['bool'], +'Worker::isWorking' => ['bool'], +'Worker::join' => ['bool'], +'Worker::kill' => ['bool'], +'Worker::lock' => ['bool'], +'Worker::merge' => ['bool', 'from'=>'', 'overwrite='=>'mixed'], +'Worker::notify' => ['bool'], +'Worker::notifyOne' => ['bool'], +'Worker::offsetExists' => ['bool', 'offset'=>'mixed'], +'Worker::offsetGet' => ['mixed', 'offset'=>'mixed'], +'Worker::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], +'Worker::offsetUnset' => ['void', 'offset'=>'mixed'], +'Worker::pop' => ['bool'], +'Worker::run' => ['void'], +'Worker::setGarbage' => ['void'], +'Worker::shift' => ['bool'], +'Worker::shutdown' => ['bool'], +'Worker::stack' => ['int', '&rw_work'=>'Threaded'], +'Worker::start' => ['bool', 'options='=>'int'], +'Worker::synchronized' => ['mixed', 'block'=>'Closure', '_='=>'mixed'], +'Worker::unlock' => ['bool'], +'Worker::unstack' => ['int', '&rw_work='=>'Threaded'], +'Worker::wait' => ['bool', 'timeout='=>'int'], +'xattr_get' => ['string', 'filename'=>'string', 'name'=>'string', 'flags='=>'int'], +'xattr_list' => ['array', 'filename'=>'string', 'flags='=>'int'], +'xattr_remove' => ['bool', 'filename'=>'string', 'name'=>'string', 'flags='=>'int'], +'xattr_set' => ['bool', 'filename'=>'string', 'name'=>'string', 'value'=>'string', 'flags='=>'int'], +'xattr_supported' => ['bool', 'filename'=>'string', 'flags='=>'int'], +'xcache_asm' => ['string', 'filename'=>'string'], +'xcache_clear_cache' => ['void', 'type'=>'int', 'id='=>'int'], +'xcache_coredump' => ['string', 'op_type'=>'int'], +'xcache_count' => ['int', 'type'=>'int'], +'xcache_coverager_decode' => ['array', 'data'=>'string'], +'xcache_coverager_get' => ['array', 'clean='=>'bool'], +'xcache_coverager_start' => ['void', 'clean='=>'bool'], +'xcache_coverager_stop' => ['void', 'clean='=>'bool'], +'xcache_dasm_file' => ['string', 'filename'=>'string'], +'xcache_dasm_string' => ['string', 'code'=>'string'], +'xcache_dec' => ['int', 'name'=>'string', 'value='=>'int|mixed', 'ttl='=>'int'], +'xcache_decode' => ['bool', 'filename'=>'string'], +'xcache_encode' => ['string', 'filename'=>'string'], +'xcache_get' => ['mixed', 'name'=>'string'], +'xcache_get_data_type' => ['string', 'type'=>'int'], +'xcache_get_op_spec' => ['string', 'op_type'=>'int'], +'xcache_get_op_type' => ['string', 'op_type'=>'int'], +'xcache_get_opcode' => ['string', 'opcode'=>'int'], +'xcache_get_opcode_spec' => ['string', 'opcode'=>'int'], +'xcache_inc' => ['int', 'name'=>'string', 'value='=>'int|mixed', 'ttl='=>'int'], +'xcache_info' => ['array', 'type'=>'int', 'id'=>'int'], +'xcache_is_autoglobal' => ['string', 'name'=>'string'], +'xcache_isset' => ['bool', 'name'=>'string'], +'xcache_list' => ['array', 'type'=>'int', 'id'=>'int'], +'xcache_set' => ['bool', 'name'=>'string', 'value'=>'mixed', 'ttl='=>'int'], +'xcache_unset' => ['bool', 'name'=>'string'], +'xcache_unset_by_prefix' => ['bool', 'prefix'=>'string'], +'Xcom::__construct' => ['void', 'fabric_url='=>'string', 'fabric_token='=>'string', 'capability_token='=>'string'], +'Xcom::decode' => ['object', 'avro_msg'=>'string', 'json_schema'=>'string'], +'Xcom::encode' => ['string', 'data'=>'stdClass', 'avro_schema'=>'string'], +'Xcom::getDebugOutput' => ['string'], +'Xcom::getLastResponse' => ['string'], +'Xcom::getLastResponseInfo' => ['array'], +'Xcom::getOnboardingURL' => ['string', 'capability_name'=>'string', 'agreement_url'=>'string'], +'Xcom::send' => ['int', 'topic'=>'string', 'data'=>'mixed', 'json_schema='=>'string', 'http_headers='=>'array'], +'Xcom::sendAsync' => ['int', 'topic'=>'string', 'data'=>'mixed', 'json_schema='=>'string', 'http_headers='=>'array'], +'xdebug_break' => ['bool'], +'xdebug_call_class' => ['string', 'depth='=>'int'], +'xdebug_call_file' => ['string', 'depth='=>'int'], +'xdebug_call_function' => ['string', 'depth='=>'int'], +'xdebug_call_line' => ['int', 'depth='=>'int'], +'xdebug_clear_aggr_profiling_data' => ['bool'], +'xdebug_code_coverage_started' => ['bool'], +'xdebug_debug_zval' => ['void', '...varName'=>'string'], +'xdebug_debug_zval_stdout' => ['void', '...varName'=>'string'], +'xdebug_disable' => ['void'], +'xdebug_dump_aggr_profiling_data' => ['bool'], +'xdebug_dump_superglobals' => ['void'], +'xdebug_enable' => ['void'], +'xdebug_get_code_coverage' => ['array'], +'xdebug_get_collected_errors' => ['string', 'clean='=>'bool'], +'xdebug_get_declared_vars' => ['array'], +'xdebug_get_formatted_function_stack' => [''], +'xdebug_get_function_count' => ['int'], +'xdebug_get_function_stack' => ['array', 'message='=>'string', 'options='=>'int'], +'xdebug_get_headers' => ['array'], +'xdebug_get_monitored_functions' => ['array'], +'xdebug_get_profiler_filename' => ['string|false'], +'xdebug_get_stack_depth' => ['int'], +'xdebug_get_tracefile_name' => ['string'], +'xdebug_info' => ['mixed', 'category='=>'string'], +'xdebug_is_debugger_active' => ['bool'], +'xdebug_is_enabled' => ['bool'], +'xdebug_memory_usage' => ['int'], +'xdebug_peak_memory_usage' => ['int'], +'xdebug_print_function_stack' => ['array', 'message='=>'string', 'options='=>'int'], +'xdebug_set_filter' => ['void', 'group'=>'int', 'list_type'=>'int', 'configuration'=>'array'], +'xdebug_start_code_coverage' => ['void', 'options='=>'int'], +'xdebug_start_error_collection' => ['void'], +'xdebug_start_function_monitor' => ['void', 'list_of_functions_to_monitor'=>'string[]'], +'xdebug_start_trace' => ['void', 'trace_file'=>'', 'options='=>'int|mixed'], +'xdebug_stop_code_coverage' => ['void', 'cleanup='=>'bool'], +'xdebug_stop_error_collection' => ['void'], +'xdebug_stop_function_monitor' => ['void'], +'xdebug_stop_trace' => ['void'], +'xdebug_time_index' => ['float'], +'xdebug_var_dump' => ['void', '...var'=>''], +'xdiff_file_bdiff' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string'], +'xdiff_file_bdiff_size' => ['int', 'file'=>'string'], +'xdiff_file_bpatch' => ['bool', 'file'=>'string', 'patch'=>'string', 'dest'=>'string'], +'xdiff_file_diff' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string', 'context='=>'int', 'minimal='=>'bool'], +'xdiff_file_diff_binary' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string'], +'xdiff_file_merge3' => ['mixed', 'old_file'=>'string', 'new_file1'=>'string', 'new_file2'=>'string', 'dest'=>'string'], +'xdiff_file_patch' => ['mixed', 'file'=>'string', 'patch'=>'string', 'dest'=>'string', 'flags='=>'int'], +'xdiff_file_patch_binary' => ['bool', 'file'=>'string', 'patch'=>'string', 'dest'=>'string'], +'xdiff_file_rabdiff' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string'], +'xdiff_string_bdiff' => ['string', 'old_data'=>'string', 'new_data'=>'string'], +'xdiff_string_bdiff_size' => ['int', 'patch'=>'string'], +'xdiff_string_bpatch' => ['string', 'string'=>'string', 'patch'=>'string'], +'xdiff_string_diff' => ['string', 'old_data'=>'string', 'new_data'=>'string', 'context='=>'int', 'minimal='=>'bool'], +'xdiff_string_diff_binary' => ['string', 'old_data'=>'string', 'new_data'=>'string'], +'xdiff_string_merge3' => ['mixed', 'old_data'=>'string', 'new_data1'=>'string', 'new_data2'=>'string', 'error='=>'string'], +'xdiff_string_patch' => ['string', 'string'=>'string', 'patch'=>'string', 'flags='=>'int', '&w_error='=>'string'], +'xdiff_string_patch_binary' => ['string', 'string'=>'string', 'patch'=>'string'], +'xdiff_string_rabdiff' => ['string', 'old_data'=>'string', 'new_data'=>'string'], +'xhprof_disable' => ['array'], +'xhprof_enable' => ['void', 'flags='=>'int', 'options='=>'array'], +'xhprof_sample_disable' => ['array'], +'xhprof_sample_enable' => ['void'], +'xlswriter_get_author' => ['string'], +'xlswriter_get_version' => ['string'], +'xml_error_string' => ['?string', 'error_code'=>'int'], +'xml_get_current_byte_index' => ['int', 'parser'=>'XMLParser'], +'xml_get_current_column_number' => ['int', 'parser'=>'XMLParser'], +'xml_get_current_line_number' => ['int', 'parser'=>'XMLParser'], +'xml_get_error_code' => ['int', 'parser'=>'XMLParser'], +'xml_parse' => ['int', 'parser'=>'XMLParser', 'data'=>'string', 'is_final='=>'bool'], +'xml_parse_into_struct' => ['int', 'parser'=>'XMLParser', 'data'=>'string', '&w_values'=>'array', '&w_index='=>'array'], +'xml_parser_create' => ['XMLParser', 'encoding='=>'?string'], +'xml_parser_create_ns' => ['XMLParser', 'encoding='=>'?string', 'separator='=>'string'], +'xml_parser_free' => ['bool', 'parser'=>'XMLParser'], +'xml_parser_get_option' => ['string', 'parser'=>'XMLParser', 'option'=>'int'], +'xml_parser_set_option' => ['bool', 'parser'=>'XMLParser', 'option'=>'int', 'value'=>'mixed'], +'xml_set_character_data_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_default_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_element_handler' => ['true', 'parser'=>'XMLParser', 'start_handler'=>'callable', 'end_handler'=>'callable'], +'xml_set_end_namespace_decl_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_external_entity_ref_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_notation_decl_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_object' => ['true', 'parser'=>'XMLParser', 'object'=>'object'], +'xml_set_processing_instruction_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_start_namespace_decl_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'xml_set_unparsed_entity_decl_handler' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], +'XMLDiff\Base::__construct' => ['void', 'nsname'=>'string'], +'XMLDiff\Base::diff' => ['mixed', 'from'=>'mixed', 'to'=>'mixed'], +'XMLDiff\Base::merge' => ['mixed', 'src'=>'mixed', 'diff'=>'mixed'], +'XMLDiff\DOM::diff' => ['DOMDocument', 'from'=>'DOMDocument', 'to'=>'DOMDocument'], +'XMLDiff\DOM::merge' => ['DOMDocument', 'src'=>'DOMDocument', 'diff'=>'DOMDocument'], +'XMLDiff\File::diff' => ['string', 'from'=>'string', 'to'=>'string'], +'XMLDiff\File::merge' => ['string', 'src'=>'string', 'diff'=>'string'], +'XMLDiff\Memory::diff' => ['string', 'from'=>'string', 'to'=>'string'], +'XMLDiff\Memory::merge' => ['string', 'src'=>'string', 'diff'=>'string'], +'XMLReader::close' => ['bool'], +'XMLReader::expand' => ['DOMNode|false', 'baseNode='=>'?DOMNode'], +'XMLReader::getAttribute' => ['?string', 'name'=>'string'], +'XMLReader::getAttributeNo' => ['?string', 'index'=>'int'], +'XMLReader::getAttributeNs' => ['?string', 'name'=>'string', 'namespaceuri'=>'string'], +'XMLReader::getParserProperty' => ['bool', 'property'=>'int'], +'XMLReader::isValid' => ['bool'], +'XMLReader::lookupNamespace' => ['?string', 'prefix'=>'string'], +'XMLReader::moveToAttribute' => ['bool', 'name'=>'string'], +'XMLReader::moveToAttributeNo' => ['bool', 'index'=>'int'], +'XMLReader::moveToAttributeNs' => ['bool', 'localname'=>'string', 'namespaceuri'=>'string'], +'XMLReader::moveToElement' => ['bool'], +'XMLReader::moveToFirstAttribute' => ['bool'], +'XMLReader::moveToNextAttribute' => ['bool'], +'XMLReader::next' => ['bool', 'localname='=>'string'], +'XMLReader::open' => ['bool', 'uri'=>'string', 'encoding='=>'?string', 'options='=>'int'], +'XMLReader::read' => ['bool'], +'XMLReader::readInnerXML' => ['string'], +'XMLReader::readOuterXML' => ['string'], +'XMLReader::readString' => ['string'], +'XMLReader::setParserProperty' => ['bool', 'property'=>'int', 'value'=>'bool'], +'XMLReader::setRelaxNGSchema' => ['bool', 'filename'=>'?string'], +'XMLReader::setRelaxNGSchemaSource' => ['bool', 'source'=>'?string'], +'XMLReader::setSchema' => ['bool', 'filename'=>'?string'], +'XMLReader::XML' => ['bool', 'source'=>'string', 'encoding='=>'?string', 'options='=>'int'], +'XMLWriter::endAttribute' => ['bool'], +'XMLWriter::endCdata' => ['bool'], +'XMLWriter::endComment' => ['bool'], +'XMLWriter::endDocument' => ['bool'], +'XMLWriter::endDtd' => ['bool'], +'XMLWriter::endDtdAttlist' => ['bool'], +'XMLWriter::endDtdElement' => ['bool'], +'XMLWriter::endDtdEntity' => ['bool'], +'XMLWriter::endElement' => ['bool'], +'XMLWriter::endPi' => ['bool'], +'XMLWriter::flush' => ['string|int', 'empty='=>'bool'], +'XMLWriter::fullEndElement' => ['bool'], +'XMLWriter::openMemory' => ['bool'], +'XMLWriter::openUri' => ['bool', 'uri'=>'string'], +'XMLWriter::outputMemory' => ['string', 'flush='=>'bool'], +'XMLWriter::setIndent' => ['bool', 'enable'=>'bool'], +'XMLWriter::setIndentString' => ['bool', 'indentation'=>'string'], +'XMLWriter::startAttribute' => ['bool', 'name'=>'string'], +'XMLWriter::startAttributeNs' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], +'XMLWriter::startCdata' => ['bool'], +'XMLWriter::startComment' => ['bool'], +'XMLWriter::startDocument' => ['bool', 'version='=>'?string', 'encoding='=>'?string', 'standalone='=>'?string'], +'XMLWriter::startDtd' => ['bool', 'qualifiedName'=>'string', 'publicId='=>'?string', 'systemId='=>'?string'], +'XMLWriter::startDtdAttlist' => ['bool', 'name'=>'string'], +'XMLWriter::startDtdElement' => ['bool', 'qualifiedName'=>'string'], +'XMLWriter::startDtdEntity' => ['bool', 'name'=>'string', 'isParam'=>'bool'], +'XMLWriter::startElement' => ['bool', 'name'=>'string'], +'XMLWriter::startElementNs' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], +'XMLWriter::startPi' => ['bool', 'target'=>'string'], +'XMLWriter::text' => ['bool', 'content'=>'string'], +'XMLWriter::writeAttribute' => ['bool', 'name'=>'string', 'value'=>'string'], +'XMLWriter::writeAttributeNs' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], +'XMLWriter::writeCdata' => ['bool', 'content'=>'string'], +'XMLWriter::writeComment' => ['bool', 'content'=>'string'], +'XMLWriter::writeDtd' => ['bool', 'name'=>'string', 'publicId='=>'?string', 'systemId='=>'?string', 'content='=>'?string'], +'XMLWriter::writeDtdAttlist' => ['bool', 'name'=>'string', 'content'=>'string'], +'XMLWriter::writeDtdElement' => ['bool', 'name'=>'string', 'content'=>'string'], +'XMLWriter::writeDtdEntity' => ['bool', 'name'=>'string', 'content'=>'string', 'isParam='=>'bool', 'publicId='=>'?string', 'systemId='=>'?string', 'notationData='=>'?string'], +'XMLWriter::writeElement' => ['bool', 'name'=>'string', 'content='=>'?string'], +'XMLWriter::writeElementNs' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'content='=>'?string'], +'XMLWriter::writePi' => ['bool', 'target'=>'string', 'content'=>'string'], +'XMLWriter::writeRaw' => ['bool', 'content'=>'string'], +'xmlwriter_end_attribute' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_cdata' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_comment' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_document' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_dtd' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_dtd_attlist' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_dtd_element' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_dtd_entity' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_element' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_end_pi' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_flush' => ['string|int', 'writer'=>'XMLWriter', 'empty='=>'bool'], +'xmlwriter_full_end_element' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_open_memory' => ['XMLWriter|false'], +'xmlwriter_open_uri' => ['XMLWriter|false', 'uri'=>'string'], +'xmlwriter_output_memory' => ['string', 'writer'=>'XMLWriter', 'flush='=>'bool'], +'xmlwriter_set_indent' => ['bool', 'writer'=>'XMLWriter', 'enable'=>'bool'], +'xmlwriter_set_indent_string' => ['bool', 'writer'=>'XMLWriter', 'indentation'=>'string'], +'xmlwriter_start_attribute' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string'], +'xmlwriter_start_attribute_ns' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], +'xmlwriter_start_cdata' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_start_comment' => ['bool', 'writer'=>'XMLWriter'], +'xmlwriter_start_document' => ['bool', 'writer'=>'XMLWriter', 'version='=>'?string', 'encoding='=>'?string', 'standalone='=>'?string'], +'xmlwriter_start_dtd' => ['bool', 'writer'=>'XMLWriter', 'qualifiedName'=>'string', 'publicId='=>'?string', 'systemId='=>'?string'], +'xmlwriter_start_dtd_attlist' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string'], +'xmlwriter_start_dtd_element' => ['bool', 'writer'=>'XMLWriter', 'qualifiedName'=>'string'], +'xmlwriter_start_dtd_entity' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'isParam'=>'bool'], +'xmlwriter_start_element' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string'], +'xmlwriter_start_element_ns' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], +'xmlwriter_start_pi' => ['bool', 'writer'=>'XMLWriter', 'target'=>'string'], +'xmlwriter_text' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], +'xmlwriter_write_attribute' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'value'=>'string'], +'xmlwriter_write_attribute_ns' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], +'xmlwriter_write_cdata' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], +'xmlwriter_write_comment' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], +'xmlwriter_write_dtd' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'publicId='=>'?string', 'systemId='=>'?string', 'content='=>'?string'], +'xmlwriter_write_dtd_attlist' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content'=>'string'], +'xmlwriter_write_dtd_element' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content'=>'string'], +'xmlwriter_write_dtd_entity' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content'=>'string', 'isParam='=>'bool', 'publicId='=>'?string', 'systemId='=>'?string', 'notationData='=>'?string'], +'xmlwriter_write_element' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content='=>'?string'], +'xmlwriter_write_element_ns' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'content='=>'?string'], +'xmlwriter_write_pi' => ['bool', 'writer'=>'XMLWriter', 'target'=>'string', 'content'=>'string'], +'xmlwriter_write_raw' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], +'xpath_new_context' => ['XPathContext', 'dom_document'=>'DOMDocument'], +'xpath_register_ns' => ['bool', 'xpath_context'=>'xpathcontext', 'prefix'=>'string', 'uri'=>'string'], +'xpath_register_ns_auto' => ['bool', 'xpath_context'=>'xpathcontext', 'context_node='=>'object'], +'xptr_new_context' => ['XPathContext'], +'XSLTProcessor::getParameter' => ['string|false', 'namespace'=>'string', 'name'=>'string'], +'XsltProcessor::getSecurityPrefs' => ['int'], +'XSLTProcessor::hasExsltSupport' => ['bool'], +'XSLTProcessor::importStylesheet' => ['bool', 'stylesheet'=>'object'], +'XSLTProcessor::registerPHPFunctions' => ['void', 'functions='=>'mixed'], +'XSLTProcessor::removeParameter' => ['bool', 'namespace'=>'string', 'name'=>'string'], +'XSLTProcessor::setParameter' => ['bool', 'namespace'=>'string', 'name'=>'string', 'value'=>'string'], +'XSLTProcessor::setParameter\'1' => ['bool', 'namespace'=>'string', 'options'=>'array'], +'XSLTProcessor::setProfiling' => ['bool', 'filename'=>'?string'], +'XsltProcessor::setSecurityPrefs' => ['int', 'preferences'=>'int'], +'XSLTProcessor::transformToDoc' => ['DOMDocument|false', 'document'=>'DOMNode'], +'XSLTProcessor::transformToURI' => ['int', 'document'=>'DOMDocument', 'uri'=>'string'], +'XSLTProcessor::transformToXML' => ['string|false', 'document'=>'DOMDocument'], +'yac::__construct' => ['void', 'prefix='=>'string'], +'yac::__get' => ['mixed', 'key'=>'string'], +'yac::__set' => ['mixed', 'key'=>'string', 'value'=>'mixed'], +'yac::delete' => ['bool', 'keys'=>'string|array', 'ttl='=>'int'], +'yac::dump' => ['mixed', 'num'=>'int'], +'yac::flush' => ['bool'], +'yac::get' => ['mixed', 'key'=>'string|array', 'cas='=>'int'], +'yac::info' => ['array'], +'Yaconf::get' => ['mixed', 'name'=>'string', 'default_value='=>'mixed'], +'Yaconf::has' => ['bool', 'name'=>'string'], +'Yaf\Action_Abstract::__clone' => ['void'], +'Yaf\Action_Abstract::__construct' => ['void', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract', 'view'=>'Yaf\View_Interface', 'invokeArgs='=>'?array'], +'Yaf\Action_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'?array'], +'Yaf\Action_Abstract::execute' => ['mixed'], +'Yaf\Action_Abstract::forward' => ['bool', 'module'=>'string', 'controller='=>'string', 'action='=>'string', 'parameters='=>'?array'], +'Yaf\Action_Abstract::getController' => ['Yaf\Controller_Abstract'], +'Yaf\Action_Abstract::getInvokeArg' => ['mixed|null', 'name'=>'string'], +'Yaf\Action_Abstract::getInvokeArgs' => ['array'], +'Yaf\Action_Abstract::getModuleName' => ['string'], +'Yaf\Action_Abstract::getRequest' => ['Yaf\Request_Abstract'], +'Yaf\Action_Abstract::getResponse' => ['Yaf\Response_Abstract'], +'Yaf\Action_Abstract::getView' => ['Yaf\View_Interface'], +'Yaf\Action_Abstract::getViewpath' => ['string'], +'Yaf\Action_Abstract::init' => [''], +'Yaf\Action_Abstract::initView' => ['Yaf\Response_Abstract', 'options='=>'?array'], +'Yaf\Action_Abstract::redirect' => ['bool', 'url'=>'string'], +'Yaf\Action_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'?array'], +'Yaf\Action_Abstract::setViewpath' => ['bool', 'view_directory'=>'string'], +'Yaf\Application::__clone' => ['void'], +'Yaf\Application::__construct' => ['void', 'config'=>'array|string', 'envrion='=>'string'], +'Yaf\Application::__destruct' => ['void'], +'Yaf\Application::__sleep' => ['string[]'], +'Yaf\Application::__wakeup' => ['void'], +'Yaf\Application::app' => ['?Yaf\Application'], +'Yaf\Application::bootstrap' => ['Yaf\Application', 'bootstrap='=>'?Yaf\Bootstrap_Abstract'], +'Yaf\Application::clearLastError' => ['void'], +'Yaf\Application::environ' => ['string'], +'Yaf\Application::execute' => ['void', 'entry'=>'callable', '_='=>'string'], +'Yaf\Application::getAppDirectory' => ['string'], +'Yaf\Application::getConfig' => ['Yaf\Config_Abstract'], +'Yaf\Application::getDispatcher' => ['Yaf\Dispatcher'], +'Yaf\Application::getLastErrorMsg' => ['string'], +'Yaf\Application::getLastErrorNo' => ['int'], +'Yaf\Application::getModules' => ['array'], +'Yaf\Application::run' => ['void'], +'Yaf\Application::setAppDirectory' => ['Yaf\Application', 'directory'=>'string'], +'Yaf\Config\Ini::__construct' => ['void', 'config_file'=>'string', 'section='=>'string'], +'Yaf\Config\Ini::__get' => ['', 'name='=>'mixed'], +'Yaf\Config\Ini::__isset' => ['', 'name'=>'string'], +'Yaf\Config\Ini::__set' => ['void', 'name'=>'', 'value'=>''], +'Yaf\Config\Ini::count' => ['int'], +'Yaf\Config\Ini::current' => ['mixed'], +'Yaf\Config\Ini::get' => ['mixed', 'name='=>'mixed'], +'Yaf\Config\Ini::key' => ['int|string'], +'Yaf\Config\Ini::next' => ['void'], +'Yaf\Config\Ini::offsetExists' => ['bool', 'name'=>'mixed'], +'Yaf\Config\Ini::offsetGet' => ['mixed', 'name'=>'mixed'], +'Yaf\Config\Ini::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], +'Yaf\Config\Ini::offsetUnset' => ['void', 'name'=>'mixed'], +'Yaf\Config\Ini::readonly' => ['bool'], +'Yaf\Config\Ini::rewind' => ['void'], +'Yaf\Config\Ini::set' => ['Yaf\Config_Abstract', 'name'=>'string', 'value'=>'mixed'], +'Yaf\Config\Ini::toArray' => ['array'], +'Yaf\Config\Ini::valid' => ['bool'], +'Yaf\Config\Simple::__construct' => ['void', 'array'=>'array', 'readonly='=>'string'], +'Yaf\Config\Simple::__get' => ['', 'name='=>'mixed'], +'Yaf\Config\Simple::__isset' => ['', 'name'=>'string'], +'Yaf\Config\Simple::__set' => ['void', 'name'=>'', 'value'=>''], +'Yaf\Config\Simple::count' => ['int'], +'Yaf\Config\Simple::current' => ['mixed'], +'Yaf\Config\Simple::get' => ['mixed', 'name='=>'mixed'], +'Yaf\Config\Simple::key' => ['int|string'], +'Yaf\Config\Simple::next' => ['void'], +'Yaf\Config\Simple::offsetExists' => ['bool', 'name'=>'mixed'], +'Yaf\Config\Simple::offsetGet' => ['mixed', 'name'=>'mixed'], +'Yaf\Config\Simple::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], +'Yaf\Config\Simple::offsetUnset' => ['void', 'name'=>'mixed'], +'Yaf\Config\Simple::readonly' => ['bool'], +'Yaf\Config\Simple::rewind' => ['void'], +'Yaf\Config\Simple::set' => ['Yaf\Config_Abstract', 'name'=>'string', 'value'=>'mixed'], +'Yaf\Config\Simple::toArray' => ['array'], +'Yaf\Config\Simple::valid' => ['bool'], +'Yaf\Config_Abstract::__construct' => ['void'], +'Yaf\Config_Abstract::get' => ['mixed', 'name='=>'string'], +'Yaf\Config_Abstract::readonly' => ['bool'], +'Yaf\Config_Abstract::set' => ['Yaf\Config_Abstract', 'name'=>'string', 'value'=>'mixed'], +'Yaf\Config_Abstract::toArray' => ['array'], +'Yaf\Controller_Abstract::__clone' => ['void'], +'Yaf\Controller_Abstract::__construct' => ['void', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract', 'view'=>'Yaf\View_Interface', 'invokeArgs='=>'?array'], +'Yaf\Controller_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'?array'], +'Yaf\Controller_Abstract::forward' => ['bool', 'module'=>'string', 'controller='=>'string', 'action='=>'string', 'parameters='=>'?array'], +'Yaf\Controller_Abstract::getInvokeArg' => ['mixed|null', 'name'=>'string'], +'Yaf\Controller_Abstract::getInvokeArgs' => ['array'], +'Yaf\Controller_Abstract::getModuleName' => ['string'], +'Yaf\Controller_Abstract::getRequest' => ['Yaf\Request_Abstract'], +'Yaf\Controller_Abstract::getResponse' => ['Yaf\Response_Abstract'], +'Yaf\Controller_Abstract::getView' => ['Yaf\View_Interface'], +'Yaf\Controller_Abstract::getViewpath' => ['string'], +'Yaf\Controller_Abstract::init' => [''], +'Yaf\Controller_Abstract::initView' => ['Yaf\Response_Abstract', 'options='=>'?array'], +'Yaf\Controller_Abstract::redirect' => ['bool', 'url'=>'string'], +'Yaf\Controller_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'?array'], +'Yaf\Controller_Abstract::setViewpath' => ['bool', 'view_directory'=>'string'], +'Yaf\Dispatcher::__clone' => ['void'], +'Yaf\Dispatcher::__construct' => ['void'], +'Yaf\Dispatcher::__sleep' => ['list'], +'Yaf\Dispatcher::__wakeup' => ['void'], +'Yaf\Dispatcher::autoRender' => ['Yaf\Dispatcher', 'flag='=>'bool'], +'Yaf\Dispatcher::catchException' => ['Yaf\Dispatcher', 'flag='=>'bool'], +'Yaf\Dispatcher::disableView' => ['bool'], +'Yaf\Dispatcher::dispatch' => ['Yaf\Response_Abstract', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Dispatcher::enableView' => ['Yaf\Dispatcher'], +'Yaf\Dispatcher::flushInstantly' => ['Yaf\Dispatcher', 'flag='=>'bool'], +'Yaf\Dispatcher::getApplication' => ['Yaf\Application'], +'Yaf\Dispatcher::getInstance' => ['Yaf\Dispatcher'], +'Yaf\Dispatcher::getRequest' => ['Yaf\Request_Abstract'], +'Yaf\Dispatcher::getRouter' => ['Yaf\Router'], +'Yaf\Dispatcher::initView' => ['Yaf\View_Interface', 'templates_dir'=>'string', 'options='=>'?array'], +'Yaf\Dispatcher::registerPlugin' => ['Yaf\Dispatcher', 'plugin'=>'Yaf\Plugin_Abstract'], +'Yaf\Dispatcher::returnResponse' => ['Yaf\Dispatcher', 'flag'=>'bool'], +'Yaf\Dispatcher::setDefaultAction' => ['Yaf\Dispatcher', 'action'=>'string'], +'Yaf\Dispatcher::setDefaultController' => ['Yaf\Dispatcher', 'controller'=>'string'], +'Yaf\Dispatcher::setDefaultModule' => ['Yaf\Dispatcher', 'module'=>'string'], +'Yaf\Dispatcher::setErrorHandler' => ['Yaf\Dispatcher', 'callback'=>'callable', 'error_types'=>'int'], +'Yaf\Dispatcher::setRequest' => ['Yaf\Dispatcher', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Dispatcher::setView' => ['Yaf\Dispatcher', 'view'=>'Yaf\View_Interface'], +'Yaf\Dispatcher::throwException' => ['Yaf\Dispatcher', 'flag='=>'bool'], +'Yaf\Loader::__clone' => ['void'], +'Yaf\Loader::__construct' => ['void'], +'Yaf\Loader::__sleep' => ['list'], +'Yaf\Loader::__wakeup' => ['void'], +'Yaf\Loader::autoload' => ['bool', 'class_name'=>'string'], +'Yaf\Loader::clearLocalNamespace' => [''], +'Yaf\Loader::getInstance' => ['Yaf\Loader', 'local_library_path='=>'string', 'global_library_path='=>'string'], +'Yaf\Loader::getLibraryPath' => ['string', 'is_global='=>'bool'], +'Yaf\Loader::getLocalNamespace' => ['string'], +'Yaf\Loader::import' => ['bool', 'file'=>'string'], +'Yaf\Loader::isLocalName' => ['bool', 'class_name'=>'string'], +'Yaf\Loader::registerLocalNamespace' => ['bool', 'name_prefix'=>'string|string[]'], +'Yaf\Loader::setLibraryPath' => ['Yaf\Loader', 'directory'=>'string', 'global='=>'bool'], +'Yaf\Plugin_Abstract::dispatchLoopShutdown' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Plugin_Abstract::dispatchLoopStartup' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Plugin_Abstract::postDispatch' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Plugin_Abstract::preDispatch' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Plugin_Abstract::preResponse' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Plugin_Abstract::routerShutdown' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Plugin_Abstract::routerStartup' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], +'Yaf\Registry::__clone' => ['void'], +'Yaf\Registry::__construct' => ['void'], +'Yaf\Registry::del' => ['bool|void', 'name'=>'string'], +'Yaf\Registry::get' => ['mixed', 'name'=>'string'], +'Yaf\Registry::has' => ['bool', 'name'=>'string'], +'Yaf\Registry::set' => ['bool', 'name'=>'string', 'value'=>'mixed'], +'Yaf\Request\Http::__clone' => ['void'], +'Yaf\Request\Http::__construct' => ['void', 'request_uri'=>'string', 'base_uri'=>'string'], +'Yaf\Request\Http::get' => ['mixed', 'name'=>'string', 'default='=>'string'], +'Yaf\Request\Http::getActionName' => ['string'], +'Yaf\Request\Http::getBaseUri' => ['string'], +'Yaf\Request\Http::getControllerName' => ['string'], +'Yaf\Request\Http::getCookie' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getException' => ['Yaf\Exception'], +'Yaf\Request\Http::getFiles' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getLanguage' => ['string'], +'Yaf\Request\Http::getMethod' => ['string'], +'Yaf\Request\Http::getModuleName' => ['string'], +'Yaf\Request\Http::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getParams' => ['array'], +'Yaf\Request\Http::getPost' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getQuery' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getRequest' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::getRequestUri' => ['string'], +'Yaf\Request\Http::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Http::isCli' => ['bool'], +'Yaf\Request\Http::isDispatched' => ['bool'], +'Yaf\Request\Http::isGet' => ['bool'], +'Yaf\Request\Http::isHead' => ['bool'], +'Yaf\Request\Http::isOptions' => ['bool'], +'Yaf\Request\Http::isPost' => ['bool'], +'Yaf\Request\Http::isPut' => ['bool'], +'Yaf\Request\Http::isRouted' => ['bool'], +'Yaf\Request\Http::isXmlHttpRequest' => ['bool'], +'Yaf\Request\Http::setActionName' => ['Yaf\Request_Abstract|bool', 'action'=>'string'], +'Yaf\Request\Http::setBaseUri' => ['bool', 'uri'=>'string'], +'Yaf\Request\Http::setControllerName' => ['Yaf\Request_Abstract|bool', 'controller'=>'string'], +'Yaf\Request\Http::setDispatched' => ['bool'], +'Yaf\Request\Http::setModuleName' => ['Yaf\Request_Abstract|bool', 'module'=>'string'], +'Yaf\Request\Http::setParam' => ['Yaf\Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], +'Yaf\Request\Http::setRequestUri' => ['', 'uri'=>'string'], +'Yaf\Request\Http::setRouted' => ['Yaf\Request_Abstract|bool'], +'Yaf\Request\Simple::__clone' => ['void'], +'Yaf\Request\Simple::__construct' => ['void', 'method'=>'string', 'controller'=>'string', 'action'=>'string', 'params='=>'string'], +'Yaf\Request\Simple::get' => ['mixed', 'name'=>'string', 'default='=>'string'], +'Yaf\Request\Simple::getActionName' => ['string'], +'Yaf\Request\Simple::getBaseUri' => ['string'], +'Yaf\Request\Simple::getControllerName' => ['string'], +'Yaf\Request\Simple::getCookie' => ['mixed', 'name='=>'string', 'default='=>'string'], +'Yaf\Request\Simple::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Simple::getException' => ['Yaf\Exception'], +'Yaf\Request\Simple::getFiles' => ['array', 'name='=>'mixed', 'default='=>'null'], +'Yaf\Request\Simple::getLanguage' => ['string'], +'Yaf\Request\Simple::getMethod' => ['string'], +'Yaf\Request\Simple::getModuleName' => ['string'], +'Yaf\Request\Simple::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'Yaf\Request\Simple::getParams' => ['array'], +'Yaf\Request\Simple::getPost' => ['mixed', 'name='=>'string', 'default='=>'string'], +'Yaf\Request\Simple::getQuery' => ['mixed', 'name='=>'string', 'default='=>'string'], +'Yaf\Request\Simple::getRequest' => ['mixed', 'name='=>'string', 'default='=>'string'], +'Yaf\Request\Simple::getRequestUri' => ['string'], +'Yaf\Request\Simple::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request\Simple::isCli' => ['bool'], +'Yaf\Request\Simple::isDispatched' => ['bool'], +'Yaf\Request\Simple::isGet' => ['bool'], +'Yaf\Request\Simple::isHead' => ['bool'], +'Yaf\Request\Simple::isOptions' => ['bool'], +'Yaf\Request\Simple::isPost' => ['bool'], +'Yaf\Request\Simple::isPut' => ['bool'], +'Yaf\Request\Simple::isRouted' => ['bool'], +'Yaf\Request\Simple::isXmlHttpRequest' => ['bool'], +'Yaf\Request\Simple::setActionName' => ['Yaf\Request_Abstract|bool', 'action'=>'string'], +'Yaf\Request\Simple::setBaseUri' => ['bool', 'uri'=>'string'], +'Yaf\Request\Simple::setControllerName' => ['Yaf\Request_Abstract|bool', 'controller'=>'string'], +'Yaf\Request\Simple::setDispatched' => ['bool'], +'Yaf\Request\Simple::setModuleName' => ['Yaf\Request_Abstract|bool', 'module'=>'string'], +'Yaf\Request\Simple::setParam' => ['Yaf\Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], +'Yaf\Request\Simple::setRequestUri' => ['', 'uri'=>'string'], +'Yaf\Request\Simple::setRouted' => ['Yaf\Request_Abstract|bool'], +'Yaf\Request_Abstract::getActionName' => ['string'], +'Yaf\Request_Abstract::getBaseUri' => ['string'], +'Yaf\Request_Abstract::getControllerName' => ['string'], +'Yaf\Request_Abstract::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request_Abstract::getException' => ['Yaf\Exception'], +'Yaf\Request_Abstract::getLanguage' => ['string'], +'Yaf\Request_Abstract::getMethod' => ['string'], +'Yaf\Request_Abstract::getModuleName' => ['string'], +'Yaf\Request_Abstract::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'Yaf\Request_Abstract::getParams' => ['array'], +'Yaf\Request_Abstract::getRequestUri' => ['string'], +'Yaf\Request_Abstract::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf\Request_Abstract::isCli' => ['bool'], +'Yaf\Request_Abstract::isDispatched' => ['bool'], +'Yaf\Request_Abstract::isGet' => ['bool'], +'Yaf\Request_Abstract::isHead' => ['bool'], +'Yaf\Request_Abstract::isOptions' => ['bool'], +'Yaf\Request_Abstract::isPost' => ['bool'], +'Yaf\Request_Abstract::isPut' => ['bool'], +'Yaf\Request_Abstract::isRouted' => ['bool'], +'Yaf\Request_Abstract::isXmlHttpRequest' => ['bool'], +'Yaf\Request_Abstract::setActionName' => ['Yaf\Request_Abstract|bool', 'action'=>'string'], +'Yaf\Request_Abstract::setBaseUri' => ['bool', 'uri'=>'string'], +'Yaf\Request_Abstract::setControllerName' => ['Yaf\Request_Abstract|bool', 'controller'=>'string'], +'Yaf\Request_Abstract::setDispatched' => ['bool'], +'Yaf\Request_Abstract::setModuleName' => ['Yaf\Request_Abstract|bool', 'module'=>'string'], +'Yaf\Request_Abstract::setParam' => ['Yaf\Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], +'Yaf\Request_Abstract::setRequestUri' => ['', 'uri'=>'string'], +'Yaf\Request_Abstract::setRouted' => ['Yaf\Request_Abstract|bool'], +'Yaf\Response\Cli::__clone' => ['void'], +'Yaf\Response\Cli::__construct' => ['void'], +'Yaf\Response\Cli::__destruct' => ['void'], +'Yaf\Response\Cli::__toString' => ['string'], +'Yaf\Response\Cli::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response\Cli::clearBody' => ['bool', 'key='=>'string'], +'Yaf\Response\Cli::getBody' => ['mixed', 'key='=>'?string'], +'Yaf\Response\Cli::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response\Cli::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response\Http::__clone' => ['void'], +'Yaf\Response\Http::__construct' => ['void'], +'Yaf\Response\Http::__destruct' => ['void'], +'Yaf\Response\Http::__toString' => ['string'], +'Yaf\Response\Http::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response\Http::clearBody' => ['bool', 'key='=>'string'], +'Yaf\Response\Http::clearHeaders' => ['Yaf\Response_Abstract|false', 'name='=>'string'], +'Yaf\Response\Http::getBody' => ['mixed', 'key='=>'?string'], +'Yaf\Response\Http::getHeader' => ['mixed', 'name='=>'string'], +'Yaf\Response\Http::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response\Http::response' => ['bool'], +'Yaf\Response\Http::setAllHeaders' => ['bool', 'headers'=>'array'], +'Yaf\Response\Http::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response\Http::setHeader' => ['bool', 'name'=>'string', 'value'=>'string', 'replace='=>'bool', 'response_code='=>'int'], +'Yaf\Response\Http::setRedirect' => ['bool', 'url'=>'string'], +'Yaf\Response_Abstract::__clone' => ['void'], +'Yaf\Response_Abstract::__construct' => ['void'], +'Yaf\Response_Abstract::__destruct' => ['void'], +'Yaf\Response_Abstract::__toString' => ['void'], +'Yaf\Response_Abstract::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response_Abstract::clearBody' => ['bool', 'key='=>'string'], +'Yaf\Response_Abstract::getBody' => ['mixed', 'key='=>'?string'], +'Yaf\Response_Abstract::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Response_Abstract::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf\Route\Map::__construct' => ['void', 'controller_prefer='=>'bool', 'delimiter='=>'string'], +'Yaf\Route\Map::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route\Map::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Route\Regex::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'map='=>'?array', 'verify='=>'?array', 'reverse='=>'string'], +'Yaf\Route\Regex::addConfig' => ['Yaf\Router|bool', 'config'=>'Yaf\Config_Abstract'], +'Yaf\Route\Regex::addRoute' => ['Yaf\Router|bool', 'name'=>'string', 'route'=>'Yaf\Route_Interface'], +'Yaf\Route\Regex::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route\Regex::getCurrentRoute' => ['string'], +'Yaf\Route\Regex::getRoute' => ['Yaf\Route_Interface', 'name'=>'string'], +'Yaf\Route\Regex::getRoutes' => ['Yaf\Route_Interface[]'], +'Yaf\Route\Regex::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Route\Rewrite::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'verify='=>'?array', 'reverse='=>'string'], +'Yaf\Route\Rewrite::addConfig' => ['Yaf\Router|bool', 'config'=>'Yaf\Config_Abstract'], +'Yaf\Route\Rewrite::addRoute' => ['Yaf\Router|bool', 'name'=>'string', 'route'=>'Yaf\Route_Interface'], +'Yaf\Route\Rewrite::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route\Rewrite::getCurrentRoute' => ['string'], +'Yaf\Route\Rewrite::getRoute' => ['Yaf\Route_Interface', 'name'=>'string'], +'Yaf\Route\Rewrite::getRoutes' => ['Yaf\Route_Interface[]'], +'Yaf\Route\Rewrite::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Route\Simple::__construct' => ['void', 'module_name'=>'string', 'controller_name'=>'string', 'action_name'=>'string'], +'Yaf\Route\Simple::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route\Simple::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Route\Supervar::__construct' => ['void', 'supervar_name'=>'string'], +'Yaf\Route\Supervar::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route\Supervar::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Route_Interface::__construct' => ['Yaf\Route_Interface'], +'Yaf\Route_Interface::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route_Interface::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Route_Static::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], +'Yaf\Route_Static::match' => ['bool', 'uri'=>'string'], +'Yaf\Route_Static::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Router::__construct' => ['void'], +'Yaf\Router::addConfig' => ['Yaf\Router|false', 'config'=>'Yaf\Config_Abstract'], +'Yaf\Router::addRoute' => ['Yaf\Router|false', 'name'=>'string', 'route'=>'Yaf\Route_Interface'], +'Yaf\Router::getCurrentRoute' => ['string'], +'Yaf\Router::getRoute' => ['Yaf\Route_Interface', 'name'=>'string'], +'Yaf\Router::getRoutes' => ['Yaf\Route_Interface[]'], +'Yaf\Router::route' => ['Yaf\Router|false', 'request'=>'Yaf\Request_Abstract'], +'Yaf\Session::__clone' => ['void'], +'Yaf\Session::__construct' => ['void'], +'Yaf\Session::__get' => ['void', 'name'=>''], +'Yaf\Session::__isset' => ['void', 'name'=>''], +'Yaf\Session::__set' => ['void', 'name'=>'', 'value'=>''], +'Yaf\Session::__sleep' => ['list'], +'Yaf\Session::__unset' => ['void', 'name'=>''], +'Yaf\Session::__wakeup' => ['void'], +'Yaf\Session::count' => ['int'], +'Yaf\Session::current' => ['mixed'], +'Yaf\Session::del' => ['Yaf\Session|false', 'name'=>'string'], +'Yaf\Session::get' => ['mixed', 'name'=>'string'], +'Yaf\Session::getInstance' => ['Yaf\Session'], +'Yaf\Session::has' => ['bool', 'name'=>'string'], +'Yaf\Session::key' => ['int|string'], +'Yaf\Session::next' => ['void'], +'Yaf\Session::offsetExists' => ['bool', 'name'=>'mixed'], +'Yaf\Session::offsetGet' => ['mixed', 'name'=>'mixed'], +'Yaf\Session::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], +'Yaf\Session::offsetUnset' => ['void', 'name'=>'mixed'], +'Yaf\Session::rewind' => ['void'], +'Yaf\Session::set' => ['Yaf\Session|false', 'name'=>'string', 'value'=>'mixed'], +'Yaf\Session::start' => ['Yaf\Session'], +'Yaf\Session::valid' => ['bool'], +'Yaf\View\Simple::__construct' => ['void', 'template_dir'=>'string', 'options='=>'?array'], +'Yaf\View\Simple::__get' => ['mixed', 'name='=>'null'], +'Yaf\View\Simple::__isset' => ['', 'name'=>'string'], +'Yaf\View\Simple::__set' => ['void', 'name'=>'string', 'value='=>'mixed'], +'Yaf\View\Simple::assign' => ['Yaf\View\Simple', 'name'=>'array|string', 'value='=>'mixed'], +'Yaf\View\Simple::assignRef' => ['Yaf\View\Simple', 'name'=>'string', '&value'=>'mixed'], +'Yaf\View\Simple::clear' => ['Yaf\View\Simple', 'name='=>'string'], +'Yaf\View\Simple::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'?array'], +'Yaf\View\Simple::eval' => ['bool|void', 'tpl_str'=>'string', 'vars='=>'?array'], +'Yaf\View\Simple::getScriptPath' => ['string'], +'Yaf\View\Simple::render' => ['string|void', 'tpl'=>'string', 'tpl_vars='=>'?array'], +'Yaf\View\Simple::setScriptPath' => ['Yaf\View\Simple', 'template_dir'=>'string'], +'Yaf\View_Interface::assign' => ['bool', 'name'=>'array|string', 'value'=>'mixed'], +'Yaf\View_Interface::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'?array'], +'Yaf\View_Interface::getScriptPath' => ['string'], +'Yaf\View_Interface::render' => ['string', 'tpl'=>'string', 'tpl_vars='=>'?array'], +'Yaf\View_Interface::setScriptPath' => ['void', 'template_dir'=>'string'], +'Yaf_Action_Abstract::__clone' => ['void'], +'Yaf_Action_Abstract::__construct' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract', 'view'=>'Yaf_View_Interface', 'invokeArgs='=>'?array'], +'Yaf_Action_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'?array'], +'Yaf_Action_Abstract::execute' => ['mixed', 'arg='=>'mixed', '...args='=>'mixed'], +'Yaf_Action_Abstract::forward' => ['bool', 'module'=>'string', 'controller='=>'string', 'action='=>'string', 'parameters='=>'?array'], +'Yaf_Action_Abstract::getController' => ['Yaf_Controller_Abstract'], +'Yaf_Action_Abstract::getControllerName' => ['string'], +'Yaf_Action_Abstract::getInvokeArg' => ['mixed|null', 'name'=>'string'], +'Yaf_Action_Abstract::getInvokeArgs' => ['array'], +'Yaf_Action_Abstract::getModuleName' => ['string'], +'Yaf_Action_Abstract::getRequest' => ['Yaf_Request_Abstract'], +'Yaf_Action_Abstract::getResponse' => ['Yaf_Response_Abstract'], +'Yaf_Action_Abstract::getView' => ['Yaf_View_Interface'], +'Yaf_Action_Abstract::getViewpath' => ['string'], +'Yaf_Action_Abstract::init' => [''], +'Yaf_Action_Abstract::initView' => ['Yaf_Response_Abstract', 'options='=>'?array'], +'Yaf_Action_Abstract::redirect' => ['bool', 'url'=>'string'], +'Yaf_Action_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'?array'], +'Yaf_Action_Abstract::setViewpath' => ['bool', 'view_directory'=>'string'], +'Yaf_Application::__clone' => ['void'], +'Yaf_Application::__construct' => ['void', 'config'=>'mixed', 'envrion='=>'string'], +'Yaf_Application::__destruct' => ['void'], +'Yaf_Application::__sleep' => ['list'], +'Yaf_Application::__wakeup' => ['void'], +'Yaf_Application::app' => ['?Yaf_Application'], +'Yaf_Application::bootstrap' => ['Yaf_Application', 'bootstrap='=>'Yaf_Bootstrap_Abstract'], +'Yaf_Application::clearLastError' => ['Yaf_Application'], +'Yaf_Application::environ' => ['string'], +'Yaf_Application::execute' => ['void', 'entry'=>'callable', '...args'=>'string'], +'Yaf_Application::getAppDirectory' => ['Yaf_Application'], +'Yaf_Application::getConfig' => ['Yaf_Config_Abstract'], +'Yaf_Application::getDispatcher' => ['Yaf_Dispatcher'], +'Yaf_Application::getLastErrorMsg' => ['string'], +'Yaf_Application::getLastErrorNo' => ['int'], +'Yaf_Application::getModules' => ['array'], +'Yaf_Application::run' => ['void'], +'Yaf_Application::setAppDirectory' => ['Yaf_Application', 'directory'=>'string'], +'Yaf_Config_Abstract::__construct' => ['void'], +'Yaf_Config_Abstract::get' => ['mixed', 'name'=>'string', 'value'=>'mixed'], +'Yaf_Config_Abstract::readonly' => ['bool'], +'Yaf_Config_Abstract::set' => ['Yaf_Config_Abstract'], +'Yaf_Config_Abstract::toArray' => ['array'], +'Yaf_Config_Ini::__construct' => ['void', 'config_file'=>'string', 'section='=>'string'], +'Yaf_Config_Ini::__get' => ['void', 'name='=>'string'], +'Yaf_Config_Ini::__isset' => ['void', 'name'=>'string'], +'Yaf_Config_Ini::__set' => ['void', 'name'=>'string', 'value'=>'mixed'], +'Yaf_Config_Ini::count' => ['void'], +'Yaf_Config_Ini::current' => ['void'], +'Yaf_Config_Ini::get' => ['mixed', 'name='=>'mixed'], +'Yaf_Config_Ini::key' => ['void'], +'Yaf_Config_Ini::next' => ['void'], +'Yaf_Config_Ini::offsetExists' => ['void', 'name'=>'string'], +'Yaf_Config_Ini::offsetGet' => ['void', 'name'=>'string'], +'Yaf_Config_Ini::offsetSet' => ['void', 'name'=>'string', 'value'=>'string'], +'Yaf_Config_Ini::offsetUnset' => ['void', 'name'=>'string'], +'Yaf_Config_Ini::readonly' => ['void'], +'Yaf_Config_Ini::rewind' => ['void'], +'Yaf_Config_Ini::set' => ['Yaf_Config_Abstract', 'name'=>'string', 'value'=>'mixed'], +'Yaf_Config_Ini::toArray' => ['array'], +'Yaf_Config_Ini::valid' => ['void'], +'Yaf_Config_Simple::__construct' => ['void', 'config_file'=>'string', 'section='=>'string'], +'Yaf_Config_Simple::__get' => ['void', 'name='=>'string'], +'Yaf_Config_Simple::__isset' => ['void', 'name'=>'string'], +'Yaf_Config_Simple::__set' => ['void', 'name'=>'string', 'value'=>'string'], +'Yaf_Config_Simple::count' => ['void'], +'Yaf_Config_Simple::current' => ['void'], +'Yaf_Config_Simple::get' => ['mixed', 'name='=>'mixed'], +'Yaf_Config_Simple::key' => ['void'], +'Yaf_Config_Simple::next' => ['void'], +'Yaf_Config_Simple::offsetExists' => ['void', 'name'=>'string'], +'Yaf_Config_Simple::offsetGet' => ['void', 'name'=>'string'], +'Yaf_Config_Simple::offsetSet' => ['void', 'name'=>'string', 'value'=>'string'], +'Yaf_Config_Simple::offsetUnset' => ['void', 'name'=>'string'], +'Yaf_Config_Simple::readonly' => ['void'], +'Yaf_Config_Simple::rewind' => ['void'], +'Yaf_Config_Simple::set' => ['Yaf_Config_Abstract', 'name'=>'string', 'value'=>'mixed'], +'Yaf_Config_Simple::toArray' => ['array'], +'Yaf_Config_Simple::valid' => ['void'], +'Yaf_Controller_Abstract::__clone' => ['void'], +'Yaf_Controller_Abstract::__construct' => ['void'], +'Yaf_Controller_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'array'], +'Yaf_Controller_Abstract::forward' => ['void', 'action'=>'string', 'parameters='=>'array'], +'Yaf_Controller_Abstract::forward\'1' => ['void', 'controller'=>'string', 'action'=>'string', 'parameters='=>'array'], +'Yaf_Controller_Abstract::forward\'2' => ['void', 'module'=>'string', 'controller'=>'string', 'action'=>'string', 'parameters='=>'array'], +'Yaf_Controller_Abstract::getInvokeArg' => ['void', 'name'=>'string'], +'Yaf_Controller_Abstract::getInvokeArgs' => ['void'], +'Yaf_Controller_Abstract::getModuleName' => ['string'], +'Yaf_Controller_Abstract::getName' => ['string'], +'Yaf_Controller_Abstract::getRequest' => ['Yaf_Request_Abstract'], +'Yaf_Controller_Abstract::getResponse' => ['Yaf_Response_Abstract'], +'Yaf_Controller_Abstract::getView' => ['Yaf_View_Interface'], +'Yaf_Controller_Abstract::getViewpath' => ['void'], +'Yaf_Controller_Abstract::init' => ['void'], +'Yaf_Controller_Abstract::initView' => ['void', 'options='=>'array'], +'Yaf_Controller_Abstract::redirect' => ['bool', 'url'=>'string'], +'Yaf_Controller_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'array'], +'Yaf_Controller_Abstract::setViewpath' => ['void', 'view_directory'=>'string'], +'Yaf_Dispatcher::__clone' => ['void'], +'Yaf_Dispatcher::__construct' => ['void'], +'Yaf_Dispatcher::__sleep' => ['list'], +'Yaf_Dispatcher::__wakeup' => ['void'], +'Yaf_Dispatcher::autoRender' => ['Yaf_Dispatcher', 'flag='=>'bool'], +'Yaf_Dispatcher::catchException' => ['Yaf_Dispatcher', 'flag='=>'bool'], +'Yaf_Dispatcher::disableView' => ['bool'], +'Yaf_Dispatcher::dispatch' => ['Yaf_Response_Abstract', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Dispatcher::enableView' => ['Yaf_Dispatcher'], +'Yaf_Dispatcher::flushInstantly' => ['Yaf_Dispatcher', 'flag='=>'bool'], +'Yaf_Dispatcher::getApplication' => ['Yaf_Application'], +'Yaf_Dispatcher::getDefaultAction' => ['string'], +'Yaf_Dispatcher::getDefaultController' => ['string'], +'Yaf_Dispatcher::getDefaultModule' => ['string'], +'Yaf_Dispatcher::getInstance' => ['Yaf_Dispatcher'], +'Yaf_Dispatcher::getRequest' => ['Yaf_Request_Abstract'], +'Yaf_Dispatcher::getRouter' => ['Yaf_Router'], +'Yaf_Dispatcher::initView' => ['Yaf_View_Interface', 'templates_dir'=>'string', 'options='=>'array'], +'Yaf_Dispatcher::registerPlugin' => ['Yaf_Dispatcher', 'plugin'=>'Yaf_Plugin_Abstract'], +'Yaf_Dispatcher::returnResponse' => ['Yaf_Dispatcher', 'flag'=>'bool'], +'Yaf_Dispatcher::setDefaultAction' => ['Yaf_Dispatcher', 'action'=>'string'], +'Yaf_Dispatcher::setDefaultController' => ['Yaf_Dispatcher', 'controller'=>'string'], +'Yaf_Dispatcher::setDefaultModule' => ['Yaf_Dispatcher', 'module'=>'string'], +'Yaf_Dispatcher::setErrorHandler' => ['Yaf_Dispatcher', 'callback'=>'callable', 'error_types'=>'int'], +'Yaf_Dispatcher::setRequest' => ['Yaf_Dispatcher', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Dispatcher::setView' => ['Yaf_Dispatcher', 'view'=>'Yaf_View_Interface'], +'Yaf_Dispatcher::throwException' => ['Yaf_Dispatcher', 'flag='=>'bool'], +'Yaf_Exception::__construct' => ['void'], +'Yaf_Exception::getPrevious' => ['void'], +'Yaf_Loader::__clone' => ['void'], +'Yaf_Loader::__construct' => ['void'], +'Yaf_Loader::__sleep' => ['list'], +'Yaf_Loader::__wakeup' => ['void'], +'Yaf_Loader::autoload' => ['void'], +'Yaf_Loader::clearLocalNamespace' => ['void'], +'Yaf_Loader::getInstance' => ['Yaf_Loader'], +'Yaf_Loader::getLibraryPath' => ['Yaf_Loader', 'is_global='=>'bool'], +'Yaf_Loader::getLocalNamespace' => ['void'], +'Yaf_Loader::getNamespacePath' => ['string', 'namespaces'=>'string'], +'Yaf_Loader::import' => ['bool'], +'Yaf_Loader::isLocalName' => ['bool'], +'Yaf_Loader::registerLocalNamespace' => ['void', 'prefix'=>'mixed'], +'Yaf_Loader::registerNamespace' => ['bool', 'namespaces'=>'string|array', 'path='=>'string'], +'Yaf_Loader::setLibraryPath' => ['Yaf_Loader', 'directory'=>'string', 'is_global='=>'bool'], +'Yaf_Plugin_Abstract::dispatchLoopShutdown' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Plugin_Abstract::dispatchLoopStartup' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Plugin_Abstract::postDispatch' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Plugin_Abstract::preDispatch' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Plugin_Abstract::preResponse' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Plugin_Abstract::routerShutdown' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Plugin_Abstract::routerStartup' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], +'Yaf_Registry::__clone' => ['void'], +'Yaf_Registry::__construct' => ['void'], +'Yaf_Registry::del' => ['void', 'name'=>'string'], +'Yaf_Registry::get' => ['mixed', 'name'=>'string'], +'Yaf_Registry::has' => ['bool', 'name'=>'string'], +'Yaf_Registry::set' => ['bool', 'name'=>'string', 'value'=>'string'], +'Yaf_Request_Abstract::clearParams' => ['bool'], +'Yaf_Request_Abstract::getActionName' => ['void'], +'Yaf_Request_Abstract::getBaseUri' => ['void'], +'Yaf_Request_Abstract::getControllerName' => ['void'], +'Yaf_Request_Abstract::getEnv' => ['void', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Abstract::getException' => ['void'], +'Yaf_Request_Abstract::getLanguage' => ['void'], +'Yaf_Request_Abstract::getMethod' => ['void'], +'Yaf_Request_Abstract::getModuleName' => ['void'], +'Yaf_Request_Abstract::getParam' => ['void', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Abstract::getParams' => ['void'], +'Yaf_Request_Abstract::getRequestUri' => ['void'], +'Yaf_Request_Abstract::getServer' => ['void', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Abstract::isCli' => ['void'], +'Yaf_Request_Abstract::isDispatched' => ['void'], +'Yaf_Request_Abstract::isGet' => ['void'], +'Yaf_Request_Abstract::isHead' => ['void'], +'Yaf_Request_Abstract::isOptions' => ['void'], +'Yaf_Request_Abstract::isPost' => ['void'], +'Yaf_Request_Abstract::isPut' => ['void'], +'Yaf_Request_Abstract::isRouted' => ['void'], +'Yaf_Request_Abstract::isXmlHttpRequest' => ['void'], +'Yaf_Request_Abstract::setActionName' => ['void', 'action'=>'string'], +'Yaf_Request_Abstract::setBaseUri' => ['bool', 'uir'=>'string'], +'Yaf_Request_Abstract::setControllerName' => ['void', 'controller'=>'string'], +'Yaf_Request_Abstract::setDispatched' => ['void'], +'Yaf_Request_Abstract::setModuleName' => ['void', 'module'=>'string'], +'Yaf_Request_Abstract::setParam' => ['void', 'name'=>'string', 'value='=>'string'], +'Yaf_Request_Abstract::setRequestUri' => ['void', 'uir'=>'string'], +'Yaf_Request_Abstract::setRouted' => ['void', 'flag='=>'string'], +'Yaf_Request_Http::__clone' => ['void'], +'Yaf_Request_Http::__construct' => ['void'], +'Yaf_Request_Http::get' => ['mixed', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Http::getActionName' => ['string'], +'Yaf_Request_Http::getBaseUri' => ['string'], +'Yaf_Request_Http::getControllerName' => ['string'], +'Yaf_Request_Http::getCookie' => ['mixed', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Http::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf_Request_Http::getException' => ['Yaf_Exception'], +'Yaf_Request_Http::getFiles' => ['void'], +'Yaf_Request_Http::getLanguage' => ['string'], +'Yaf_Request_Http::getMethod' => ['string'], +'Yaf_Request_Http::getModuleName' => ['string'], +'Yaf_Request_Http::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'Yaf_Request_Http::getParams' => ['array'], +'Yaf_Request_Http::getPost' => ['mixed', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Http::getQuery' => ['mixed', 'name'=>'string', 'default='=>'string'], +'Yaf_Request_Http::getRaw' => ['mixed'], +'Yaf_Request_Http::getRequest' => ['void'], +'Yaf_Request_Http::getRequestUri' => ['string'], +'Yaf_Request_Http::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf_Request_Http::isCli' => ['bool'], +'Yaf_Request_Http::isDispatched' => ['bool'], +'Yaf_Request_Http::isGet' => ['bool'], +'Yaf_Request_Http::isHead' => ['bool'], +'Yaf_Request_Http::isOptions' => ['bool'], +'Yaf_Request_Http::isPost' => ['bool'], +'Yaf_Request_Http::isPut' => ['bool'], +'Yaf_Request_Http::isRouted' => ['bool'], +'Yaf_Request_Http::isXmlHttpRequest' => ['bool'], +'Yaf_Request_Http::setActionName' => ['Yaf_Request_Abstract|bool', 'action'=>'string'], +'Yaf_Request_Http::setBaseUri' => ['bool', 'uri'=>'string'], +'Yaf_Request_Http::setControllerName' => ['Yaf_Request_Abstract|bool', 'controller'=>'string'], +'Yaf_Request_Http::setDispatched' => ['bool'], +'Yaf_Request_Http::setModuleName' => ['Yaf_Request_Abstract|bool', 'module'=>'string'], +'Yaf_Request_Http::setParam' => ['Yaf_Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], +'Yaf_Request_Http::setRequestUri' => ['', 'uri'=>'string'], +'Yaf_Request_Http::setRouted' => ['Yaf_Request_Abstract|bool'], +'Yaf_Request_Simple::__clone' => ['void'], +'Yaf_Request_Simple::__construct' => ['void'], +'Yaf_Request_Simple::get' => ['void'], +'Yaf_Request_Simple::getActionName' => ['string'], +'Yaf_Request_Simple::getBaseUri' => ['string'], +'Yaf_Request_Simple::getControllerName' => ['string'], +'Yaf_Request_Simple::getCookie' => ['void'], +'Yaf_Request_Simple::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf_Request_Simple::getException' => ['Yaf_Exception'], +'Yaf_Request_Simple::getFiles' => ['void'], +'Yaf_Request_Simple::getLanguage' => ['string'], +'Yaf_Request_Simple::getMethod' => ['string'], +'Yaf_Request_Simple::getModuleName' => ['string'], +'Yaf_Request_Simple::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], +'Yaf_Request_Simple::getParams' => ['array'], +'Yaf_Request_Simple::getPost' => ['void'], +'Yaf_Request_Simple::getQuery' => ['void'], +'Yaf_Request_Simple::getRequest' => ['void'], +'Yaf_Request_Simple::getRequestUri' => ['string'], +'Yaf_Request_Simple::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], +'Yaf_Request_Simple::isCli' => ['bool'], +'Yaf_Request_Simple::isDispatched' => ['bool'], +'Yaf_Request_Simple::isGet' => ['bool'], +'Yaf_Request_Simple::isHead' => ['bool'], +'Yaf_Request_Simple::isOptions' => ['bool'], +'Yaf_Request_Simple::isPost' => ['bool'], +'Yaf_Request_Simple::isPut' => ['bool'], +'Yaf_Request_Simple::isRouted' => ['bool'], +'Yaf_Request_Simple::isXmlHttpRequest' => ['void'], +'Yaf_Request_Simple::setActionName' => ['Yaf_Request_Abstract|bool', 'action'=>'string'], +'Yaf_Request_Simple::setBaseUri' => ['bool', 'uri'=>'string'], +'Yaf_Request_Simple::setControllerName' => ['Yaf_Request_Abstract|bool', 'controller'=>'string'], +'Yaf_Request_Simple::setDispatched' => ['bool'], +'Yaf_Request_Simple::setModuleName' => ['Yaf_Request_Abstract|bool', 'module'=>'string'], +'Yaf_Request_Simple::setParam' => ['Yaf_Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], +'Yaf_Request_Simple::setRequestUri' => ['', 'uri'=>'string'], +'Yaf_Request_Simple::setRouted' => ['Yaf_Request_Abstract|bool'], +'Yaf_Response_Abstract::__clone' => ['void'], +'Yaf_Response_Abstract::__construct' => ['void'], +'Yaf_Response_Abstract::__destruct' => ['void'], +'Yaf_Response_Abstract::__toString' => ['string'], +'Yaf_Response_Abstract::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Abstract::clearBody' => ['bool', 'key='=>'string'], +'Yaf_Response_Abstract::clearHeaders' => ['void'], +'Yaf_Response_Abstract::getBody' => ['mixed', 'key='=>'string'], +'Yaf_Response_Abstract::getHeader' => ['void'], +'Yaf_Response_Abstract::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Abstract::response' => ['void'], +'Yaf_Response_Abstract::setAllHeaders' => ['void'], +'Yaf_Response_Abstract::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Abstract::setHeader' => ['void'], +'Yaf_Response_Abstract::setRedirect' => ['void'], +'Yaf_Response_Cli::__clone' => ['void'], +'Yaf_Response_Cli::__construct' => ['void'], +'Yaf_Response_Cli::__destruct' => ['void'], +'Yaf_Response_Cli::__toString' => ['string'], +'Yaf_Response_Cli::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Cli::clearBody' => ['bool', 'key='=>'string'], +'Yaf_Response_Cli::getBody' => ['mixed', 'key='=>'?string'], +'Yaf_Response_Cli::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Cli::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Http::__clone' => ['void'], +'Yaf_Response_Http::__construct' => ['void'], +'Yaf_Response_Http::__destruct' => ['void'], +'Yaf_Response_Http::__toString' => ['string'], +'Yaf_Response_Http::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Http::clearBody' => ['bool', 'key='=>'string'], +'Yaf_Response_Http::clearHeaders' => ['Yaf_Response_Abstract|false', 'name='=>'string'], +'Yaf_Response_Http::getBody' => ['mixed', 'key='=>'?string'], +'Yaf_Response_Http::getHeader' => ['mixed', 'name='=>'string'], +'Yaf_Response_Http::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Http::response' => ['bool'], +'Yaf_Response_Http::setAllHeaders' => ['bool', 'headers'=>'array'], +'Yaf_Response_Http::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], +'Yaf_Response_Http::setHeader' => ['bool', 'name'=>'string', 'value'=>'string', 'replace='=>'bool', 'response_code='=>'int'], +'Yaf_Response_Http::setRedirect' => ['bool', 'url'=>'string'], +'Yaf_Route_Interface::__construct' => ['void'], +'Yaf_Route_Interface::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Interface::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Route_Map::__construct' => ['void', 'controller_prefer='=>'string', 'delimiter='=>'string'], +'Yaf_Route_Map::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Map::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Route_Regex::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'map='=>'array', 'verify='=>'array', 'reverse='=>'string'], +'Yaf_Route_Regex::addConfig' => ['Yaf_Router|bool', 'config'=>'Yaf_Config_Abstract'], +'Yaf_Route_Regex::addRoute' => ['Yaf_Router|bool', 'name'=>'string', 'route'=>'Yaf_Route_Interface'], +'Yaf_Route_Regex::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Regex::getCurrentRoute' => ['string'], +'Yaf_Route_Regex::getRoute' => ['Yaf_Route_Interface', 'name'=>'string'], +'Yaf_Route_Regex::getRoutes' => ['Yaf_Route_Interface[]'], +'Yaf_Route_Regex::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Route_Rewrite::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'verify='=>'array'], +'Yaf_Route_Rewrite::addConfig' => ['Yaf_Router|bool', 'config'=>'Yaf_Config_Abstract'], +'Yaf_Route_Rewrite::addRoute' => ['Yaf_Router|bool', 'name'=>'string', 'route'=>'Yaf_Route_Interface'], +'Yaf_Route_Rewrite::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Rewrite::getCurrentRoute' => ['string'], +'Yaf_Route_Rewrite::getRoute' => ['Yaf_Route_Interface', 'name'=>'string'], +'Yaf_Route_Rewrite::getRoutes' => ['Yaf_Route_Interface[]'], +'Yaf_Route_Rewrite::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Route_Simple::__construct' => ['void', 'module_name'=>'string', 'controller_name'=>'string', 'action_name'=>'string'], +'Yaf_Route_Simple::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Simple::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Route_Static::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Static::match' => ['void', 'uri'=>'string'], +'Yaf_Route_Static::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Route_Supervar::__construct' => ['void', 'supervar_name'=>'string'], +'Yaf_Route_Supervar::assemble' => ['string', 'info'=>'array', 'query='=>'array'], +'Yaf_Route_Supervar::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Router::__construct' => ['void'], +'Yaf_Router::addConfig' => ['bool', 'config'=>'Yaf_Config_Abstract'], +'Yaf_Router::addRoute' => ['bool', 'name'=>'string', 'route'=>'Yaf_Route_Interface'], +'Yaf_Router::getCurrentRoute' => ['string'], +'Yaf_Router::getRoute' => ['Yaf_Route_Interface', 'name'=>'string'], +'Yaf_Router::getRoutes' => ['mixed'], +'Yaf_Router::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], +'Yaf_Session::__clone' => ['void'], +'Yaf_Session::__construct' => ['void'], +'Yaf_Session::__get' => ['void', 'name'=>'string'], +'Yaf_Session::__isset' => ['void', 'name'=>'string'], +'Yaf_Session::__set' => ['void', 'name'=>'string', 'value'=>'string'], +'Yaf_Session::__sleep' => ['list'], +'Yaf_Session::__unset' => ['void', 'name'=>'string'], +'Yaf_Session::__wakeup' => ['void'], +'Yaf_Session::count' => ['void'], +'Yaf_Session::current' => ['void'], +'Yaf_Session::del' => ['void', 'name'=>'string'], +'Yaf_Session::get' => ['mixed', 'name'=>'string'], +'Yaf_Session::getInstance' => ['void'], +'Yaf_Session::has' => ['void', 'name'=>'string'], +'Yaf_Session::key' => ['void'], +'Yaf_Session::next' => ['void'], +'Yaf_Session::offsetExists' => ['void', 'name'=>'string'], +'Yaf_Session::offsetGet' => ['void', 'name'=>'string'], +'Yaf_Session::offsetSet' => ['void', 'name'=>'string', 'value'=>'string'], +'Yaf_Session::offsetUnset' => ['void', 'name'=>'string'], +'Yaf_Session::rewind' => ['void'], +'Yaf_Session::set' => ['Yaf_Session|bool', 'name'=>'string', 'value'=>'mixed'], +'Yaf_Session::start' => ['void'], +'Yaf_Session::valid' => ['void'], +'Yaf_View_Interface::assign' => ['bool', 'name'=>'string', 'value='=>'string'], +'Yaf_View_Interface::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'array'], +'Yaf_View_Interface::getScriptPath' => ['string'], +'Yaf_View_Interface::render' => ['string', 'tpl'=>'string', 'tpl_vars='=>'array'], +'Yaf_View_Interface::setScriptPath' => ['void', 'template_dir'=>'string'], +'Yaf_View_Simple::__construct' => ['void', 'tempalte_dir'=>'string', 'options='=>'array'], +'Yaf_View_Simple::__get' => ['void', 'name='=>'string'], +'Yaf_View_Simple::__isset' => ['void', 'name'=>'string'], +'Yaf_View_Simple::__set' => ['void', 'name'=>'string', 'value'=>'mixed'], +'Yaf_View_Simple::assign' => ['bool', 'name'=>'string', 'value='=>'mixed'], +'Yaf_View_Simple::assignRef' => ['bool', 'name'=>'string', '&rw_value'=>'mixed'], +'Yaf_View_Simple::clear' => ['bool', 'name='=>'string'], +'Yaf_View_Simple::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'array'], +'Yaf_View_Simple::eval' => ['string', 'tpl_content'=>'string', 'tpl_vars='=>'array'], +'Yaf_View_Simple::getScriptPath' => ['string'], +'Yaf_View_Simple::render' => ['string', 'tpl'=>'string', 'tpl_vars='=>'array'], +'Yaf_View_Simple::setScriptPath' => ['bool', 'template_dir'=>'string'], +'yaml_emit' => ['string', 'data'=>'mixed', 'encoding='=>'int', 'linebreak='=>'int', 'callbacks='=>'array'], +'yaml_emit_file' => ['bool', 'filename'=>'string', 'data'=>'mixed', 'encoding='=>'int', 'linebreak='=>'int', 'callbacks='=>'array'], +'yaml_parse' => ['mixed|false', 'input'=>'string', 'pos='=>'int', '&w_ndocs='=>'int', 'callbacks='=>'array'], +'yaml_parse_file' => ['mixed|false', 'filename'=>'string', 'pos='=>'int', '&w_ndocs='=>'int', 'callbacks='=>'array'], +'yaml_parse_url' => ['mixed|false', 'url'=>'string', 'pos='=>'int', '&w_ndocs='=>'int', 'callbacks='=>'array'], +'Yar_Client::__call' => ['void', 'method'=>'string', 'parameters'=>'array'], +'Yar_Client::__construct' => ['void', 'url'=>'string'], +'Yar_Client::setOpt' => ['Yar_Client|false', 'name'=>'int', 'value'=>'mixed'], +'Yar_Client_Exception::__clone' => ['void'], +'Yar_Client_Exception::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'Yar_Client_Exception::__toString' => ['string'], +'Yar_Client_Exception::__wakeup' => ['void'], +'Yar_Client_Exception::getCode' => ['int'], +'Yar_Client_Exception::getFile' => ['string'], +'Yar_Client_Exception::getLine' => ['int'], +'Yar_Client_Exception::getMessage' => ['string'], +'Yar_Client_Exception::getPrevious' => ['?Exception|?Throwable'], +'Yar_Client_Exception::getTrace' => ['list\',args?:array}>'], +'Yar_Client_Exception::getTraceAsString' => ['string'], +'Yar_Client_Exception::getType' => ['string'], +'Yar_Concurrent_Client::call' => ['int', 'uri'=>'string', 'method'=>'string', 'parameters'=>'array', 'callback='=>'callable'], +'Yar_Concurrent_Client::loop' => ['bool', 'callback='=>'callable', 'error_callback='=>'callable'], +'Yar_Concurrent_Client::reset' => ['bool'], +'Yar_Server::__construct' => ['void', 'object'=>'Object'], +'Yar_Server::handle' => ['bool'], +'Yar_Server_Exception::__clone' => ['void'], +'Yar_Server_Exception::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], +'Yar_Server_Exception::__toString' => ['string'], +'Yar_Server_Exception::__wakeup' => ['void'], +'Yar_Server_Exception::getCode' => ['int'], +'Yar_Server_Exception::getFile' => ['string'], +'Yar_Server_Exception::getLine' => ['int'], +'Yar_Server_Exception::getMessage' => ['string'], +'Yar_Server_Exception::getPrevious' => ['?Exception|?Throwable'], +'Yar_Server_Exception::getTrace' => ['list\',args?:array}>'], +'Yar_Server_Exception::getTraceAsString' => ['string'], +'Yar_Server_Exception::getType' => ['string'], +'yaz_addinfo' => ['string', 'id'=>'resource'], +'yaz_ccl_conf' => ['void', 'id'=>'resource', 'config'=>'array'], +'yaz_ccl_parse' => ['bool', 'id'=>'resource', 'query'=>'string', '&w_result'=>'array'], +'yaz_close' => ['bool', 'id'=>'resource'], +'yaz_connect' => ['mixed', 'zurl'=>'string', 'options='=>'mixed'], +'yaz_database' => ['bool', 'id'=>'resource', 'databases'=>'string'], +'yaz_element' => ['bool', 'id'=>'resource', 'elementset'=>'string'], +'yaz_errno' => ['int', 'id'=>'resource'], +'yaz_error' => ['string', 'id'=>'resource'], +'yaz_es' => ['void', 'id'=>'resource', 'type'=>'string', 'args'=>'array'], +'yaz_es_result' => ['array', 'id'=>'resource'], +'yaz_get_option' => ['string', 'id'=>'resource', 'name'=>'string'], +'yaz_hits' => ['int', 'id'=>'resource', 'searchresult='=>'array'], +'yaz_itemorder' => ['void', 'id'=>'resource', 'args'=>'array'], +'yaz_present' => ['bool', 'id'=>'resource'], +'yaz_range' => ['void', 'id'=>'resource', 'start'=>'int', 'number'=>'int'], +'yaz_record' => ['string', 'id'=>'resource', 'pos'=>'int', 'type'=>'string'], +'yaz_scan' => ['void', 'id'=>'resource', 'type'=>'string', 'startterm'=>'string', 'flags='=>'array'], +'yaz_scan_result' => ['array', 'id'=>'resource', 'result='=>'array'], +'yaz_schema' => ['void', 'id'=>'resource', 'schema'=>'string'], +'yaz_search' => ['bool', 'id'=>'resource', 'type'=>'string', 'query'=>'string'], +'yaz_set_option' => ['', 'id'=>'', 'name'=>'string', 'value'=>'string', 'options'=>'array'], +'yaz_sort' => ['void', 'id'=>'resource', 'criteria'=>'string'], +'yaz_syntax' => ['void', 'id'=>'resource', 'syntax'=>'string'], +'yaz_wait' => ['mixed', '&rw_options='=>'array'], +'yp_all' => ['void', 'domain'=>'string', 'map'=>'string', 'callback'=>'string'], +'yp_cat' => ['array', 'domain'=>'string', 'map'=>'string'], +'yp_err_string' => ['string', 'errorcode'=>'int'], +'yp_errno' => ['int'], +'yp_first' => ['array', 'domain'=>'string', 'map'=>'string'], +'yp_get_default_domain' => ['string'], +'yp_master' => ['string', 'domain'=>'string', 'map'=>'string'], +'yp_match' => ['string', 'domain'=>'string', 'map'=>'string', 'key'=>'string'], +'yp_next' => ['array', 'domain'=>'string', 'map'=>'string', 'key'=>'string'], +'yp_order' => ['int', 'domain'=>'string', 'map'=>'string'], +'zem_get_extension_info_by_id' => [''], +'zem_get_extension_info_by_name' => [''], +'zem_get_extensions_info' => [''], +'zem_get_license_info' => [''], +'zend_current_obfuscation_level' => ['int'], +'zend_disk_cache_clear' => ['bool', 'namespace='=>'mixed|string'], +'zend_disk_cache_delete' => ['mixed|null', 'key'=>'string'], +'zend_disk_cache_fetch' => ['mixed|null', 'key'=>'string'], +'zend_disk_cache_store' => ['bool', 'key'=>'', 'value'=>'', 'ttl='=>'int|mixed'], +'zend_get_id' => ['array', 'all_ids='=>'all_ids|false'], +'zend_is_configuration_changed' => [''], +'zend_loader_current_file' => ['string'], +'zend_loader_enabled' => ['bool'], +'zend_loader_file_encoded' => ['bool'], +'zend_loader_file_licensed' => ['array'], +'zend_loader_install_license' => ['bool', 'license_file'=>'string', 'override'=>'bool'], +'zend_logo_guid' => ['string'], +'zend_obfuscate_class_name' => ['string', 'class_name'=>'string'], +'zend_obfuscate_function_name' => ['string', 'function_name'=>'string'], +'zend_optimizer_version' => ['string'], +'zend_runtime_obfuscate' => ['void'], +'zend_send_buffer' => ['null|false', 'buffer'=>'string', 'mime_type='=>'string', 'custom_headers='=>'string'], +'zend_send_file' => ['null|false', 'filename'=>'string', 'mime_type='=>'string', 'custom_headers='=>'string'], +'zend_set_configuration_changed' => [''], +'zend_shm_cache_clear' => ['bool', 'namespace='=>'mixed|string'], +'zend_shm_cache_delete' => ['mixed|null', 'key'=>'string'], +'zend_shm_cache_fetch' => ['mixed|null', 'key'=>'string'], +'zend_shm_cache_store' => ['bool', 'key'=>'', 'value'=>'', 'ttl='=>'int|mixed'], +'zend_thread_id' => ['int'], +'zend_version' => ['string'], +'ZendAPI_Job::addJobToQueue' => ['int', 'jobqueue_url'=>'string', 'password'=>'string'], +'ZendAPI_Job::getApplicationID' => [''], +'ZendAPI_Job::getEndTime' => [''], +'ZendAPI_Job::getGlobalVariables' => [''], +'ZendAPI_Job::getHost' => [''], +'ZendAPI_Job::getID' => [''], +'ZendAPI_Job::getInterval' => [''], +'ZendAPI_Job::getJobDependency' => [''], +'ZendAPI_Job::getJobName' => [''], +'ZendAPI_Job::getJobPriority' => [''], +'ZendAPI_Job::getJobStatus' => ['int'], +'ZendAPI_Job::getLastPerformedStatus' => ['int'], +'ZendAPI_Job::getOutput' => ['An'], +'ZendAPI_Job::getPreserved' => [''], +'ZendAPI_Job::getProperties' => ['array'], +'ZendAPI_Job::getScheduledTime' => [''], +'ZendAPI_Job::getScript' => [''], +'ZendAPI_Job::getTimeToNextRepeat' => ['int'], +'ZendAPI_Job::getUserVariables' => [''], +'ZendAPI_Job::setApplicationID' => ['', 'app_id'=>''], +'ZendAPI_Job::setGlobalVariables' => ['', 'vars'=>''], +'ZendAPI_Job::setJobDependency' => ['', 'job_id'=>''], +'ZendAPI_Job::setJobName' => ['', 'name'=>''], +'ZendAPI_Job::setJobPriority' => ['', 'priority'=>'int'], +'ZendAPI_Job::setPreserved' => ['', 'preserved'=>''], +'ZendAPI_Job::setRecurrenceData' => ['', 'interval'=>'', 'end_time='=>'mixed'], +'ZendAPI_Job::setScheduledTime' => ['', 'timestamp'=>''], +'ZendAPI_Job::setScript' => ['', 'script'=>''], +'ZendAPI_Job::setUserVariables' => ['', 'vars'=>''], +'ZendAPI_Job::ZendAPI_Job' => ['Job', 'script'=>'script'], +'ZendAPI_Queue::addJob' => ['int', '&job'=>'Job'], +'ZendAPI_Queue::getAllApplicationIDs' => ['array'], +'ZendAPI_Queue::getAllhosts' => ['array'], +'ZendAPI_Queue::getHistoricJobs' => ['array', 'status'=>'int', 'start_time'=>'', 'end_time'=>'', 'index'=>'int', 'count'=>'int', '&total'=>'int'], +'ZendAPI_Queue::getJob' => ['Job', 'job_id'=>'int'], +'ZendAPI_Queue::getJobsInQueue' => ['array', 'filter_options='=>'array', 'max_jobs='=>'int', 'with_globals_and_output='=>'bool'], +'ZendAPI_Queue::getLastError' => ['string'], +'ZendAPI_Queue::getNumOfJobsInQueue' => ['int', 'filter_options='=>'array'], +'ZendAPI_Queue::getStatistics' => ['array'], +'ZendAPI_Queue::isScriptExists' => ['bool', 'path'=>'string'], +'ZendAPI_Queue::isSuspend' => ['bool'], +'ZendAPI_Queue::login' => ['bool', 'password'=>'string', 'application_id='=>'int'], +'ZendAPI_Queue::removeJob' => ['bool', 'job_id'=>'array|int'], +'ZendAPI_Queue::requeueJob' => ['bool', 'job'=>'Job'], +'ZendAPI_Queue::resumeJob' => ['bool', 'job_id'=>'array|int'], +'ZendAPI_Queue::resumeQueue' => ['bool'], +'ZendAPI_Queue::setMaxHistoryTime' => ['bool'], +'ZendAPI_Queue::suspendJob' => ['bool', 'job_id'=>'array|int'], +'ZendAPI_Queue::suspendQueue' => ['bool'], +'ZendAPI_Queue::updateJob' => ['int', '&job'=>'Job'], +'ZendAPI_Queue::zendapi_queue' => ['ZendAPI_Queue', 'queue_url'=>'string'], +'zip_close' => ['void', 'zip'=>'resource'], +'zip_entry_close' => ['bool', 'zip_entry'=>'resource'], +'zip_entry_compressedsize' => ['int', 'zip_entry'=>'resource'], +'zip_entry_compressionmethod' => ['string', 'zip_entry'=>'resource'], +'zip_entry_filesize' => ['int', 'zip_entry'=>'resource'], +'zip_entry_name' => ['string', 'zip_entry'=>'resource'], +'zip_entry_open' => ['bool', 'zip_dp'=>'resource', 'zip_entry'=>'resource', 'mode='=>'string'], +'zip_entry_read' => ['string|false', 'zip_entry'=>'resource', 'len='=>'int'], +'zip_open' => ['resource|int|false', 'filename'=>'string'], +'zip_read' => ['resource', 'zip'=>'resource'], +'ZipArchive::addEmptyDir' => ['bool', 'dirname'=>'string', 'flags='=>'int'], +'ZipArchive::addFile' => ['bool', 'filepath'=>'string', 'entryname='=>'string', 'start='=>'int', 'length='=>'int', 'flags='=>'int'], +'ZipArchive::addFromString' => ['bool', 'name'=>'string', 'content'=>'string', 'flags='=>'int'], +'ZipArchive::addGlob' => ['array|false', 'pattern'=>'string', 'flags='=>'int', 'options='=>'array'], +'ZipArchive::addPattern' => ['array|false', 'pattern'=>'string', 'path='=>'string', 'options='=>'array'], +'ZipArchive::clearError' => ['void'], +'ZipArchive::close' => ['bool'], +'ZipArchive::count' => ['int'], +'ZipArchive::deleteIndex' => ['bool', 'index'=>'int'], +'ZipArchive::deleteName' => ['bool', 'name'=>'string'], +'ZipArchive::extractTo' => ['bool', 'pathto'=>'string', 'files='=>'string[]|string|null'], +'ZipArchive::getArchiveComment' => ['string|false', 'flags='=>'int'], +'ZipArchive::getCommentIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'], +'ZipArchive::getCommentName' => ['string|false', 'name'=>'string', 'flags='=>'int'], +'ZipArchive::getExternalAttributesIndex' => ['bool', 'index'=>'int', '&w_opsys'=>'int', '&w_attr'=>'int', 'flags='=>'int'], +'ZipArchive::getExternalAttributesName' => ['bool', 'name'=>'string', '&w_opsys'=>'int', '&w_attr'=>'int', 'flags='=>'int'], +'ZipArchive::getFromIndex' => ['string|false', 'index'=>'int', 'len='=>'int', 'flags='=>'int'], +'ZipArchive::getFromName' => ['string|false', 'name'=>'string', 'len='=>'int', 'flags='=>'int'], +'ZipArchive::getNameIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'], +'ZipArchive::getStatusString' => ['string'], +'ZipArchive::getStream' => ['resource|false', 'name'=>'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', 'name'=>'string', 'flags='=>'int'], +'ZipArchive::open' => ['int|bool', 'filename'=>'string', 'flags='=>'int'], +'ZipArchive::registerCancelCallback' => ['bool', 'callback'=>'callable'], +'ZipArchive::registerProgressCallback' => ['bool', 'rate'=>'float', 'callback'=>'callable'], +'ZipArchive::renameIndex' => ['bool', 'index'=>'int', 'new_name'=>'string'], +'ZipArchive::renameName' => ['bool', 'name'=>'string', 'new_name'=>'string'], +'ZipArchive::replaceFile' => ['bool', 'filepath'=>'string', 'index'=>'int', 'start='=>'int', 'length='=>'int', 'flags='=>'int'], +'ZipArchive::setArchiveComment' => ['bool', 'comment'=>'string'], +'ZipArchive::setCommentIndex' => ['bool', 'index'=>'int', 'comment'=>'string'], +'ZipArchive::setCommentName' => ['bool', 'name'=>'string', 'comment'=>'string'], +'ZipArchive::setCompressionIndex' => ['bool', 'index'=>'int', 'comp_method'=>'int', 'comp_flags='=>'int'], +'ZipArchive::setCompressionName' => ['bool', 'name'=>'string', 'comp_method'=>'int', 'comp_flags='=>'int'], +'ZipArchive::setEncryptionIndex' => ['bool', 'index'=>'int', 'method'=>'string', 'password='=>'?string'], +'ZipArchive::setEncryptionName' => ['bool', 'name'=>'string', 'method'=>'int', 'password='=>'?string'], +'ZipArchive::setExternalAttributesIndex' => ['bool', 'index'=>'int', 'opsys'=>'int', 'attr'=>'int', 'flags='=>'int'], +'ZipArchive::setExternalAttributesName' => ['bool', 'name'=>'string', 'opsys'=>'int', 'attr'=>'int', 'flags='=>'int'], +'ZipArchive::setMtimeIndex' => ['bool', 'index'=>'int', 'timestamp'=>'int', 'flags='=>'int'], +'ZipArchive::setMtimeName' => ['bool', 'name'=>'string', 'timestamp'=>'int', 'flags='=>'int'], +'ZipArchive::setPassword' => ['bool', 'password'=>'string'], +'ZipArchive::statIndex' => ['array|false', 'index'=>'int', 'flags='=>'int'], +'ZipArchive::statName' => ['array|false', 'name'=>'string', 'flags='=>'int'], +'ZipArchive::unchangeAll' => ['bool'], +'ZipArchive::unchangeArchive' => ['bool'], +'ZipArchive::unchangeIndex' => ['bool', 'index'=>'int'], +'ZipArchive::unchangeName' => ['bool', 'name'=>'string'], +'zlib_decode' => ['string|false', 'data'=>'string', 'max_length='=>'int'], +'zlib_encode' => ['string|false', 'data'=>'string', 'encoding'=>'int', 'level='=>'int'], +'zlib_get_coding_type' => ['string|false'], +'ZMQ::__construct' => ['void'], +'ZMQContext::__construct' => ['void', 'io_threads='=>'int', 'is_persistent='=>'bool'], +'ZMQContext::getOpt' => ['int|string', 'key'=>'string'], +'ZMQContext::getSocket' => ['ZMQSocket', 'type'=>'int', 'persistent_id='=>'string', 'on_new_socket='=>'callable'], +'ZMQContext::isPersistent' => ['bool'], +'ZMQContext::setOpt' => ['ZMQContext', 'key'=>'int', 'value'=>'mixed'], +'ZMQDevice::__construct' => ['void', 'frontend'=>'ZMQSocket', 'backend'=>'ZMQSocket', 'listener='=>'ZMQSocket'], +'ZMQDevice::getIdleTimeout' => ['ZMQDevice'], +'ZMQDevice::getTimerTimeout' => ['ZMQDevice'], +'ZMQDevice::run' => ['void'], +'ZMQDevice::setIdleCallback' => ['ZMQDevice', 'cb_func'=>'callable', 'timeout'=>'int', 'user_data='=>'mixed'], +'ZMQDevice::setIdleTimeout' => ['ZMQDevice', 'timeout'=>'int'], +'ZMQDevice::setTimerCallback' => ['ZMQDevice', 'cb_func'=>'callable', 'timeout'=>'int', 'user_data='=>'mixed'], +'ZMQDevice::setTimerTimeout' => ['ZMQDevice', 'timeout'=>'int'], +'ZMQPoll::add' => ['string', 'entry'=>'mixed', 'type'=>'int'], +'ZMQPoll::clear' => ['ZMQPoll'], +'ZMQPoll::count' => ['int'], +'ZMQPoll::getLastErrors' => ['array'], +'ZMQPoll::poll' => ['int', '&w_readable'=>'array', '&w_writable'=>'array', 'timeout='=>'int'], +'ZMQPoll::remove' => ['bool', 'item'=>'mixed'], +'ZMQSocket::__construct' => ['void', 'context'=>'ZMQContext', 'type'=>'int', 'persistent_id='=>'string', 'on_new_socket='=>'callable'], +'ZMQSocket::bind' => ['ZMQSocket', 'dsn'=>'string', 'force='=>'bool'], +'ZMQSocket::connect' => ['ZMQSocket', 'dsn'=>'string', 'force='=>'bool'], +'ZMQSocket::disconnect' => ['ZMQSocket', 'dsn'=>'string'], +'ZMQSocket::getEndpoints' => ['array'], +'ZMQSocket::getPersistentId' => ['?string'], +'ZMQSocket::getSocketType' => ['int'], +'ZMQSocket::getSockOpt' => ['int|string', 'key'=>'string'], +'ZMQSocket::isPersistent' => ['bool'], +'ZMQSocket::recv' => ['string', 'mode='=>'int'], +'ZMQSocket::recvMulti' => ['string[]', 'mode='=>'int'], +'ZMQSocket::send' => ['ZMQSocket', 'message'=>'array', 'mode='=>'int'], +'ZMQSocket::send\'1' => ['ZMQSocket', 'message'=>'string', 'mode='=>'int'], +'ZMQSocket::sendmulti' => ['ZMQSocket', 'message'=>'array', 'mode='=>'int'], +'ZMQSocket::setSockOpt' => ['ZMQSocket', 'key'=>'int', 'value'=>'mixed'], +'ZMQSocket::unbind' => ['ZMQSocket', 'dsn'=>'string'], +'Zookeeper::addAuth' => ['bool', 'scheme'=>'string', 'cert'=>'string', 'completion_cb='=>'callable'], +'Zookeeper::close' => ['void'], +'Zookeeper::connect' => ['void', 'host'=>'string', 'watcher_cb='=>'callable', 'recv_timeout='=>'int'], +'Zookeeper::create' => ['string', 'path'=>'string', 'value'=>'string', 'acls'=>'array', 'flags='=>'int'], +'Zookeeper::delete' => ['bool', 'path'=>'string', 'version='=>'int'], +'Zookeeper::exists' => ['bool', 'path'=>'string', 'watcher_cb='=>'callable'], +'Zookeeper::get' => ['string', 'path'=>'string', 'watcher_cb='=>'callable', 'stat='=>'array', 'max_size='=>'int'], +'Zookeeper::getAcl' => ['array', 'path'=>'string'], +'Zookeeper::getChildren' => ['array|false', 'path'=>'string', 'watcher_cb='=>'callable'], +'Zookeeper::getClientId' => ['int'], +'Zookeeper::getConfig' => ['ZookeeperConfig'], +'Zookeeper::getRecvTimeout' => ['int'], +'Zookeeper::getState' => ['int'], +'Zookeeper::isRecoverable' => ['bool'], +'Zookeeper::set' => ['bool', 'path'=>'string', 'value'=>'string', 'version='=>'int', 'stat='=>'array'], +'Zookeeper::setAcl' => ['bool', 'path'=>'string', 'version'=>'int', 'acl'=>'array'], +'Zookeeper::setDebugLevel' => ['bool', 'logLevel'=>'int'], +'Zookeeper::setDeterministicConnOrder' => ['bool', 'yesOrNo'=>'bool'], +'Zookeeper::setLogStream' => ['bool', 'stream'=>'resource'], +'Zookeeper::setWatcher' => ['bool', 'watcher_cb'=>'callable'], +'zookeeper_dispatch' => ['void'], +'ZookeeperConfig::add' => ['void', 'members'=>'string', 'version='=>'int', 'stat='=>'array'], +'ZookeeperConfig::get' => ['string', 'watcher_cb='=>'callable', 'stat='=>'array'], +'ZookeeperConfig::remove' => ['void', 'id_list'=>'string', 'version='=>'int', 'stat='=>'array'], +'ZookeeperConfig::set' => ['void', 'members'=>'string', 'version='=>'int', 'stat='=>'array'], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_71_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_71_delta.php new file mode 100644 index 00000000..93bb8cae --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_71_delta.php @@ -0,0 +1,76 @@ + [ + 'Closure::fromCallable' => ['Closure', 'callback'=>'callable'], + 'curl_multi_errno' => ['int|false', 'mh'=>'resource'], + 'curl_share_errno' => ['int|false', 'sh'=>'resource'], + 'curl_share_strerror' => ['?string', 'error_code'=>'int'], + 'getenv\'1' => ['array'], + 'hash_hkdf' => ['non-empty-string|false', 'algo'=>'string', 'key'=>'string', 'length='=>'int', 'info='=>'string', 'salt='=>'string'], + 'is_iterable' => ['bool', 'value'=>'mixed'], + 'openssl_get_curve_names' => ['list'], + 'pcntl_async_signals' => ['bool', 'enable='=>'bool'], + 'pcntl_signal_get_handler' => ['int|string', 'signal'=>'int'], + 'sapi_windows_cp_conv' => ['?string', 'in_codepage'=>'int|string', 'out_codepage'=>'int|string', 'subject'=>'string'], + 'sapi_windows_cp_get' => ['int', 'kind='=>'string'], + 'sapi_windows_cp_is_utf8' => ['bool'], + 'sapi_windows_cp_set' => ['bool', 'codepage'=>'int'], + 'session_create_id' => ['string', 'prefix='=>'string'], + 'session_gc' => ['int|false'], + ], + 'changed' => [ + 'DateTimeZone::listIdentifiers' => [ + 'old' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'string'], + 'new' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'string|null'], + ], + 'IntlDateFormatter::format' => [ + 'old' => ['string|false', 'value'=>'IntlCalendar|DateTime|array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int}|array{tm_sec: int, tm_min: int, tm_hour: int, tm_mday: int, tm_mon: int, tm_year: int, tm_wday: int, tm_yday: int, tm_isdst: int}|string|int|float'], + 'new' => ['string|false', 'value'=>'IntlCalendar|DateTimeInterface|array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int}|array{tm_sec: int, tm_min: int, tm_hour: int, tm_mday: int, tm_mon: int, tm_year: int, tm_wday: int, tm_yday: int, tm_isdst: int}|string|int|float'], + ], + 'SQLite3::createFunction' => [ + 'old' => ['bool', 'name'=>'string', 'callback'=>'callable', 'argCount='=>'int'], + 'new' => ['bool', 'name'=>'string', 'callback'=>'callable', 'argCount='=>'int', 'flags='=>'int'], + ], + 'get_headers' => [ + 'old' => ['array|false', 'url'=>'string', 'associative='=>'int'], + 'new' => ['array|false', 'url'=>'string', 'associative='=>'int', 'context='=>'?resource'], + ], + 'getopt' => [ + 'old' => ['array>|false', 'short_options'=>'string', 'long_options='=>'array'], + 'new' => ['array>|false', 'short_options'=>'string', 'long_options='=>'array', '&w_rest_index='=>'int'], + ], + 'pg_fetch_all' => [ + 'old' => ['array', 'result'=>'resource'], + 'new' => ['array', 'result'=>'resource', 'mode='=>'int'], + ], + 'pg_select' => [ + 'old' => ['string|array|false', 'connection'=>'resource', 'table_name'=>'string', 'conditions'=>'array', 'flags='=>'int'], + 'new' => ['string|array|false', 'connection'=>'resource', 'table_name'=>'string', 'conditions'=>'array', 'flags='=>'int', 'mode='=>'int'], + ], + 'timezone_identifiers_list' => [ + 'old' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'string'], + 'new' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'?string'], + ], + 'unpack' => [ + 'old' => ['array', 'format'=>'string', 'string'=>'string'], + 'new' => ['array|false', 'format'=>'string', 'string'=>'string', 'offset='=>'int'], + ], + ], + 'removed' => [ + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_72_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_72_delta.php new file mode 100644 index 00000000..1956ee7c --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_72_delta.php @@ -0,0 +1,255 @@ + [ + 'DOMNodeList::count' => ['int'], + 'ReflectionClass::isIterable' => ['bool'], + 'ZipArchive::count' => ['int'], + 'ZipArchive::setEncryptionIndex' => ['bool', 'index'=>'int', 'method'=>'string', 'password='=>'string'], + 'ZipArchive::setEncryptionName' => ['bool', 'name'=>'string', 'method'=>'int', 'password='=>'string'], + 'ftp_append' => ['bool', 'ftp'=>'resource', 'remote_filename'=>'string', 'local_filename'=>'string', 'mode='=>'int'], + 'hash_hmac_algos' => ['list'], + 'imagebmp' => ['bool', 'image'=>'resource', 'file='=>'resource|string|null', 'compressed='=>'int'], + 'imagecreatefrombmp' => ['resource|false', 'filename'=>'string'], + 'imageopenpolygon' => ['bool', 'image'=>'resource', 'points'=>'array', 'num_points'=>'int', 'color'=>'int'], + 'imageresolution' => ['array|bool', 'image'=>'resource', 'resolution_x='=>'int', 'resolution_y='=>'int'], + 'imagesetclip' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int'], + 'ldap_exop' => ['resource|bool', 'ldap'=>'resource', 'request_oid'=>'string', 'request_data='=>'?string', 'controls='=>'array|null', '&w_response_data='=>'string', '&w_response_oid='=>'string'], + 'ldap_exop_passwd' => ['bool|string', 'ldap'=>'resource', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string'], + 'ldap_exop_refresh' => ['int|false', 'ldap'=>'resource', 'dn'=>'string', 'ttl'=>'int'], + 'ldap_exop_whoami' => ['string|false', 'ldap'=>'resource'], + 'ldap_parse_exop' => ['bool', 'ldap'=>'resource', 'result'=>'resource', '&w_response_data='=>'string', '&w_response_oid='=>'string'], + 'mb_chr' => ['non-empty-string|false', 'codepoint'=>'int', 'encoding='=>'string'], + 'mb_convert_encoding\'1' => ['array', 'string'=>'array', 'to_encoding'=>'string', 'from_encoding='=>'mixed'], + 'mb_ord' => ['int|false', 'string'=>'string', 'encoding='=>'string'], + 'mb_scrub' => ['string', 'string'=>'string', 'encoding='=>'string'], + 'oci_register_taf_callback' => ['bool', 'connection'=>'resource', 'callback='=>'callable'], + 'oci_unregister_taf_callback' => ['bool', 'connection'=>'resource'], + 'sapi_windows_vt100_support' => ['bool', 'stream'=>'resource', 'enable='=>'bool'], + 'socket_addrinfo_bind' => ['?resource', 'addrinfo'=>'resource'], + 'socket_addrinfo_connect' => ['resource', 'addrinfo'=>'resource'], + 'socket_addrinfo_explain' => ['array', 'addrinfo'=>'resource'], + 'socket_addrinfo_lookup' => ['resource[]', 'host'=>'string', 'service='=>'string', 'hints='=>'array'], + 'sodium_add' => ['void', '&rw_string1'=>'string', 'string2'=>'string'], + 'sodium_base642bin' => ['string', 'string'=>'string', 'id'=>'int', 'ignore='=>'string'], + 'sodium_bin2base64' => ['string', 'string'=>'string', 'id'=>'int'], + 'sodium_bin2hex' => ['string', 'string'=>'string'], + 'sodium_compare' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'sodium_crypto_aead_aes256gcm_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_aes256gcm_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_aes256gcm_is_available' => ['bool'], + 'sodium_crypto_aead_aes256gcm_keygen' => ['non-empty-string'], + 'sodium_crypto_aead_chacha20poly1305_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_chacha20poly1305_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_chacha20poly1305_ietf_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_chacha20poly1305_ietf_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_chacha20poly1305_ietf_keygen' => ['non-empty-string'], + 'sodium_crypto_aead_chacha20poly1305_keygen' => ['non-empty-string'], + 'sodium_crypto_aead_xchacha20poly1305_ietf_decrypt' => ['string|false', 'ciphertext'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_xchacha20poly1305_ietf_encrypt' => ['string', 'message'=>'string', 'additional_data'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_aead_xchacha20poly1305_ietf_keygen' => ['non-empty-string'], + 'sodium_crypto_auth' => ['string', 'message'=>'string', 'key'=>'string'], + 'sodium_crypto_auth_keygen' => ['non-empty-string'], + 'sodium_crypto_auth_verify' => ['bool', 'mac'=>'string', 'message'=>'string', 'key'=>'string'], + 'sodium_crypto_box' => ['string', 'message'=>'string', 'nonce'=>'string', 'key_pair'=>'string'], + 'sodium_crypto_box_keypair' => ['string'], + 'sodium_crypto_box_keypair_from_secretkey_and_publickey' => ['string', 'secret_key'=>'string', 'public_key'=>'string'], + 'sodium_crypto_box_open' => ['string|false', 'ciphertext'=>'string', 'nonce'=>'string', 'key_pair'=>'string'], + 'sodium_crypto_box_publickey' => ['string', 'key_pair'=>'string'], + 'sodium_crypto_box_publickey_from_secretkey' => ['string', 'secret_key'=>'string'], + 'sodium_crypto_box_seal' => ['string', 'message'=>'string', 'public_key'=>'string'], + 'sodium_crypto_box_seal_open' => ['string|false', 'ciphertext'=>'string', 'key_pair'=>'string'], + 'sodium_crypto_box_secretkey' => ['string', 'key_pair'=>'string'], + 'sodium_crypto_box_seed_keypair' => ['string', 'seed'=>'string'], + 'sodium_crypto_generichash' => ['string', 'message'=>'string', 'key='=>'string', 'length='=>'int'], + 'sodium_crypto_generichash_final' => ['string', '&state'=>'string', 'length='=>'int'], + 'sodium_crypto_generichash_init' => ['string', 'key='=>'string', 'length='=>'int'], + 'sodium_crypto_generichash_keygen' => ['non-empty-string'], + 'sodium_crypto_generichash_update' => ['true', '&rw_state'=>'string', 'message'=>'string'], + 'sodium_crypto_kdf_derive_from_key' => ['string', 'subkey_length'=>'int', 'subkey_id'=>'int', 'context'=>'string', 'key'=>'string'], + 'sodium_crypto_kdf_keygen' => ['non-empty-string'], + 'sodium_crypto_kx_client_session_keys' => ['array', 'client_key_pair'=>'string', 'server_key'=>'string'], + 'sodium_crypto_kx_keypair' => ['string'], + 'sodium_crypto_kx_publickey' => ['string', 'key_pair'=>'string'], + 'sodium_crypto_kx_secretkey' => ['string', 'key_pair'=>'string'], + 'sodium_crypto_kx_seed_keypair' => ['string', 'seed'=>'string'], + 'sodium_crypto_kx_server_session_keys' => ['array', 'server_key_pair'=>'string', 'client_key'=>'string'], + 'sodium_crypto_pwhash' => ['string', 'length'=>'int', 'password'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int', 'algo='=>'int'], + 'sodium_crypto_pwhash_scryptsalsa208sha256' => ['string', 'length'=>'int', 'password'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'sodium_crypto_pwhash_scryptsalsa208sha256_str' => ['string', 'password'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'sodium_crypto_pwhash_scryptsalsa208sha256_str_verify' => ['bool', 'hash'=>'string', 'password'=>'string'], + 'sodium_crypto_pwhash_str' => ['string', 'password'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'sodium_crypto_pwhash_str_needs_rehash' => ['bool', 'password'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'sodium_crypto_pwhash_str_verify' => ['bool', 'hash'=>'string', 'password'=>'string'], + 'sodium_crypto_scalarmult' => ['string', 'n'=>'string', 'p'=>'string'], + 'sodium_crypto_scalarmult_base' => ['string', 'secret_key'=>'string'], + 'sodium_crypto_secretbox' => ['string', 'message'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_secretbox_keygen' => ['non-empty-string'], + 'sodium_crypto_secretbox_open' => ['string|false', 'ciphertext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_secretstream_xchacha20poly1305_init_pull' => ['string', 'header'=>'string', 'key'=>'string'], + 'sodium_crypto_secretstream_xchacha20poly1305_init_push' => ['array', 'key'=>'string'], + 'sodium_crypto_secretstream_xchacha20poly1305_keygen' => ['non-empty-string'], + 'sodium_crypto_secretstream_xchacha20poly1305_pull' => ['array', '&r_state'=>'string', 'ciphertext'=>'string', 'additional_data='=>'string'], + 'sodium_crypto_secretstream_xchacha20poly1305_push' => ['string', '&w_state'=>'string', 'message'=>'string', 'additional_data='=>'string', 'tag='=>'int'], + 'sodium_crypto_secretstream_xchacha20poly1305_rekey' => ['void', '&w_state'=>'string'], + 'sodium_crypto_shorthash' => ['string', 'message'=>'string', 'key'=>'string'], + 'sodium_crypto_shorthash_keygen' => ['non-empty-string'], + 'sodium_crypto_sign' => ['string', 'message'=>'string', 'secret_key'=>'string'], + 'sodium_crypto_sign_detached' => ['string', 'message'=>'string', 'secret_key'=>'string'], + 'sodium_crypto_sign_ed25519_pk_to_curve25519' => ['string', 'public_key'=>'string'], + 'sodium_crypto_sign_ed25519_sk_to_curve25519' => ['string', 'secret_key'=>'string'], + 'sodium_crypto_sign_keypair' => ['string'], + 'sodium_crypto_sign_keypair_from_secretkey_and_publickey' => ['string', 'secret_key'=>'string', 'public_key'=>'string'], + 'sodium_crypto_sign_open' => ['string|false', 'signed_message'=>'string', 'public_key'=>'string'], + 'sodium_crypto_sign_publickey' => ['string', 'key_pair'=>'string'], + 'sodium_crypto_sign_publickey_from_secretkey' => ['string', 'secret_key'=>'string'], + 'sodium_crypto_sign_secretkey' => ['string', 'key_pair'=>'string'], + 'sodium_crypto_sign_seed_keypair' => ['string', 'seed'=>'string'], + 'sodium_crypto_sign_verify_detached' => ['bool', 'signature'=>'string', 'message'=>'string', 'public_key'=>'string'], + 'sodium_crypto_stream' => ['string', 'length'=>'int', 'nonce'=>'string', 'key'=>'string'], + 'sodium_crypto_stream_keygen' => ['non-empty-string'], + 'sodium_crypto_stream_xor' => ['string', 'message'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'sodium_hex2bin' => ['string', 'string'=>'string', 'ignore='=>'string'], + 'sodium_increment' => ['void', '&rw_string'=>'string'], + 'sodium_memcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'sodium_memzero' => ['void', '&w_string'=>'string'], + 'sodium_pad' => ['string', 'string'=>'string', 'block_size'=>'int'], + 'sodium_unpad' => ['string', 'string'=>'string', 'block_size'=>'int'], + 'stream_isatty' => ['bool', 'stream'=>'resource'], + 'xdebug_info' => ['mixed', 'category='=>'string'], + ], + 'changed' => [ + 'ReflectionClass::getMethods' => [ + 'old' => ['list', 'filter='=>'int'], + 'new' => ['list', 'filter='=>'?int'], + ], + 'ReflectionClass::getProperties' => [ + 'old' => ['list', 'filter='=>'int'], + 'new' => ['list', 'filter='=>'?int'], + ], + 'ReflectionObject::getMethods' => [ + 'old' => ['ReflectionMethod[]', 'filter='=>'int'], + 'new' => ['ReflectionMethod[]', 'filter='=>'?int'], + ], + 'ReflectionObject::getProperties' => [ + 'old' => ['ReflectionProperty[]', 'filter='=>'int'], + 'new' => ['ReflectionProperty[]', 'filter='=>'?int'], + ], + 'SQLite3::openBlob' => [ + 'old' => ['resource|false', 'table'=>'string', 'column'=>'string', 'rowid'=>'int', 'dbname='=>'string'], + 'new' => ['resource|false', 'table'=>'string', 'column'=>'string', 'rowid'=>'int', 'database='=>'string', 'flags='=>'int'], + ], + 'hash_copy' => [ + 'old' => ['resource', 'context'=>'resource'], + 'new' => ['HashContext', 'context'=>'HashContext'], + ], + 'hash_final' => [ + 'old' => ['non-empty-string', 'context'=>'resource', 'raw_output='=>'bool'], + 'new' => ['non-empty-string', 'context'=>'HashContext', 'binary='=>'bool'], + ], + 'hash_init' => [ + 'old' => ['resource', 'algo'=>'string', 'options='=>'int', 'key='=>'string'], + 'new' => ['HashContext|false', 'algo'=>'string', 'flags='=>'int', 'key='=>'string'], + ], + 'hash_update' => [ + 'old' => ['bool', 'context'=>'resource', 'data'=>'string'], + 'new' => ['bool', 'context'=>'HashContext', 'data'=>'string'], + ], + 'hash_update_file' => [ + 'old' => ['bool', 'hcontext'=>'resource', 'filename'=>'string', 'scontext='=>'resource'], + 'new' => ['bool', 'context'=>'HashContext', 'filename'=>'string', 'stream_context='=>'resource'], + ], + 'hash_update_stream' => [ + 'old' => ['int', 'context'=>'resource', 'handle'=>'resource', 'length='=>'int'], + 'new' => ['int', 'context'=>'HashContext', 'stream'=>'resource', 'length='=>'int'], + ], + 'json_decode' => [ + 'old' => ['mixed', 'json'=>'string', 'associative='=>'bool', 'depth='=>'int', 'flags='=>'int'], + 'new' => ['mixed', 'json'=>'string', 'associative='=>'?bool', 'depth='=>'int', 'flags='=>'int'], + ], + 'mb_check_encoding' => [ + 'old' => ['bool', 'value='=>'string', 'encoding='=>'string'], + 'new' => ['bool', 'value='=>'array|string', 'encoding='=>'string'], + ], + 'preg_quote' => [ + 'old' => ['string', 'str'=>'string', 'delimiter='=>'string'], + 'new' => ['string', 'str'=>'string', 'delimiter='=>'?string'], + ], + ], + 'removed' => [ + 'Sodium\add' => ['void', '&left'=>'string', 'right'=>'string'], + 'Sodium\bin2hex' => ['string', 'binary'=>'string'], + 'Sodium\compare' => ['int', 'left'=>'string', 'right'=>'string'], + 'Sodium\crypto_aead_aes256gcm_decrypt' => ['string|false', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_aead_aes256gcm_encrypt' => ['string', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_aead_aes256gcm_is_available' => ['bool'], + 'Sodium\crypto_aead_chacha20poly1305_decrypt' => ['string', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_aead_chacha20poly1305_encrypt' => ['string', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_auth' => ['string', 'msg'=>'string', 'key'=>'string'], + 'Sodium\crypto_auth_verify' => ['bool', 'mac'=>'string', 'msg'=>'string', 'key'=>'string'], + 'Sodium\crypto_box' => ['string', 'msg'=>'string', 'nonce'=>'string', 'keypair'=>'string'], + 'Sodium\crypto_box_keypair' => ['string'], + 'Sodium\crypto_box_keypair_from_secretkey_and_publickey' => ['string', 'secretkey'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_box_open' => ['string', 'msg'=>'string', 'nonce'=>'string', 'keypair'=>'string'], + 'Sodium\crypto_box_publickey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_box_publickey_from_secretkey' => ['string', 'secretkey'=>'string'], + 'Sodium\crypto_box_seal' => ['string', 'message'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_box_seal_open' => ['string', 'encrypted'=>'string', 'keypair'=>'string'], + 'Sodium\crypto_box_secretkey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_box_seed_keypair' => ['string', 'seed'=>'string'], + 'Sodium\crypto_generichash' => ['string', 'input'=>'string', 'key='=>'string', 'length='=>'int'], + 'Sodium\crypto_generichash_final' => ['string', 'state'=>'string', 'length='=>'int'], + 'Sodium\crypto_generichash_init' => ['string', 'key='=>'string', 'length='=>'int'], + 'Sodium\crypto_generichash_update' => ['bool', '&hashState'=>'string', 'append'=>'string'], + 'Sodium\crypto_kx' => ['string', 'secretkey'=>'string', 'publickey'=>'string', 'client_publickey'=>'string', 'server_publickey'=>'string'], + 'Sodium\crypto_pwhash' => ['string', 'out_len'=>'int', 'passwd'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_scryptsalsa208sha256' => ['string', 'out_len'=>'int', 'passwd'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_scryptsalsa208sha256_str' => ['string', 'passwd'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_scryptsalsa208sha256_str_verify' => ['bool', 'hash'=>'string', 'passwd'=>'string'], + 'Sodium\crypto_pwhash_str' => ['string', 'passwd'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_str_verify' => ['bool', 'hash'=>'string', 'passwd'=>'string'], + 'Sodium\crypto_scalarmult' => ['string', 'ecdhA'=>'string', 'ecdhB'=>'string'], + 'Sodium\crypto_scalarmult_base' => ['string', 'sk'=>'string'], + 'Sodium\crypto_secretbox' => ['string', 'plaintext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\crypto_secretbox_open' => ['string', 'ciphertext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\crypto_shorthash' => ['string', 'message'=>'string', 'key'=>'string'], + 'Sodium\crypto_sign' => ['string', 'message'=>'string', 'secretkey'=>'string'], + 'Sodium\crypto_sign_detached' => ['string', 'message'=>'string', 'secretkey'=>'string'], + 'Sodium\crypto_sign_ed25519_pk_to_curve25519' => ['string', 'sign_pk'=>'string'], + 'Sodium\crypto_sign_ed25519_sk_to_curve25519' => ['string', 'sign_sk'=>'string'], + 'Sodium\crypto_sign_keypair' => ['string'], + 'Sodium\crypto_sign_keypair_from_secretkey_and_publickey' => ['string', 'secretkey'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_sign_open' => ['string|false', 'signed_message'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_sign_publickey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_sign_publickey_from_secretkey' => ['string', 'secretkey'=>'string'], + 'Sodium\crypto_sign_secretkey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_sign_seed_keypair' => ['string', 'seed'=>'string'], + 'Sodium\crypto_sign_verify_detached' => ['bool', 'signature'=>'string', 'msg'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_stream' => ['string', 'length'=>'int', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\crypto_stream_xor' => ['string', 'plaintext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\hex2bin' => ['string', 'hex'=>'string'], + 'Sodium\increment' => ['string', '&nonce'=>'string'], + 'Sodium\library_version_major' => ['int'], + 'Sodium\library_version_minor' => ['int'], + 'Sodium\memcmp' => ['int', 'left'=>'string', 'right'=>'string'], + 'Sodium\memzero' => ['void', '&target'=>'string'], + 'Sodium\randombytes_buf' => ['string', 'length'=>'int'], + 'Sodium\randombytes_random16' => ['int|string'], + 'Sodium\randombytes_uniform' => ['int', 'upperBoundNonInclusive'=>'int'], + 'Sodium\version_string' => ['string'], + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_73_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_73_delta.php new file mode 100644 index 00000000..568603b6 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_73_delta.php @@ -0,0 +1,118 @@ + [ + 'DateTime::createFromImmutable' => ['static', 'object'=>'DateTimeImmutable'], + 'JsonException::__clone' => ['void'], + 'JsonException::__construct' => ['void'], + 'JsonException::__toString' => ['string'], + 'JsonException::__wakeup' => ['void'], + 'JsonException::getCode' => ['int'], + 'JsonException::getFile' => ['string'], + 'JsonException::getLine' => ['int'], + 'JsonException::getMessage' => ['string'], + 'JsonException::getPrevious' => ['?Throwable'], + 'JsonException::getTrace' => ['list\',args?:array}>'], + 'JsonException::getTraceAsString' => ['string'], + 'Normalizer::getRawDecomposition' => ['?string', 'string'=>'string', 'form='=>'int'], + 'SplPriorityQueue::isCorrupted' => ['bool'], + 'array_key_first' => ['int|string|null', 'array'=>'array'], + 'array_key_last' => ['int|string|null', 'array'=>'array'], + 'fpm_get_status' => ['array|false'], + 'gc_status' => ['array{runs:int,collected:int,threshold:int,roots:int}'], + 'gmp_binomial' => ['GMP|false', 'n'=>'GMP|string|int', 'k'=>'int'], + 'gmp_kronecker' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_lcm' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_perfect_power' => ['bool', 'num'=>'GMP|string|int'], + 'hrtime' => ['array{0:int,1:int}|false', 'as_number='=>'false'], + 'hrtime\'1' => ['int|float|false', 'as_number='=>'true'], + 'is_countable' => ['bool', 'value'=>'mixed'], + 'normalizer_get_raw_decomposition' => ['string|null', 'string'=>'string', 'form='=>'int'], + 'net_get_interfaces' => ['array>|false'], + 'openssl_pkey_derive' => ['string|false', 'public_key'=>'mixed', 'private_key'=>'mixed', 'key_length='=>'?int'], + 'session_set_cookie_params\'1' => ['bool', 'options'=>'array{lifetime?:?int,path?:?string,domain?:?string,secure?:?bool,httponly?:?bool,samesite?:?string}'], + 'setcookie\'1' => ['bool', 'name'=>'string', 'value='=>'string', 'options='=>'array'], + 'setrawcookie\'1' => ['bool', 'name'=>'string', 'value='=>'string', 'options='=>'array'], + 'socket_wsaprotocol_info_export' => ['string|false', 'socket'=>'resource', 'process_id'=>'int'], + 'socket_wsaprotocol_info_import' => ['resource|false', 'info_id'=>'string'], + 'socket_wsaprotocol_info_release' => ['bool', 'info_id'=>'string'], + ], + 'changed' => [ + 'array_push' => [ + 'old' => ['int', '&rw_array'=>'array', '...values'=>'mixed'], + 'new' => ['int', '&rw_array'=>'array', '...values='=>'mixed'], + ], + 'array_unshift' => [ + 'old' => ['int', '&rw_array'=>'array', '...values'=>'mixed'], + 'new' => ['int', '&rw_array'=>'array', '...values='=>'mixed'], + ], + 'bcscale' => [ + 'old' => ['int', 'scale'=>'int'], + 'new' => ['int', 'scale='=>'int'], + ], + 'ldap_compare' => [ + 'old' => ['bool|int', 'ldap'=>'resource', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string'], + 'new' => ['bool|int', 'ldap'=>'resource', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string', 'controls='=>'array'], + ], + 'ldap_delete' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'array'], + ], + 'ldap_exop_passwd' => [ + 'old' => ['bool|string', 'ldap'=>'resource', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string'], + 'new' => ['bool|string', 'ldap'=>'resource', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string', '&w_controls='=>'array'], + ], + 'ldap_list' => [ + 'old' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int'], + 'new' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'array'], + ], + 'ldap_mod_add' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + ], + 'ldap_mod_del' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + ], + 'ldap_mod_replace' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + ], + 'ldap_modify' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + ], + 'ldap_modify_batch' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'modifications_info'=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'modifications_info'=>'array', 'controls='=>'array'], + ], + 'ldap_read' => [ + 'old' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int'], + 'new' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'array'], + ], + 'ldap_rename' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'array'], + ], + 'ldap_search' => [ + 'old' => ['resource|false', 'ldap'=>'resource|resource[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int'], + 'new' => ['resource|false', 'ldap'=>'resource|resource[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'array'], + ], + ], + 'removed' => [ + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_74_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_74_delta.php new file mode 100644 index 00000000..87872004 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_74_delta.php @@ -0,0 +1,91 @@ + [ + 'ReflectionProperty::getType' => ['?ReflectionType'], + 'mb_str_split' => ['list|false', 'string'=>'string', 'length='=>'positive-int', 'encoding='=>'string'], + 'openssl_x509_verify' => ['int', 'certificate'=>'string|resource', 'public_key'=>'string|array|resource'], + ], + 'changed' => [ + 'Locale::lookup' => [ + 'old' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'string'], + 'new' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'?string'], + ], + 'SplFileObject::fwrite' => [ + 'old' => ['int', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'data'=>'string', 'length='=>'int'], + ], + 'SplTempFileObject::fwrite' => [ + 'old' => ['int', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'data'=>'string', 'length='=>'int'], + ], + 'array_merge' => [ + 'old' => ['array', '...arrays'=>'array'], + 'new' => ['array', '...arrays='=>'array'], + ], + 'array_merge_recursive' => [ + 'old' => ['array', '...arrays'=>'array'], + 'new' => ['array', '...arrays='=>'array'], + ], + 'gzread' => [ + 'old' => ['string|0', 'stream'=>'resource', 'length'=>'int'], + 'new' => ['string|false', 'stream'=>'resource', 'length'=>'int'], + ], + 'locale_lookup' => [ + 'old' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'string'], + 'new' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'?string'], + ], + 'openssl_random_pseudo_bytes' => [ + 'old' => ['string|false', 'length'=>'int', '&w_strong_result='=>'bool'], + 'new' => ['string', 'length'=>'int', '&w_strong_result='=>'bool'], + ], + 'password_hash' => [ + 'old' => ['string|false', 'password'=>'string', 'algo'=>'int', 'options='=>'array'], + 'new' => ['string|false', 'password'=>'string', 'algo'=>'int|string|null', 'options='=>'array'], + ], + 'password_needs_rehash' => [ + 'old' => ['bool', 'hash'=>'string', 'algo'=>'int', 'options='=>'array'], + 'new' => ['bool', 'hash'=>'string', 'algo'=>'int|string|null', 'options='=>'array'], + ], + 'preg_replace_callback' => [ + 'old' => ['string|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int'], + 'new' => ['string|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], + ], + 'preg_replace_callback\'1' => [ + 'old' => ['string[]|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int'], + 'new' => ['string[]|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], + ], + 'preg_replace_callback_array' => [ + 'old' => ['string|null', 'pattern'=>'array', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int'], + 'new' => ['string|null', 'pattern'=>'array', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], + ], + 'preg_replace_callback_array\'1' => [ + 'old' => ['string[]|null', 'pattern'=>'array', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int'], + 'new' => ['string[]|null', 'pattern'=>'array', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int', 'flags='=>'int'], + ], + 'proc_open' => [ + 'old' => ['resource|false', 'command'=>'string', 'descriptor_spec'=>'array', '&pipes'=>'resource[]', 'cwd='=>'?string', 'env_vars='=>'?array', 'options='=>'?array'], + 'new' => ['resource|false', 'command'=>'string|array', 'descriptor_spec'=>'array', '&pipes'=>'resource[]', 'cwd='=>'?string', 'env_vars='=>'?array', 'options='=>'?array'], + ], + 'strip_tags' => [ + 'old' => ['string', 'string'=>'string', 'allowed_tags='=>'string'], + 'new' => ['string', 'string'=>'string', 'allowed_tags='=>'string|list'], + ], + ], + 'removed' => [ + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_80_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_80_delta.php new file mode 100644 index 00000000..b2cc5c42 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_80_delta.php @@ -0,0 +1,2798 @@ + [ + 'DateTime::createFromInterface' => ['static', 'object'=>'DateTimeInterface'], + 'DateTimeImmutable::createFromInterface' => ['static', 'object'=>'DateTimeInterface'], + 'PhpToken::getTokenName' => ['?string'], + 'PhpToken::is' => ['bool', 'kind'=>'string|int|string[]|int[]'], + 'PhpToken::isIgnorable' => ['bool'], + 'PhpToken::tokenize' => ['list', 'code'=>'string', 'flags='=>'int'], + 'ReflectionClass::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], + 'ReflectionClassConstant::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], + 'ReflectionFunctionAbstract::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], + 'ReflectionParameter::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], + 'ReflectionProperty::getAttributes' => ['list', 'name='=>'?string', 'flags='=>'int'], + 'ReflectionUnionType::getTypes' => ['list'], + 'fdiv' => ['float', 'num1'=>'float', 'num2'=>'float'], + 'get_debug_type' => ['string', 'value'=>'mixed'], + 'get_resource_id' => ['int', 'resource'=>'resource'], + 'imagegetinterpolation' => ['int', 'image'=>'GdImage'], + 'str_contains' => ['bool', 'haystack'=>'string', 'needle'=>'string'], + 'str_ends_with' => ['bool', 'haystack'=>'string', 'needle'=>'string'], + 'str_starts_with' => ['bool', 'haystack'=>'string', 'needle'=>'string'], + ], + 'changed' => [ + 'Collator::getStrength' => [ + 'old' => ['int|false'], + 'new' => ['int'], + ], + 'DateTime::diff' => [ + 'old' => ['DateInterval|false', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], + 'new' => ['DateInterval', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], + ], + 'DateTime::format' => [ + 'old' => ['string|false', 'format'=>'string'], + 'new' => ['string', 'format'=>'string'], + ], + 'DateTime::getTimestamp' => [ + 'old' => ['int|false'], + 'new' => ['int'], + ], + 'DateTime::setTime' => [ + 'old' => ['static|false', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], + 'new' => ['static', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], + ], + 'DateTimeInterface::getTimestamp' => [ + 'old' => ['int|false'], + 'new' => ['int'], + ], + 'DateTimeZone::getOffset' => [ + 'old' => ['int|false', 'datetime'=>'DateTimeInterface'], + 'new' => ['int', 'datetime'=>'DateTimeInterface'], + ], + 'DateTimeZone::listIdentifiers' => [ + 'old' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'string|null'], + 'new' => ['list', 'timezoneGroup='=>'int', 'countryCode='=>'string|null'], + ], + 'Directory::close' => [ + 'old' => ['void', 'dir_handle='=>'resource'], + 'new' => ['void'], + ], + 'Directory::read' => [ + 'old' => ['string|false', 'dir_handle='=>'resource'], + 'new' => ['string|false'], + ], + 'Directory::rewind' => [ + 'old' => ['void', 'dir_handle='=>'resource'], + 'new' => ['void'], + ], + 'ErrorException::__construct' => [ + 'old' => ['void', 'message='=>'string', 'code='=>'int', 'severity='=>'int', 'filename='=>'string', 'line='=>'int', 'previous='=>'?Throwable'], + 'new' => ['void', 'message='=>'string', 'code='=>'int', 'severity='=>'int', 'filename='=>'?string', 'line='=>'?int', 'previous='=>'?Throwable'], + ], + 'finfo::__construct' => [ + 'old' => ['void', 'flags='=>'int', 'magic_database='=>'string'], + 'new' => ['void', 'flags='=>'int', 'magic_database='=>'?string'], + ], + 'IntlDateFormatter::__construct' => [ + 'old' => ['void', 'locale'=>'?string', 'datetype'=>'null|int', 'timetype'=>'null|int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + 'new' => ['void', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + ], + 'IntlDateFormatter::create' => [ + 'old' => ['?IntlDateFormatter', 'locale'=>'?string', 'datetype'=>'null|int', 'timetype'=>'null|int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + 'new' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + ], + 'IntlDateFormatter::format' => [ + 'old' => ['string|false', 'value'=>'IntlCalendar|DateTimeInterface|array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int}|array{tm_sec: int, tm_min: int, tm_hour: int, tm_mday: int, tm_mon: int, tm_year: int, tm_wday: int, tm_yday: int, tm_isdst: int}|string|int|float'], + 'new' => ['string|false', 'datetime'=>'IntlCalendar|DateTimeInterface|array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int}|array{tm_sec: int, tm_min: int, tm_hour: int, tm_mday: int, tm_mon: int, tm_year: int, tm_wday: int, tm_yday: int, tm_isdst: int}|string|int|float'], + ], + 'IntlDateFormatter::formatObject' => [ + 'old' => ['string|false', 'object'=>'IntlCalendar|DateTime', 'format='=>'array{0: int, 1: int}|int|string|null', 'locale='=>'?string'], + 'new' => ['string|false', 'datetime'=>'IntlCalendar|DateTimeInterface', 'format='=>'array{0: int, 1: int}|int|string|null', 'locale='=>'?string'], + ], + 'IntlDateFormatter::getCalendar' => [ + 'old' => ['int'], + 'new' => ['int|false'], + ], + 'IntlDateFormatter::getCalendarObject' => [ + 'old' => ['IntlCalendar'], + 'new' => ['IntlCalendar|false|null'], + ], + 'IntlDateFormatter::getDateType' => [ + 'old' => ['int'], + 'new' => ['int|false'], + ], + 'IntlDateFormatter::getLocale' => [ + 'old' => ['string', 'which='=>'int'], + 'new' => ['string|false', 'type='=>'int'], + ], + 'IntlDateFormatter::getPattern' => [ + 'old' => ['string'], + 'new' => ['string|false'], + ], + 'IntlDateFormatter::getTimeType' => [ + 'old' => ['int'], + 'new' => ['int|false'], + ], + 'IntlDateFormatter::getTimeZoneId' => [ + 'old' => ['string'], + 'new' => ['string|false'], + ], + 'IntlDateFormatter::localtime' => [ + 'old' => ['array', 'value'=>'string', '&rw_position='=>'int'], + 'new' => ['array|false', 'string'=>'string', '&rw_offset='=>'int'], + ], + 'IntlDateFormatter::parse' => [ + 'old' => ['int|float', 'value'=>'string', '&rw_position='=>'int'], + 'new' => ['int|float|false', 'string'=>'string', '&rw_offset='=>'int'], + ], + 'IntlDateFormatter::setCalendar' => [ + 'old' => ['bool', 'which'=>'IntlCalendar|int|null'], + 'new' => ['bool', 'calendar'=>'IntlCalendar|int|null'], + ], + 'IntlDateFormatter::setLenient' => [ + 'old' => ['bool', 'lenient'=>'bool'], + 'new' => ['void', 'lenient'=>'bool'], + ], + 'IntlDateFormatter::setTimeZone' => [ + 'old' => ['null|false', 'zone'=>'IntlTimeZone|DateTimeZone|string|null'], + 'new' => ['null|false', 'timezone'=>'IntlTimeZone|DateTimeZone|string|null'], + ], + 'Locale::getDisplayLanguage' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'Locale::getDisplayName' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'Locale::getDisplayRegion' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'Locale::getDisplayScript' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'Locale::getDisplayVariant' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'NumberFormatter::__construct' => [ + 'old' => ['void', 'locale'=>'string', 'style'=>'int', 'pattern='=>'string'], + 'new' => ['void', 'locale'=>'string', 'style'=>'int', 'pattern='=>'?string'], + ], + 'NumberFormatter::create' => [ + 'old' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'string'], + 'new' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'?string'], + ], + 'PDOStatement::debugDumpParams' => [ + 'old' => ['void'], + 'new' => ['bool|null'], + ], + 'PDOStatement::errorCode' => [ + 'old' => ['string'], + 'new' => ['string|null'], + ], + 'PDOStatement::execute' => [ + 'old' => ['bool', 'bound_input_params='=>'?array'], + 'new' => ['bool', 'params='=>'?array'], + ], + 'PDOStatement::fetch' => [ + 'old' => ['mixed', 'how='=>'int', 'orientation='=>'int', 'offset='=>'int'], + 'new' => ['mixed', 'mode='=>'int', 'cursorOrientation='=>'int', 'cursorOffset='=>'int'], + ], + 'PDOStatement::fetchAll' => [ + 'old' => ['array|false', 'how='=>'int', 'fetch_argument='=>'int|string|callable', 'ctor_args='=>'?array'], + 'new' => ['array', 'mode='=>'int', '...args='=>'mixed'], + ], + 'PDOStatement::fetchColumn' => [ + 'old' => ['string|int|float|bool|null', 'column_number='=>'int'], + 'new' => ['mixed', 'column='=>'int'], + ], + 'PDOStatement::setFetchMode' => [ + 'old' => ['bool', 'mode'=>'int'], + 'new' => ['bool', 'mode'=>'int', '...args='=>'mixed'], + ], + 'PharData::compress' => [ + 'old' => ['?PharData', 'compression'=>'int', 'extension='=>'string'], + 'new' => ['?PharData', 'compression'=>'int', 'extension='=>'?string'], + ], + 'PharData::convertToData' => [ + 'old' => ['?PharData', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'new' => ['?PharData', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], + ], + 'PharData::convertToExecutable' => [ + 'old' => ['?Phar', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'new' => ['?Phar', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], + ], + 'PharData::decompress' => [ + 'old' => ['?PharData', 'extension='=>'string'], + 'new' => ['?PharData', 'extension='=>'?string'], + ], + 'Phar::compress' => [ + 'old' => ['?Phar', 'compression'=>'int', 'extension='=>'string'], + 'new' => ['?Phar', 'compression'=>'int', 'extension='=>'?string'], + ], + 'Phar::convertToData' => [ + 'old' => ['?PharData', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'new' => ['?PharData', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], + ], + 'Phar::convertToExecutable' => [ + 'old' => ['?Phar', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'new' => ['?Phar', 'format='=>'?int', 'compression='=>'?int', 'extension='=>'?string'], + ], + 'Phar::decompress' => [ + 'old' => ['?Phar', 'extension='=>'string'], + 'new' => ['?Phar', 'extension='=>'?string'], + ], + 'Phar::getMetadata' => [ + 'old' => ['mixed'], + 'new' => ['mixed', 'unserializeOptions='=>'array'], + ], + 'PharFileInfo::getMetadata' => [ + 'old' => ['mixed'], + 'new' => ['mixed', 'unserializeOptions='=>'array'], + ], + 'RecursiveIteratorIterator::getSubIterator' => [ + 'old' => ['?RecursiveIterator', 'level='=>'int'], + 'new' => ['?RecursiveIterator', 'level='=>'?int'], + ], + 'RecursiveTreeIterator::getSubIterator' => [ + 'old' => ['?RecursiveIterator', 'level='=>'int'], + 'new' => ['?RecursiveIterator', 'level='=>'?int'], + ], + 'ReflectionClass::getConstants' => [ + 'old' => ['array'], + 'new' => ['array', 'filter='=>'?int'], + ], + 'ReflectionClass::getReflectionConstants' => [ + 'old' => ['list'], + 'new' => ['list', 'filter='=>'?int'], + ], + 'ReflectionClass::newInstanceArgs' => [ + 'old' => ['object', 'args='=>'list'], + 'new' => ['object', 'args='=>'list|array'], + ], + 'ReflectionMethod::getClosure' => [ + 'old' => ['?Closure', 'object='=>'object'], + 'new' => ['Closure', 'object='=>'?object'], + ], + 'ReflectionObject::newInstanceArgs' => [ + 'old' => ['object', 'args='=>'list'], + 'new' => ['object', 'args='=>'list|array'], + ], + 'ReflectionProperty::getValue' => [ + 'old' => ['mixed', 'object='=>'object'], + 'new' => ['mixed', 'object='=>'null|object'], + ], + 'SplFileInfo::getFileInfo' => [ + 'old' => ['SplFileInfo', 'class='=>'string'], + 'new' => ['SplFileInfo', 'class='=>'?string'], + ], + 'SplFileInfo::getPathInfo' => [ + 'old' => ['SplFileInfo|null', 'class='=>'string'], + 'new' => ['SplFileInfo|null', 'class='=>'?string'], + ], + 'SplFileInfo::openFile' => [ + 'old' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'resource'], + 'new' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], + ], + 'SplFileObject::getFileInfo' => [ + 'old' => ['SplFileInfo', 'class='=>'string'], + 'new' => ['SplFileInfo', 'class='=>'?string'], + ], + 'SplFileObject::getPathInfo' => [ + 'old' => ['SplFileInfo|null', 'class='=>'string'], + 'new' => ['SplFileInfo|null', 'class='=>'?string'], + ], + 'SplFileObject::openFile' => [ + 'old' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'resource'], + 'new' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], + ], + 'SplTempFileObject::getFileInfo' => [ + 'old' => ['SplFileInfo', 'class='=>'string'], + 'new' => ['SplFileInfo', 'class='=>'?string'], + ], + 'SplTempFileObject::getPathInfo' => [ + 'old' => ['SplFileInfo|null', 'class='=>'string'], + 'new' => ['SplFileInfo|null', 'class='=>'?string'], + ], + 'SplTempFileObject::openFile' => [ + 'old' => ['SplTempFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'resource'], + 'new' => ['SplTempFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], + ], + 'tidy::__construct' => [ + 'old' => ['void', 'filename='=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'new' => ['void', 'filename='=>'?string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], + ], + 'tidy::parseFile' => [ + 'old' => ['bool', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'new' => ['bool', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], + ], + 'tidy::parseString' => [ + 'old' => ['bool', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'new' => ['bool', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], + ], + 'tidy::repairFile' => [ + 'old' => ['string', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'new' => ['string', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], + ], + 'tidy::repairString' => [ + 'old' => ['string', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], + ], + 'XMLWriter::flush' => [ + 'old' => ['string|int|false', 'empty='=>'bool'], + 'new' => ['string|int', 'empty='=>'bool'], + ], + 'SimpleXMLElement::asXML' => [ + 'old' => ['string|bool', 'filename'=>'string'], + 'new' => ['string|bool', 'filename='=>'?string'], + ], + 'SimpleXMLElement::saveXML' => [ + 'old' => ['string|bool', 'filename='=>'string'], + 'new' => ['string|bool', 'filename='=>'?string'], + ], + 'SoapClient::__doRequest' => [ + 'old' => ['?string', 'request'=>'string', 'location'=>'string', 'action'=>'string', 'version'=>'int', 'one_way='=>'int'], + 'new' => ['?string', 'request'=>'string', 'location'=>'string', 'action'=>'string', 'version'=>'int', 'one_way='=>'bool'], + ], + 'SplFileObject::fgets' => [ + 'old' => ['string|false'], + 'new' => ['string'], + ], + 'SplFileObject::getCurrentLine' => [ + 'old' => ['string|false'], + 'new' => ['string'], + ], + 'XMLWriter::startAttributeNs' => [ + 'old' => ['bool', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string'], + 'new' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], + ], + 'XMLWriter::writeAttributeNs' => [ + 'old' => ['bool', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], + 'new' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], + ], + 'XMLWriter::writeDtdEntity' => [ + 'old' => ['bool', 'name'=>'string', 'content'=>'string', 'isParam'=>'bool', 'publicId'=>'string', 'systemId'=>'string', 'notationData'=>'string'], + 'new' => ['bool', 'name'=>'string', 'content'=>'string', 'isParam='=>'bool', 'publicId='=>'?string', 'systemId='=>'?string', 'notationData='=>'?string'], + ], + 'ZipArchive::getStatusString' => [ + 'old' => ['string|false'], + 'new' => ['string'], + ], + 'ZipArchive::setEncryptionIndex' => [ + 'old' => ['bool', 'index'=>'int', 'method'=>'string', 'password='=>'string'], + 'new' => ['bool', 'index'=>'int', 'method'=>'string', 'password='=>'?string'], + ], + 'ZipArchive::setEncryptionName' => [ + 'old' => ['bool', 'name'=>'string', 'method'=>'int', 'password='=>'string'], + 'new' => ['bool', 'name'=>'string', 'method'=>'int', 'password='=>'?string'], + ], + 'array_column' => [ + 'old' => ['array', 'array'=>'array', 'column_key'=>'mixed', 'index_key='=>'mixed'], + 'new' => ['array', 'array'=>'array', 'column_key'=>'int|string|null', 'index_key='=>'int|string|null'], + ], + 'array_combine' => [ + 'old' => ['associative-array|false', 'keys'=>'string[]|int[]', 'values'=>'array'], + 'new' => ['associative-array', 'keys'=>'string[]|int[]', 'values'=>'array'], + ], + 'array_diff' => [ + 'old' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'new' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], + ], + 'array_diff_assoc' => [ + 'old' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'new' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], + ], + 'array_diff_key' => [ + 'old' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'new' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], + ], + 'array_filter' => [ + 'old' => ['associative-array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar', 'mode='=>'int'], + 'new' => ['associative-array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar|null', 'mode='=>'int'], + ], + 'array_key_exists' => [ + 'old' => ['bool', 'key'=>'string|int', 'array'=>'array|object'], + 'new' => ['bool', 'key'=>'string|int', 'array'=>'array'], + ], + 'array_intersect' => [ + 'old' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'new' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], + ], + 'array_intersect_assoc' => [ + 'old' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'new' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], + ], + 'array_intersect_key' => [ + 'old' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'new' => ['associative-array', 'array'=>'array', '...arrays='=>'array'], + ], + 'array_splice' => [ + 'old' => ['array', '&rw_array'=>'array', 'offset'=>'int', 'length='=>'int', 'replacement='=>'array|string'], + 'new' => ['array', '&rw_array'=>'array', 'offset'=>'int', 'length='=>'?int', 'replacement='=>'array|string'], + ], + 'bcadd' => [ + 'old' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bccomp' => [ + 'old' => ['int', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'new' => ['int', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcdiv' => [ + 'old' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcmod' => [ + 'old' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcmul' => [ + 'old' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcpow' => [ + 'old' => ['numeric-string', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcpowmod' => [ + 'old' => ['numeric-string|false', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'modulus'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'modulus'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcscale' => [ + 'old' => ['int', 'scale='=>'int'], + 'new' => ['int', 'scale='=>'int|null'], + ], + 'bcsqrt' => [ + 'old' => ['numeric-string', 'num'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bcsub' => [ + 'old' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'new' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int|null'], + ], + 'bind_textdomain_codeset' => [ + 'old' => ['string', 'domain'=>'string', 'codeset'=>'string'], + 'new' => ['string', 'domain'=>'string', 'codeset'=>'?string'], + ], + 'bindtextdomain' => [ + 'old' => ['string', 'domain'=>'string', 'directory'=>'string'], + 'new' => ['string', 'domain'=>'string', 'directory'=>'?string'], + ], + 'bzdecompress' => [ + 'old' => ['string|int|false', 'data'=>'string', 'use_less_memory='=>'int'], + 'new' => ['string|int|false', 'data'=>'string', 'use_less_memory='=>'bool'], + ], + 'bzwrite' => [ + 'old' => ['int|false', 'bz'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'bz'=>'resource', 'data'=>'string', 'length='=>'?int'], + ], + 'collator_get_strength' => [ + 'old' => ['int|false', 'object'=>'collator'], + 'new' => ['int', 'object'=>'collator'], + ], + 'com_load_typelib' => [ + 'old' => ['bool', 'typelib_name'=>'string', 'case_insensitive='=>'bool'], + 'new' => ['bool', 'typelib_name'=>'string', 'case_insensitive='=>'true'], + ], + 'count' => [ + 'old' => ['int<0, max>', 'value'=>'Countable|array|SimpleXMLElement', 'mode='=>'int'], + 'new' => ['int<0, max>', 'value'=>'Countable|array', 'mode='=>'int'], + ], + 'count_chars' => [ + 'old' => ['array|false', 'input'=>'string', 'mode='=>'0|1|2'], + 'new' => ['array', 'input'=>'string', 'mode='=>'0|1|2'], + ], + 'count_chars\'1' => [ + 'old' => ['string|false', 'input'=>'string', 'mode='=>'3|4'], + 'new' => ['string', 'input'=>'string', 'mode='=>'3|4'], + ], + 'crypt' => [ + 'old' => ['string', 'string'=>'string', 'salt='=>'string'], + 'new' => ['string', 'string'=>'string', 'salt'=>'string'], + ], + 'curl_close' => [ + 'old' => ['void', 'ch'=>'resource'], + 'new' => ['void', 'handle'=>'CurlHandle'], + ], + 'curl_copy_handle' => [ + 'old' => ['resource', 'ch'=>'resource'], + 'new' => ['CurlHandle', 'handle'=>'CurlHandle'], + ], + 'curl_errno' => [ + 'old' => ['int', 'ch'=>'resource'], + 'new' => ['int', 'handle'=>'CurlHandle'], + ], + 'curl_error' => [ + 'old' => ['string', 'ch'=>'resource'], + 'new' => ['string', 'handle'=>'CurlHandle'], + ], + 'curl_escape' => [ + 'old' => ['string|false', 'ch'=>'resource', 'string'=>'string'], + 'new' => ['string|false', 'handle'=>'CurlHandle', 'string'=>'string'], + ], + 'curl_exec' => [ + 'old' => ['bool|string', 'ch'=>'resource'], + 'new' => ['bool|string', 'handle'=>'CurlHandle'], + ], + 'curl_file_create' => [ + 'old' => ['CURLFile', 'filename'=>'string', 'mimetype='=>'string', 'postfilename='=>'string'], + 'new' => ['CURLFile', 'filename'=>'string', 'mime_type='=>'string|null', 'posted_filename='=>'string|null'], + ], + 'curl_getinfo' => [ + 'old' => ['mixed', 'ch'=>'resource', 'option='=>'int'], + 'new' => ['mixed', 'handle'=>'CurlHandle', 'option='=>'?int'], + ], + 'curl_init' => [ + 'old' => ['resource|false', 'url='=>'string'], + 'new' => ['CurlHandle|false', 'url='=>'?string'], + ], + 'curl_multi_add_handle' => [ + 'old' => ['int', 'mh'=>'resource', 'ch'=>'resource'], + 'new' => ['int', 'multi_handle'=>'CurlMultiHandle', 'handle'=>'CurlHandle'], + ], + 'curl_multi_close' => [ + 'old' => ['void', 'mh'=>'resource'], + 'new' => ['void', 'multi_handle'=>'CurlMultiHandle'], + ], + 'curl_multi_errno' => [ + 'old' => ['int|false', 'mh'=>'resource'], + 'new' => ['int', 'multi_handle'=>'CurlMultiHandle'], + ], + 'curl_multi_exec' => [ + 'old' => ['int', 'mh'=>'resource', '&w_still_running'=>'int'], + 'new' => ['int', 'multi_handle'=>'CurlMultiHandle', '&w_still_running'=>'int'], + ], + 'curl_multi_getcontent' => [ + 'old' => ['string', 'ch'=>'resource'], + 'new' => ['string', 'handle'=>'CurlHandle'], + ], + 'curl_multi_info_read' => [ + 'old' => ['array|false', 'mh'=>'resource', '&w_msgs_in_queue='=>'int'], + 'new' => ['array|false', 'multi_handle'=>'CurlMultiHandle', '&w_queued_messages='=>'int'], + ], + 'curl_multi_init' => [ + 'old' => ['resource'], + 'new' => ['CurlMultiHandle'], + ], + 'curl_multi_remove_handle' => [ + 'old' => ['int', 'mh'=>'resource', 'ch'=>'resource'], + 'new' => ['int', 'multi_handle'=>'CurlMultiHandle', 'handle'=>'CurlHandle'], + ], + 'curl_multi_select' => [ + 'old' => ['int', 'mh'=>'resource', 'timeout='=>'float'], + 'new' => ['int', 'multi_handle'=>'CurlMultiHandle', 'timeout='=>'float'], + ], + 'curl_multi_setopt' => [ + 'old' => ['bool', 'mh'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'new' => ['bool', 'multi_handle'=>'CurlMultiHandle', 'option'=>'int', 'value'=>'mixed'], + ], + 'curl_pause' => [ + 'old' => ['int', 'ch'=>'resource', 'bitmask'=>'int'], + 'new' => ['int', 'handle'=>'CurlHandle', 'flags'=>'int'], + ], + 'curl_reset' => [ + 'old' => ['void', 'ch'=>'resource'], + 'new' => ['void', 'handle'=>'CurlHandle'], + ], + 'curl_setopt' => [ + 'old' => ['bool', 'ch'=>'resource', 'option'=>'int', 'value'=>'callable|mixed'], + 'new' => ['bool', 'handle'=>'CurlHandle', 'option'=>'int', 'value'=>'callable|mixed'], + ], + 'curl_setopt_array' => [ + 'old' => ['bool', 'ch'=>'resource', 'options'=>'array'], + 'new' => ['bool', 'handle'=>'CurlHandle', 'options'=>'array'], + ], + 'curl_share_close' => [ + 'old' => ['void', 'sh'=>'resource'], + 'new' => ['void', 'share_handle'=>'CurlShareHandle'], + ], + 'curl_share_errno' => [ + 'old' => ['int|false', 'sh'=>'resource'], + 'new' => ['int', 'share_handle'=>'CurlShareHandle'], + ], + 'curl_share_init' => [ + 'old' => ['resource'], + 'new' => ['CurlShareHandle'], + ], + 'curl_share_setopt' => [ + 'old' => ['bool', 'sh'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'new' => ['bool', 'share_handle'=>'CurlShareHandle', 'option'=>'int', 'value'=>'mixed'], + ], + 'curl_unescape' => [ + 'old' => ['string|false', 'ch'=>'resource', 'string'=>'string'], + 'new' => ['string|false', 'handle'=>'CurlHandle', 'string'=>'string'], + ], + 'date' => [ + 'old' => ['string', 'format'=>'string', 'timestamp='=>'int'], + 'new' => ['string', 'format'=>'string', 'timestamp='=>'?int'], + ], + 'date_add' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], + 'new' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], + ], + 'date_date_set' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'], + 'new' => ['DateTime', 'object'=>'DateTime', 'year'=>'int', 'month'=>'int', 'day'=>'int'], + ], + 'date_diff' => [ + 'old' => ['DateInterval|false', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'], + 'new' => ['DateInterval', 'baseObject'=>'DateTimeInterface', 'targetObject'=>'DateTimeInterface', 'absolute='=>'bool'], + ], + 'date_format' => [ + 'old' => ['string|false', 'object'=>'DateTimeInterface', 'format'=>'string'], + 'new' => ['string', 'object'=>'DateTimeInterface', 'format'=>'string'], + ], + 'date_offset_get' => [ + 'old' => ['int|false', 'object'=>'DateTimeInterface'], + 'new' => ['int', 'object'=>'DateTimeInterface'], + ], + 'date_parse' => [ + 'old' => ['array|false', 'datetime'=>'string'], + 'new' => ['array', 'datetime'=>'string'], + ], + 'date_sub' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], + 'new' => ['DateTime', 'object'=>'DateTime', 'interval'=>'DateInterval'], + ], + 'date_sun_info' => [ + 'old' => ['array|false', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], + 'new' => ['array', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], + ], + 'date_sunrise' => [ + 'old' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + 'new' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'?float', 'longitude='=>'?float', 'zenith='=>'?float', 'utcOffset='=>'?float'], + ], + 'date_sunset' => [ + 'old' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + 'new' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'?float', 'longitude='=>'?float', 'zenith='=>'?float', 'utcOffset='=>'?float'], + ], + 'date_time_set' => [ + 'old' => ['DateTime|false', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], + 'new' => ['DateTime', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], + ], + 'date_timestamp_set' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'timestamp'=>'int'], + 'new' => ['DateTime', 'object'=>'DateTime', 'timestamp'=>'int'], + ], + 'date_timezone_set' => [ + 'old' => ['DateTime|false', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], + 'new' => ['DateTime', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], + ], + 'datefmt_create' => [ + 'old' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'string'], + 'new' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + ], + 'deflate_add' => [ + 'old' => ['string|false', 'context'=>'resource', 'data'=>'string', 'flush_mode='=>'int'], + 'new' => ['string|false', 'context'=>'DeflateContext', 'data'=>'string', 'flush_mode='=>'int'], + ], + 'deflate_init' => [ + 'old' => ['resource|false', 'encoding'=>'int', 'options='=>'array'], + 'new' => ['DeflateContext|false', 'encoding'=>'int', 'options='=>'array'], + ], + 'dom_import_simplexml' => [ + 'old' => ['DOMElement|null', 'node'=>'SimpleXMLElement'], + 'new' => ['DOMElement', 'node'=>'SimpleXMLElement'], + ], + 'easter_date' => [ + 'old' => ['int', 'year='=>'int'], + 'new' => ['int', 'year='=>'?int'], + ], + 'easter_days' => [ + 'old' => ['int', 'year='=>'int', 'mode='=>'int'], + 'new' => ['int', 'year='=>'?int', 'mode='=>'int'], + ], + 'enchant_broker_describe' => [ + 'old' => ['array|false', 'broker'=>'resource'], + 'new' => ['array', 'broker'=>'EnchantBroker'], + ], + 'enchant_broker_dict_exists' => [ + 'old' => ['bool', 'broker'=>'resource', 'tag'=>'string'], + 'new' => ['bool', 'broker'=>'EnchantBroker', 'tag'=>'string'], + ], + 'enchant_broker_free' => [ + 'old' => ['bool', 'broker'=>'resource'], + 'new' => ['bool', 'broker'=>'EnchantBroker'], + ], + 'enchant_broker_free_dict' => [ + 'old' => ['bool', 'dictionary'=>'resource'], + 'new' => ['bool', 'dictionary'=>'EnchantBroker'], + ], + 'enchant_broker_get_dict_path' => [ + 'old' => ['string', 'broker'=>'resource', 'type'=>'int'], + 'new' => ['string', 'broker'=>'EnchantBroker', 'type'=>'int'], + ], + 'enchant_broker_get_error' => [ + 'old' => ['string|false', 'broker'=>'resource'], + 'new' => ['string|false', 'broker'=>'EnchantBroker'], + ], + 'enchant_broker_init' => [ + 'old' => ['resource|false'], + 'new' => ['EnchantBroker|false'], + ], + 'enchant_broker_list_dicts' => [ + 'old' => ['array|false', 'broker'=>'resource'], + 'new' => ['array', 'broker'=>'EnchantBroker'], + ], + 'enchant_broker_request_dict' => [ + 'old' => ['resource|false', 'broker'=>'resource', 'tag'=>'string'], + 'new' => ['EnchantDictionary|false', 'broker'=>'EnchantBroker', 'tag'=>'string'], + ], + 'enchant_broker_request_pwl_dict' => [ + 'old' => ['resource|false', 'broker'=>'resource', 'filename'=>'string'], + 'new' => ['EnchantDictionary|false', 'broker'=>'EnchantBroker', 'filename'=>'string'], + ], + 'enchant_broker_set_dict_path' => [ + 'old' => ['bool', 'broker'=>'resource', 'type'=>'int', 'path'=>'string'], + 'new' => ['bool', 'broker'=>'EnchantBroker', 'type'=>'int', 'path'=>'string'], + ], + 'enchant_broker_set_ordering' => [ + 'old' => ['bool', 'broker'=>'resource', 'tag'=>'string', 'ordering'=>'string'], + 'new' => ['bool', 'broker'=>'EnchantBroker', 'tag'=>'string', 'ordering'=>'string'], + ], + 'enchant_dict_add_to_personal' => [ + 'old' => ['void', 'dictionary'=>'resource', 'word'=>'string'], + 'new' => ['void', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], + ], + 'enchant_dict_add_to_session' => [ + 'old' => ['void', 'dictionary'=>'resource', 'word'=>'string'], + 'new' => ['void', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], + ], + 'enchant_dict_check' => [ + 'old' => ['bool', 'dictionary'=>'resource', 'word'=>'string'], + 'new' => ['bool', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], + ], + 'enchant_dict_describe' => [ + 'old' => ['array', 'dictionary'=>'resource'], + 'new' => ['array', 'dictionary'=>'EnchantDictionary'], + ], + 'enchant_dict_get_error' => [ + 'old' => ['string', 'dictionary'=>'resource'], + 'new' => ['string', 'dictionary'=>'EnchantDictionary'], + ], + 'enchant_dict_is_in_session' => [ + 'old' => ['bool', 'dictionary'=>'resource', 'word'=>'string'], + 'new' => ['bool', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], + ], + 'enchant_dict_quick_check' => [ + 'old' => ['bool', 'dictionary'=>'resource', 'word'=>'string', '&w_suggestions='=>'array'], + 'new' => ['bool', 'dictionary'=>'EnchantDictionary', 'word'=>'string', '&w_suggestions='=>'array'], + ], + 'enchant_dict_store_replacement' => [ + 'old' => ['void', 'dictionary'=>'resource', 'misspelled'=>'string', 'correct'=>'string'], + 'new' => ['void', 'dictionary'=>'EnchantDictionary', 'misspelled'=>'string', 'correct'=>'string'], + ], + 'enchant_dict_suggest' => [ + 'old' => ['array', 'dictionary'=>'resource', 'word'=>'string'], + 'new' => ['array', 'dictionary'=>'EnchantDictionary', 'word'=>'string'], + ], + 'error_log' => [ + 'old' => ['bool', 'message'=>'string', 'message_type='=>'int', 'destination='=>'string', 'additional_headers='=>'string'], + 'new' => ['bool', 'message'=>'string', 'message_type='=>'int', 'destination='=>'?string', 'additional_headers='=>'?string'], + ], + 'error_reporting' => [ + 'old' => ['int', 'error_level='=>'int'], + 'new' => ['int', 'error_level='=>'?int'], + ], + 'exif_read_data' => [ + 'old' => ['array|false', 'file'=>'string|resource', 'required_sections='=>'string', 'as_arrays='=>'bool', 'read_thumbnail='=>'bool'], + 'new' => ['array|false', 'file'=>'string|resource', 'required_sections='=>'?string', 'as_arrays='=>'bool', 'read_thumbnail='=>'bool'], + ], + 'explode' => [ + 'old' => ['list|false', 'separator'=>'string', 'string'=>'string', 'limit='=>'int'], + 'new' => ['list', 'separator'=>'string', 'string'=>'string', 'limit='=>'int'], + ], + 'fgetcsv' => [ + 'old' => ['list|array{0: null}|false', 'stream'=>'resource', 'length='=>'int', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'new' => ['list|array{0: null}|false', 'stream'=>'resource', 'length='=>'?int', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + ], + 'fgets' => [ + 'old' => ['string|false', 'stream'=>'resource', 'length='=>'int'], + 'new' => ['string|false', 'stream'=>'resource', 'length='=>'?int'], + ], + 'file_get_contents' => [ + 'old' => ['string|false', 'filename'=>'string', 'use_include_path='=>'bool', 'context='=>'?resource', 'offset='=>'int', 'length='=>'int'], + 'new' => ['string|false', 'filename'=>'string', 'use_include_path='=>'bool', 'context='=>'?resource', 'offset='=>'int', 'length='=>'?int'], + ], + 'finfo_open' => [ + 'old' => ['resource|false', 'flags='=>'int', 'magic_database='=>'string'], + 'new' => ['resource|false', 'flags='=>'int', 'magic_database='=>'?string'], + ], + 'fputs' => [ + 'old' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], + ], + 'fsockopen' => [ + 'old' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'float'], + 'new' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'?float'], + ], + 'fwrite' => [ + 'old' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], + ], + 'get_class_methods' => [ + 'old' => ['list|null', 'object_or_class'=>'mixed'], + 'new' => ['list', 'object_or_class'=>'object|class-string'], + ], + 'get_headers' => [ + 'old' => ['array|false', 'url'=>'string', 'associative='=>'int', 'context='=>'?resource'], + 'new' => ['array|false', 'url'=>'string', 'associative='=>'bool', 'context='=>'?resource'], + ], + 'get_parent_class' => [ + 'old' => ['class-string|false', 'object_or_class='=>'mixed'], + 'new' => ['class-string|false', 'object_or_class='=>'object|class-string'], + ], + 'get_resources' => [ + 'old' => ['array', 'type='=>'string'], + 'new' => ['array', 'type='=>'?string'], + ], + 'getdate' => [ + 'old' => ['array{seconds: int<0, 59>, minutes: int<0, 59>, hours: int<0, 23>, mday: int<1, 31>, wday: int<0, 6>, mon: int<1, 12>, year: int, yday: int<0, 365>, weekday: "Monday"|"Tuesday"|"Wednesday"|"Thursday"|"Friday"|"Saturday"|"Sunday", month: "January"|"February"|"March"|"April"|"May"|"June"|"July"|"August"|"September"|"October"|"November"|"December", 0: int}', 'timestamp='=>'int'], + 'new' => ['array{seconds: int<0, 59>, minutes: int<0, 59>, hours: int<0, 23>, mday: int<1, 31>, wday: int<0, 6>, mon: int<1, 12>, year: int, yday: int<0, 365>, weekday: "Monday"|"Tuesday"|"Wednesday"|"Thursday"|"Friday"|"Saturday"|"Sunday", month: "January"|"February"|"March"|"April"|"May"|"June"|"July"|"August"|"September"|"October"|"November"|"December", 0: int}', 'timestamp='=>'?int'], + ], + 'gmdate' => [ + 'old' => ['string', 'format'=>'string', 'timestamp='=>'int'], + 'new' => ['string', 'format'=>'string', 'timestamp='=>'int|null'], + ], + 'gmmktime' => [ + 'old' => ['int|false', 'hour='=>'int', 'minute='=>'int', 'second='=>'int', 'month='=>'int', 'day='=>'int', 'year='=>'int'], + 'new' => ['int|false', 'hour'=>'int', 'minute='=>'int|null', 'second='=>'int|null', 'month='=>'int|null', 'day='=>'int|null', 'year='=>'int|null'], + ], + 'gmp_binomial' => [ + 'old' => ['GMP|false', 'n'=>'GMP|string|int', 'k'=>'int'], + 'new' => ['GMP', 'n'=>'GMP|string|int', 'k'=>'int'], + ], + 'gmp_export' => [ + 'old' => ['string|false', 'num'=>'GMP|string|int', 'word_size='=>'int', 'flags='=>'int'], + 'new' => ['string', 'num'=>'GMP|string|int', 'word_size='=>'int', 'flags='=>'int'], + ], + 'gmp_import' => [ + 'old' => ['GMP|false', 'data'=>'string', 'word_size='=>'int', 'flags='=>'int'], + 'new' => ['GMP', 'data'=>'string', 'word_size='=>'int', 'flags='=>'int'], + ], + 'gmstrftime' => [ + 'old' => ['string|false', 'format'=>'string', 'timestamp='=>'int'], + 'new' => ['string|false', 'format'=>'string', 'timestamp='=>'?int'], + ], + 'gzgets' => [ + 'old' => ['string|false', 'stream'=>'resource', 'length='=>'int'], + 'new' => ['string|false', 'stream'=>'resource', 'length='=>'?int'], + ], + 'gzputs' => [ + 'old' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], + ], + 'gzwrite' => [ + 'old' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'?int'], + ], + 'hash' => [ + 'old' => ['string|false', 'algo'=>'string', 'data'=>'string', 'binary='=>'bool'], + 'new' => ['non-empty-string', 'algo'=>'string', 'data'=>'string', 'binary='=>'bool'], + ], + 'hash_hmac' => [ + 'old' => ['non-empty-string|false', 'algo'=>'string', 'data'=>'string', 'key'=>'string', 'binary='=>'bool'], + 'new' => ['non-empty-string', 'algo'=>'string', 'data'=>'string', 'key'=>'string', 'binary='=>'bool'], + ], + 'hash_hmac_file' => [ + 'old' => ['non-empty-string|false', 'algo'=>'string', 'data'=>'string', 'key'=>'string', 'binary='=>'bool'], + 'new' => ['non-empty-string', 'algo'=>'string', 'filename'=>'string', 'key'=>'string', 'binary='=>'bool'], + ], + 'hash_init' => [ + 'old' => ['HashContext|false', 'algo'=>'string', 'flags='=>'int', 'key='=>'string'], + 'new' => ['HashContext', 'algo'=>'string', 'flags='=>'int', 'key='=>'string'], + ], + 'hash_hkdf' => [ + 'old' => ['non-empty-string|false', 'algo'=>'string', 'key'=>'string', 'length='=>'int', 'info='=>'string', 'salt='=>'string'], + 'new' => ['non-empty-string', 'algo'=>'string', 'key'=>'string', 'length='=>'int', 'info='=>'string', 'salt='=>'string'], + ], + 'hash_update_file' => [ + 'old' => ['bool', 'context'=>'HashContext', 'filename'=>'string', 'stream_context='=>'resource'], + 'new' => ['bool', 'context'=>'HashContext', 'filename'=>'string', 'stream_context='=>'?resource'], + ], + 'header_remove' => [ + 'old' => ['void', 'name='=>'string'], + 'new' => ['void', 'name='=>'?string'], + ], + 'html_entity_decode' => [ + 'old' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'?string'], + ], + 'htmlentities' => [ + 'old' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'string', 'double_encode='=>'bool'], + 'new' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'?string', 'double_encode='=>'bool'], + ], + 'iconv_mime_decode' => [ + 'old' => ['string|false', 'string'=>'string', 'mode='=>'int', 'encoding='=>'string'], + 'new' => ['string|false', 'string'=>'string', 'mode='=>'int', 'encoding='=>'?string'], + ], + 'iconv_mime_decode_headers' => [ + 'old' => ['array|false', 'headers'=>'string', 'mode='=>'int', 'encoding='=>'string'], + 'new' => ['array|false', 'headers'=>'string', 'mode='=>'int', 'encoding='=>'?string'], + ], + 'iconv_strlen' => [ + 'old' => ['0|positive-int|false', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['0|positive-int|false', 'string'=>'string', 'encoding='=>'?string'], + ], + 'iconv_strpos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'?string'], + ], + 'iconv_strrpos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'?string'], + ], + 'iconv_substr' => [ + 'old' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'int', 'encoding='=>'string'], + 'new' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'?int', 'encoding='=>'?string'], + ], + 'idate' => [ + 'old' => ['int', 'format'=>'string', 'timestamp='=>'int'], + 'new' => ['int', 'format'=>'string', 'timestamp='=>'?int'], + ], + 'ignore_user_abort' => [ + 'old' => ['int', 'enable='=>'bool'], + 'new' => ['int', 'enable='=>'?bool'], + ], + 'imageaffine' => [ + 'old' => ['resource|false', 'src'=>'resource', 'affine'=>'array', 'clip='=>'array'], + 'new' => ['false|GdImage', 'image'=>'GdImage', 'affine'=>'array', 'clip='=>'?array'], + ], + 'imagealphablending' => [ + 'old' => ['bool', 'image'=>'resource', 'enable'=>'bool'], + 'new' => ['bool', 'image'=>'GdImage', 'enable'=>'bool'], + ], + 'imageantialias' => [ + 'old' => ['bool', 'image'=>'resource', 'enable'=>'bool'], + 'new' => ['bool', 'image'=>'GdImage', 'enable'=>'bool'], + ], + 'imagearc' => [ + 'old' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int'], + ], + 'imagebmp' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'resource|string|null', 'compressed='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'resource|string|null', 'compressed='=>'bool'], + ], + 'imagechar' => [ + 'old' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], + ], + 'imagecharup' => [ + 'old' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], + ], + 'imagecolorallocate' => [ + 'old' => ['int|false', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'new' => ['int|false', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + ], + 'imagecolorallocatealpha' => [ + 'old' => ['int|false', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'new' => ['int|false', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + ], + 'imagecolorat' => [ + 'old' => ['int|false', 'image'=>'resource', 'x'=>'int', 'y'=>'int'], + 'new' => ['int|false', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int'], + ], + 'imagecolorclosest' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + ], + 'imagecolorclosestalpha' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + ], + 'imagecolorclosesthwb' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + ], + 'imagecolordeallocate' => [ + 'old' => ['bool', 'image'=>'resource', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'color'=>'int'], + ], + 'imagecolorexact' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + ], + 'imagecolorexactalpha' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + ], + 'imagecolormatch' => [ + 'old' => ['bool', 'image1'=>'resource', 'image2'=>'resource'], + 'new' => ['bool', 'image1'=>'GdImage', 'image2'=>'GdImage'], + ], + 'imagecolorresolve' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + ], + 'imagecolorresolvealpha' => [ + 'old' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + ], + 'imagecolorset' => [ + 'old' => ['false|null', 'image'=>'resource', 'color'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int'], + 'new' => ['false|null', 'image'=>'GdImage', 'color'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int'], + ], + 'imagecolorsforindex' => [ + 'old' => ['array', 'image'=>'resource', 'color'=>'int'], + 'new' => ['array', 'image'=>'GdImage', 'color'=>'int'], + ], + 'imagecolorstotal' => [ + 'old' => ['int', 'image'=>'resource'], + 'new' => ['int', 'image'=>'GdImage'], + ], + 'imagecolortransparent' => [ + 'old' => ['int', 'image'=>'resource', 'color='=>'int'], + 'new' => ['int', 'image'=>'GdImage', 'color='=>'?int'], + ], + 'imageconvolution' => [ + 'old' => ['bool', 'image'=>'resource', 'matrix'=>'array', 'divisor'=>'float', 'offset'=>'float'], + 'new' => ['bool', 'image'=>'GdImage', 'matrix'=>'array', 'divisor'=>'float', 'offset'=>'float'], + ], + 'imagecopy' => [ + 'old' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + 'new' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + ], + 'imagecopymerge' => [ + 'old' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], + 'new' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], + ], + 'imagecopymergegray' => [ + 'old' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], + 'new' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], + ], + 'imagecopyresampled' => [ + 'old' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + 'new' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + ], + 'imagecopyresized' => [ + 'old' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + 'new' => ['bool', 'dst_image'=>'GdImage', 'src_image'=>'GdImage', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + ], + 'imagecreate' => [ + 'old' => ['resource|false', 'x_size'=>'int', 'y_size'=>'int'], + 'new' => ['false|GdImage', 'width'=>'int', 'height'=>'int'], + ], + 'imagecreatefrombmp' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromgd' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromgd2' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromgd2part' => [ + 'old' => ['resource|false', 'filename'=>'string', 'srcx'=>'int', 'srcy'=>'int', 'width'=>'int', 'height'=>'int'], + 'new' => ['false|GdImage', 'filename'=>'string', 'x'=>'int', 'y'=>'int', 'width'=>'int', 'height'=>'int'], + ], + 'imagecreatefromgif' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromjpeg' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefrompng' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromstring' => [ + 'old' => ['resource|false', 'image'=>'string'], + 'new' => ['false|GdImage', 'data'=>'string'], + ], + 'imagecreatefromwbmp' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromwebp' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromxbm' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatefromxpm' => [ + 'old' => ['resource|false', 'filename'=>'string'], + 'new' => ['false|GdImage', 'filename'=>'string'], + ], + 'imagecreatetruecolor' => [ + 'old' => ['resource|false', 'x_size'=>'int', 'y_size'=>'int'], + 'new' => ['false|GdImage', 'width'=>'int', 'height'=>'int'], + ], + 'imagecrop' => [ + 'old' => ['resource|false', 'im'=>'resource', 'rect'=>'array'], + 'new' => ['false|GdImage', 'image'=>'GdImage', 'rectangle'=>'array'], + ], + 'imagecropauto' => [ + 'old' => ['resource|false', 'im'=>'resource', 'mode='=>'int', 'threshold='=>'float', 'color='=>'int'], + 'new' => ['false|GdImage', 'image'=>'GdImage', 'mode='=>'int', 'threshold='=>'float', 'color='=>'int'], + ], + 'imagedashedline' => [ + 'old' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + ], + 'imagedestroy' => [ + 'old' => ['bool', 'image'=>'resource'], + 'new' => ['bool', 'image'=>'GdImage'], + ], + 'imageellipse' => [ + 'old' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], + ], + 'imagefill' => [ + 'old' => ['bool', 'image'=>'resource', 'x'=>'int', 'y'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int', 'color'=>'int'], + ], + 'imagefilledarc' => [ + 'old' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int', 'style'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int', 'style'=>'int'], + ], + 'imagefilledellipse' => [ + 'old' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], + ], + 'imagefilledpolygon' => [ + 'old' => ['bool', 'image'=>'resource', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], + ], + 'imagefilledrectangle' => [ + 'old' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + ], + 'imagefilltoborder' => [ + 'old' => ['bool', 'image'=>'resource', 'x'=>'int', 'y'=>'int', 'border_color'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int', 'border_color'=>'int', 'color'=>'int'], + ], + 'imagefilter' => [ + 'old' => ['bool', 'image'=>'resource', 'filter'=>'int', '...args='=>'array|int|float|bool'], + 'new' => ['bool', 'image'=>'GdImage', 'filter'=>'int', '...args='=>'array|int|float|bool'], + ], + 'imageflip' => [ + 'old' => ['bool', 'image'=>'resource', 'mode'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'mode'=>'int'], + ], + 'imagefttext' => [ + 'old' => ['array|false', 'image'=>'resource', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string', 'options='=>'array'], + 'new' => ['array|false', 'image'=>'GdImage', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string', 'options='=>'array'], + ], + 'imagegammacorrect' => [ + 'old' => ['bool', 'image'=>'resource', 'input_gamma'=>'float', 'output_gamma'=>'float'], + 'new' => ['bool', 'image'=>'GdImage', 'input_gamma'=>'float', 'output_gamma'=>'float'], + ], + 'imagegd' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null'], + ], + 'imagegd2' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'chunk_size='=>'int', 'mode='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'chunk_size='=>'int', 'mode='=>'int'], + ], + 'imagegetclip' => [ + 'old' => ['array|false', 'im'=>'resource'], + 'new' => ['array', 'image'=>'GdImage'], + ], + 'imagegif' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null'], + ], + 'imagegrabscreen' => [ + 'old' => ['false|resource'], + 'new' => ['false|GdImage'], + ], + 'imagegrabwindow' => [ + 'old' => ['false|resource', 'window_handle'=>'int', 'client_area='=>'int'], + 'new' => ['false|GdImage', 'handle'=>'int', 'client_area='=>'int'], + ], + 'imageinterlace' => [ + 'old' => ['int|false', 'image'=>'resource', 'enable='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'enable='=>'bool|null'], + ], + 'imageistruecolor' => [ + 'old' => ['bool', 'image'=>'resource'], + 'new' => ['bool', 'image'=>'GdImage'], + ], + 'imagejpeg' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'quality='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'quality='=>'int'], + ], + 'imagelayereffect' => [ + 'old' => ['bool', 'image'=>'resource', 'effect'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'effect'=>'int'], + ], + 'imageline' => [ + 'old' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + ], + 'imageopenpolygon' => [ + 'old' => ['bool', 'image'=>'resource', 'points'=>'array', 'num_points'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'points'=>'array', 'num_points'=>'int', 'color'=>'int'], + ], + 'imagepalettecopy' => [ + 'old' => ['void', 'dst'=>'resource', 'src'=>'resource'], + 'new' => ['void', 'dst'=>'GdImage', 'src'=>'GdImage'], + ], + 'imagepalettetotruecolor' => [ + 'old' => ['bool', 'image'=>'resource'], + 'new' => ['bool', 'image'=>'GdImage'], + ], + 'imagepng' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'quality='=>'int', 'filters='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'quality='=>'int', 'filters='=>'int'], + ], + 'imagepolygon' => [ + 'old' => ['bool', 'image'=>'resource', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], + ], + 'imagerectangle' => [ + 'old' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + ], + 'imageresolution' => [ + 'old' => ['array|bool', 'image'=>'resource', 'resolution_x='=>'int', 'resolution_y='=>'int'], + 'new' => ['array|bool', 'image'=>'GdImage', 'resolution_x='=>'?int', 'resolution_y='=>'?int'], + ], + 'imagerotate' => [ + 'old' => ['resource|false', 'src_im'=>'resource', 'angle'=>'float', 'bgdcolor'=>'int', 'ignoretransparent='=>'int'], + 'new' => ['false|GdImage', 'image'=>'GdImage', 'angle'=>'float', 'background_color'=>'int', 'ignore_transparent='=>'bool'], + ], + 'imagesavealpha' => [ + 'old' => ['bool', 'image'=>'resource', 'enable'=>'bool'], + 'new' => ['bool', 'image'=>'GdImage', 'enable'=>'bool'], + ], + 'imagescale' => [ + 'old' => ['resource|false', 'im'=>'resource', 'new_width'=>'int', 'new_height='=>'int', 'method='=>'int'], + 'new' => ['false|GdImage', 'image'=>'GdImage', 'width'=>'int', 'height='=>'int', 'mode='=>'int'], + ], + 'imagesetbrush' => [ + 'old' => ['bool', 'image'=>'resource', 'brush'=>'resource'], + 'new' => ['bool', 'image'=>'GdImage', 'brush'=>'GdImage'], + ], + 'imagesetclip' => [ + 'old' => ['bool', 'image'=>'resource', 'x1'=>'int', 'x2'=>'int', 'y1'=>'int', 'y2'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x1'=>'int', 'x2'=>'int', 'y1'=>'int', 'y2'=>'int'], + ], + 'imagesetinterpolation' => [ + 'old' => ['bool', 'image'=>'resource', 'method='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'method='=>'int'], + ], + 'imagesetpixel' => [ + 'old' => ['bool', 'image'=>'resource', 'x'=>'int', 'y'=>'int', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'x'=>'int', 'y'=>'int', 'color'=>'int'], + ], + 'imagesetstyle' => [ + 'old' => ['bool', 'image'=>'resource', 'style'=>'non-empty-array'], + 'new' => ['bool', 'image'=>'GdImage', 'style'=>'non-empty-array'], + ], + 'imagesetthickness' => [ + 'old' => ['bool', 'image'=>'resource', 'thickness'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'thickness'=>'int'], + ], + 'imagesettile' => [ + 'old' => ['bool', 'image'=>'resource', 'tile'=>'resource'], + 'new' => ['bool', 'image'=>'GdImage', 'tile'=>'GdImage'], + ], + 'imagestring' => [ + 'old' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], + ], + 'imagestringup' => [ + 'old' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], + ], + 'imagesx' => [ + 'old' => ['int', 'image'=>'resource'], + 'new' => ['int', 'image'=>'GdImage'], + ], + 'imagesy' => [ + 'old' => ['int', 'image'=>'resource'], + 'new' => ['int', 'image'=>'GdImage'], + ], + 'imagetruecolortopalette' => [ + 'old' => ['bool', 'image'=>'resource', 'dither'=>'bool', 'num_colors'=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'dither'=>'bool', 'num_colors'=>'int'], + ], + 'imagettfbbox' => [ + 'old' => ['false|array', 'size'=>'float', 'angle'=>'float', 'font_filename'=>'string', 'string'=>'string'], + 'new' => ['false|array', 'size'=>'float', 'angle'=>'float', 'font_filename'=>'string', 'string'=>'string', 'options='=>'array'], + ], + 'imagettftext' => [ + 'old' => ['false|array', 'image'=>'resource', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string'], + 'new' => ['false|array', 'image'=>'GdImage', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string', 'options='=>'array'], + ], + 'imagewbmp' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'foreground_color='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'foreground_color='=>'?int'], + ], + 'imagewebp' => [ + 'old' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'quality='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'file='=>'string|resource|null', 'quality='=>'int'], + ], + 'imagexbm' => [ + 'old' => ['bool', 'image'=>'resource', 'filename'=>'?string', 'foreground_color='=>'int'], + 'new' => ['bool', 'image'=>'GdImage', 'filename'=>'?string', 'foreground_color='=>'?int'], + ], + 'imap_append' => [ + 'old' => ['bool', 'imap'=>'resource', 'folder'=>'string', 'message'=>'string', 'options='=>'string', 'internal_date='=>'string'], + 'new' => ['bool', 'imap'=>'resource', 'folder'=>'string', 'message'=>'string', 'options='=>'?string', 'internal_date='=>'?string'], + ], + 'imap_headerinfo' => [ + 'old' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'from_length='=>'int', 'subject_length='=>'int', 'default_host='=>'string|null'], + 'new' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'from_length='=>'int', 'subject_length='=>'int'], + ], + 'imap_mail' => [ + 'old' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string', 'cc='=>'string', 'bcc='=>'string', 'return_path='=>'string'], + 'new' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'?string', 'cc='=>'?string', 'bcc='=>'?string', 'return_path='=>'?string'], + ], + 'imap_sort' => [ + 'old' => ['array|false', 'imap'=>'resource', 'criteria'=>'int', 'reverse'=>'int', 'flags='=>'int', 'search_criteria='=>'string', 'charset='=>'string'], + 'new' => ['array|false', 'imap'=>'resource', 'criteria'=>'int', 'reverse'=>'bool', 'flags='=>'int', 'search_criteria='=>'?string', 'charset='=>'?string'], + ], + 'inflate_add' => [ + 'old' => ['string|false', 'context'=>'resource', 'data'=>'string', 'flush_mode='=>'int'], + 'new' => ['string|false', 'context'=>'InflateContext', 'data'=>'string', 'flush_mode='=>'int'], + ], + 'inflate_get_read_len' => [ + 'old' => ['int', 'context'=>'resource'], + 'new' => ['int', 'context'=>'InflateContext'], + ], + 'inflate_get_status' => [ + 'old' => ['int', 'context'=>'resource'], + 'new' => ['int', 'context'=>'InflateContext'], + ], + 'inflate_init' => [ + 'old' => ['resource|false', 'encoding'=>'int', 'options='=>'array'], + 'new' => ['InflateContext|false', 'encoding'=>'int', 'options='=>'array'], + ], + 'jdtounix' => [ + 'old' => ['int|false', 'julian_day'=>'int'], + 'new' => ['int', 'julian_day'=>'int'], + ], + 'ldap_add' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_add_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_bind_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn='=>'string|null', 'password='=>'string|null', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn='=>'string|null', 'password='=>'string|null', 'controls='=>'?array'], + ], + 'ldap_compare' => [ + 'old' => ['bool|int', 'ldap'=>'resource', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string', 'controls='=>'array'], + 'new' => ['bool|int', 'ldap'=>'resource', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string', 'controls='=>'?array'], + ], + 'ldap_delete' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'?array'], + ], + 'ldap_delete_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'?array'], + ], + 'ldap_exop_passwd' => [ + 'old' => ['bool|string', 'ldap'=>'resource', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string', '&w_controls='=>'array'], + 'new' => ['bool|string', 'ldap'=>'resource', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string', '&w_controls='=>'array|null'], + ], + 'ldap_list' => [ + 'old' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + ], + 'ldap_rename_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], + ], + 'ldap_mod_add' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_add_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_del' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_del_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_replace' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_replace_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_modify' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_modify_batch' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'modifications_info'=>'array', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'modifications_info'=>'array', 'controls='=>'?array'], + ], + 'ldap_read' => [ + 'old' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + ], + 'ldap_rename' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'array'], + 'new' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], + ], + 'ldap_search' => [ + 'old' => ['resource|false', 'ldap'=>'resource|resource[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'array'], + 'new' => ['resource|false', 'ldap'=>'resource|resource[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + ], + 'ldap_set_rebind_proc' => [ + 'old' => ['bool', 'ldap'=>'resource', 'callback'=>'callable'], + 'new' => ['bool', 'ldap'=>'resource', 'callback'=>'?callable'], + ], + 'ldap_sasl_bind' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn='=>'string', 'password='=>'string', 'mech='=>'string', 'realm='=>'string', 'authc_id='=>'string', 'authz_id='=>'string', 'props='=>'string'], + 'new' => ['bool', 'ldap'=>'resource', 'dn='=>'?string', 'password='=>'?string', 'mech='=>'?string', 'realm='=>'?string', 'authc_id='=>'?string', 'authz_id='=>'?string', 'props='=>'?string'], + ], + 'libxml_use_internal_errors' => [ + 'old' => ['bool', 'use_errors='=>'bool'], + 'new' => ['bool', 'use_errors='=>'?bool'], + ], + 'locale_get_display_language' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'locale_get_display_name' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'locale_get_display_region' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'locale_get_display_script' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'locale_get_display_variant' => [ + 'old' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'new' => ['string', 'locale'=>'string', 'displayLocale='=>'?string'], + ], + 'localtime' => [ + 'old' => ['array', 'timestamp='=>'int', 'associative='=>'bool'], + 'new' => ['array', 'timestamp='=>'?int', 'associative='=>'bool'], + ], + 'mb_check_encoding' => [ + 'old' => ['bool', 'value='=>'array|string', 'encoding='=>'string'], + 'new' => ['bool', 'value='=>'array|string|null', 'encoding='=>'string|null'], + ], + 'mb_chr' => [ + 'old' => ['non-empty-string|false', 'codepoint'=>'int', 'encoding='=>'string'], + 'new' => ['non-empty-string|false', 'codepoint'=>'int', 'encoding='=>'string|null'], + ], + 'mb_convert_case' => [ + 'old' => ['string', 'string'=>'string', 'mode'=>'int', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'mode'=>'int', 'encoding='=>'string|null'], + ], + 'mb_convert_encoding' => [ + 'old' => ['string|false', 'string'=>'string', 'to_encoding'=>'string', 'from_encoding='=>'mixed'], + 'new' => ['string|false', 'string'=>'string', 'to_encoding'=>'string', 'from_encoding='=>'array|string|null'], + ], + 'mb_convert_encoding\'1' => [ + 'old' => ['array', 'string'=>'array', 'to_encoding'=>'string', 'from_encoding='=>'mixed'], + 'new' => ['array', 'string'=>'array', 'to_encoding'=>'string', 'from_encoding='=>'array|string|null'], + ], + 'mb_convert_kana' => [ + 'old' => ['string', 'string'=>'string', 'mode='=>'string', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'mode='=>'string', 'encoding='=>'string|null'], + ], + 'mb_decode_numericentity' => [ + 'old' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string|null'], + ], + 'mb_detect_encoding' => [ + 'old' => ['string|false', 'string'=>'string', 'encodings='=>'mixed', 'strict='=>'bool'], + 'new' => ['string|false', 'string'=>'string', 'encodings='=>'array|string|null', 'strict='=>'bool'], + ], + 'mb_detect_order' => [ + 'old' => ['bool|list', 'encoding='=>'mixed'], + 'new' => ['bool|list', 'encoding='=>'array|string|null'], + ], + 'mb_encode_mimeheader' => [ + 'old' => ['string', 'string'=>'string', 'charset='=>'string', 'transfer_encoding='=>'string', 'newline='=>'string', 'indent='=>'int'], + 'new' => ['string', 'string'=>'string', 'charset='=>'string|null', 'transfer_encoding='=>'string|null', 'newline='=>'string', 'indent='=>'int'], + ], + 'mb_encode_numericentity' => [ + 'old' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string', 'hex='=>'bool'], + 'new' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string|null', 'hex='=>'bool'], + ], + 'mb_encoding_aliases' => [ + 'old' => ['list|false', 'encoding'=>'string'], + 'new' => ['list', 'encoding'=>'string'], + ], + 'mb_ereg' => [ + 'old' => ['int|false', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array|null'], + 'new' => ['bool', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array|null'], + ], + 'mb_ereg_match' => [ + 'old' => ['bool', 'pattern'=>'string', 'string'=>'string', 'options='=>'string'], + 'new' => ['bool', 'pattern'=>'string', 'string'=>'string', 'options='=>'string|null'], + ], + 'mb_ereg_replace' => [ + 'old' => ['string|false', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string'], + 'new' => ['string|false|null', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string|null'], + ], + 'mb_ereg_replace_callback' => [ + 'old' => ['string|false|null', 'pattern'=>'string', 'callback'=>'callable', 'string'=>'string', 'options='=>'string'], + 'new' => ['string|false|null', 'pattern'=>'string', 'callback'=>'callable', 'string'=>'string', 'options='=>'string|null'], + ], + 'mb_ereg_search' => [ + 'old' => ['bool', 'pattern='=>'string', 'options='=>'string'], + 'new' => ['bool', 'pattern='=>'string|null', 'options='=>'string|null'], + ], + 'mb_ereg_search_init' => [ + 'old' => ['bool', 'string'=>'string', 'pattern='=>'string', 'options='=>'string'], + 'new' => ['bool', 'string'=>'string', 'pattern='=>'string|null', 'options='=>'string|null'], + ], + 'mb_ereg_search_pos' => [ + 'old' => ['int[]|false', 'pattern='=>'string', 'options='=>'string'], + 'new' => ['int[]|false', 'pattern='=>'string|null', 'options='=>'string|null'], + ], + 'mb_ereg_search_regs' => [ + 'old' => ['string[]|false', 'pattern='=>'string', 'options='=>'string'], + 'new' => ['string[]|false', 'pattern='=>'string|null', 'options='=>'string|null'], + ], + 'mb_eregi' => [ + 'old' => ['int|false', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array'], + 'new' => ['bool', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array|null'], + ], + 'mb_eregi_replace' => [ + 'old' => ['string|false', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string'], + 'new' => ['string|false|null', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string|null'], + ], + 'mb_http_input' => [ + 'old' => ['string|false', 'type='=>'string'], + 'new' => ['array|string|false', 'type='=>'string|null'], + ], + 'mb_http_output' => [ + 'old' => ['string|bool', 'encoding='=>'string'], + 'new' => ['string|bool', 'encoding='=>'string|null'], + ], + 'mb_internal_encoding' => [ + 'old' => ['string|bool', 'encoding='=>'string'], + 'new' => ['string|bool', 'encoding='=>'string|null'], + ], + 'mb_language' => [ + 'old' => ['string|bool', 'language='=>'string'], + 'new' => ['string|bool', 'language='=>'string|null'], + ], + 'mb_ord' => [ + 'old' => ['int|false', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['int|false', 'string'=>'string', 'encoding='=>'string|null'], + ], + 'mb_parse_str' => [ + 'old' => ['bool', 'string'=>'string', '&w_result='=>'array'], + 'new' => ['bool', 'string'=>'string', '&w_result'=>'array'], + ], + 'mb_regex_encoding' => [ + 'old' => ['string|bool', 'encoding='=>'string'], + 'new' => ['string|bool', 'encoding='=>'string|null'], + ], + 'mb_regex_set_options' => [ + 'old' => ['string', 'options='=>'string'], + 'new' => ['string', 'options='=>'string|null'], + ], + 'mb_scrub' => [ + 'old' => ['string', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'encoding='=>'string|null'], + ], + 'mb_send_mail' => [ + 'old' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string|array', 'additional_params='=>'string'], + 'new' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string|array', 'additional_params='=>'string|null'], + ], + 'mb_str_split' => [ + 'old' => ['list|false', 'string'=>'string', 'length='=>'positive-int', 'encoding='=>'string'], + 'new' => ['list', 'string'=>'string', 'length='=>'positive-int', 'encoding='=>'string|null'], + ], + 'mb_strcut' => [ + 'old' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string|null'], + ], + 'mb_strimwidth' => [ + 'old' => ['string', 'string'=>'string', 'start'=>'int', 'width'=>'int', 'trim_marker='=>'string', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'start'=>'int', 'width'=>'int', 'trim_marker='=>'string', 'encoding='=>'string|null'], + ], + 'mb_stripos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], + ], + 'mb_stristr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], + ], + 'mb_strlen' => [ + 'old' => ['0|positive-int', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['0|positive-int', 'string'=>'string', 'encoding='=>'string|null'], + ], + 'mb_strpos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], + ], + 'mb_strrchr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], + ], + 'mb_strrichr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], + ], + 'mb_strripos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], + ], + 'mb_strrpos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string|null'], + ], + 'mb_strstr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string|null'], + ], + 'mb_strtolower' => [ + 'old' => ['lowercase-string', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['lowercase-string', 'string'=>'string', 'encoding='=>'string|null'], + ], + 'mb_strtoupper' => [ + 'old' => ['string', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'encoding='=>'string|null'], + ], + 'mb_strwidth' => [ + 'old' => ['int', 'string'=>'string', 'encoding='=>'string'], + 'new' => ['int', 'string'=>'string', 'encoding='=>'string|null'], + ], + 'mb_substitute_character' => [ + 'old' => ['bool|int|string', 'substitute_character='=>'mixed'], + 'new' => ['bool|int|string', 'substitute_character='=>'int|string|null'], + ], + 'mb_substr' => [ + 'old' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string|null'], + ], + 'mb_substr_count' => [ + 'old' => ['int', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string'], + 'new' => ['int', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string|null'], + ], + 'metaphone' => [ + 'old' => ['string|false', 'string'=>'string', 'max_phonemes='=>'int'], + 'new' => ['string', 'string'=>'string', 'max_phonemes='=>'int'], + ], + 'mhash' => [ + 'old' => ['string', 'algo'=>'int', 'data'=>'string', 'key='=>'string'], + 'new' => ['string', 'algo'=>'int', 'data'=>'string', 'key='=>'?string'], + ], + 'mktime' => [ + 'old' => ['int|false', 'hour='=>'int', 'minute='=>'int', 'second='=>'int', 'month='=>'int', 'day='=>'int', 'year='=>'int'], + 'new' => ['int|false', 'hour'=>'int', 'minute='=>'int|null', 'second='=>'int|null', 'month='=>'int|null', 'day='=>'int|null', 'year='=>'int|null'], + ], + 'msg_get_queue' => [ + 'old' => ['resource|false', 'key'=>'int', 'permissions='=>'int'], + 'new' => ['SysvMessageQueue|false', 'key'=>'int', 'permissions='=>'int'], + ], + 'msg_receive' => [ + 'old' => ['bool', 'queue'=>'resource', 'desired_message_type'=>'int', '&w_received_message_type'=>'int', 'max_message_size'=>'int', '&w_message'=>'mixed', 'unserialize='=>'bool', 'flags='=>'int', '&w_error_code='=>'int'], + 'new' => ['bool', 'queue'=>'SysvMessageQueue', 'desired_message_type'=>'int', '&w_received_message_type'=>'int', 'max_message_size'=>'int', '&w_message'=>'mixed', 'unserialize='=>'bool', 'flags='=>'int', '&w_error_code='=>'int'], + ], + 'msg_remove_queue' => [ + 'old' => ['bool', 'queue'=>'resource'], + 'new' => ['bool', 'queue'=>'SysvMessageQueue'], + ], + 'msg_send' => [ + 'old' => ['bool', 'queue'=>'resource', 'message_type'=>'int', 'message'=>'mixed', 'serialize='=>'bool', 'blocking='=>'bool', '&w_error_code='=>'int'], + 'new' => ['bool', 'queue'=>'SysvMessageQueue', 'message_type'=>'int', 'message'=>'mixed', 'serialize='=>'bool', 'blocking='=>'bool', '&w_error_code='=>'int'], + ], + 'msg_set_queue' => [ + 'old' => ['bool', 'queue'=>'resource', 'data'=>'array'], + 'new' => ['bool', 'queue'=>'SysvMessageQueue', 'data'=>'array'], + ], + 'msg_stat_queue' => [ + 'old' => ['array', 'queue'=>'resource'], + 'new' => ['array', 'queue'=>'SysvMessageQueue'], + ], + 'mysqli::__construct' => [ + 'old' => ['void', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'], + 'new' => ['void', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], + ], + 'mysqli::begin_transaction' => [ + 'old' => ['bool', 'flags='=>'int', 'name='=>'string'], + 'new' => ['bool', 'flags='=>'int', 'name='=>'?string'], + ], + 'mysqli::commit' => [ + 'old' => ['bool', 'flags='=>'int', 'name='=>'string'], + 'new' => ['bool', 'flags='=>'int', 'name='=>'?string'], + ], + 'mysqli::connect' => [ + 'old' => ['null|false', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'], + 'new' => ['null|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], + ], + 'mysqli::rollback' => [ + 'old' => ['bool', 'flags='=>'int', 'name='=>'string'], + 'new' => ['bool', 'flags='=>'int', 'name='=>'?string'], + ], + 'mysqli_begin_transaction' => [ + 'old' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'], + 'new' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'], + ], + 'mysqli_commit' => [ + 'old' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'], + 'new' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'], + ], + 'mysqli_connect' => [ + 'old' => ['mysqli|false', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'], + 'new' => ['mysqli|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], + ], + 'mysqli_rollback' => [ + 'old' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'], + 'new' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'?string'], + ], + 'number_format' => [ + 'old' => ['string', 'num'=>'float|int', 'decimals='=>'int'], + 'new' => ['string', 'num'=>'float|int', 'decimals='=>'int', 'decimal_separator='=>'?string', 'thousands_separator='=>'?string'], + ], + 'numfmt_create' => [ + 'old' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'string'], + 'new' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'?string'], + ], + 'ob_implicit_flush' => [ + 'old' => ['void', 'enable='=>'int'], + 'new' => ['void', 'enable='=>'bool'], + ], + 'odbc_exec' => [ + 'old' => ['resource', 'odbc'=>'resource', 'query'=>'string', 'flags='=>'int'], + 'new' => ['resource', 'odbc'=>'resource', 'query'=>'string'], + ], + 'odbc_fetch_row' => [ + 'old' => ['bool', 'statement'=>'resource', 'row='=>'int'], + 'new' => ['bool', 'statement'=>'resource', 'row='=>'?int'], + ], + 'odbc_do' => [ + 'old' => ['resource', 'odbc'=>'resource', 'query'=>'string', 'flags='=>'int'], + 'new' => ['resource', 'odbc'=>'resource', 'query'=>'string'], + ], + 'odbc_tables' => [ + 'old' => ['resource|false', 'odbc'=>'resource', 'catalog='=>'?string', 'schema='=>'string', 'table='=>'string', 'types='=>'string'], + 'new' => ['resource|false', 'odbc'=>'resource', 'catalog='=>'?string', 'schema='=>'?string', 'table='=>'?string', 'types='=>'?string'], + ], + 'openssl_csr_export' => [ + 'old' => ['bool', 'csr'=>'string|resource', '&w_output'=>'string', 'no_text='=>'bool'], + 'new' => ['bool', 'csr'=>'OpenSSLCertificateSigningRequest|string', '&w_output'=>'string', 'no_text='=>'bool'], + ], + 'openssl_csr_export_to_file' => [ + 'old' => ['bool', 'csr'=>'string|resource', 'output_filename'=>'string', 'no_text='=>'bool'], + 'new' => ['bool', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'output_filename'=>'string', 'no_text='=>'bool'], + ], + 'openssl_csr_get_public_key' => [ + 'old' => ['resource|false', 'csr'=>'string|resource', 'short_names='=>'bool'], + 'new' => ['OpenSSLAsymmetricKey|false', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'short_names='=>'bool'], + ], + 'openssl_csr_get_subject' => [ + 'old' => ['array|false', 'csr'=>'string|resource', 'short_names='=>'bool'], + 'new' => ['array|false', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'short_names='=>'bool'], + ], + 'openssl_csr_new' => [ + 'old' => ['resource|false', 'distinguished_names'=>'array', '&w_private_key'=>'resource', 'options='=>'array', 'extra_attributes='=>'array'], + 'new' => ['OpenSSLCertificateSigningRequest|false', 'distinguished_names'=>'array', '&w_private_key'=>'OpenSSLAsymmetricKey', 'options='=>'array|null', 'extra_attributes='=>'array|null'], + ], + 'openssl_csr_sign' => [ + 'old' => ['resource|false', 'csr'=>'string|resource', 'ca_certificate'=>'string|resource|null', 'private_key'=>'string|resource|array', 'days'=>'int', 'options='=>'array', 'serial='=>'int'], + 'new' => ['OpenSSLCertificate|false', 'csr'=>'OpenSSLCertificateSigningRequest|string', 'ca_certificate'=>'OpenSSLCertificate|string|null', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'days'=>'int', 'options='=>'array|null', 'serial='=>'int'], + ], + 'openssl_dh_compute_key' => [ + 'old' => ['string|false', 'public_key'=>'string', 'private_key'=>'resource'], + 'new' => ['string|false', 'public_key'=>'string', 'private_key'=>'OpenSSLAsymmetricKey'], + ], + 'openssl_free_key' => [ + 'old' => ['void', 'key'=>'resource'], + 'new' => ['void', 'key'=>'OpenSSLAsymmetricKey'], + ], + 'openssl_get_privatekey' => [ + 'old' => ['resource|false', 'private_key'=>'string', 'passphrase='=>'string'], + 'new' => ['OpenSSLAsymmetricKey|false', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'passphrase='=>'?string'], + ], + 'openssl_get_publickey' => [ + 'old' => ['resource|false', 'public_key'=>'resource|string'], + 'new' => ['OpenSSLAsymmetricKey|false', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string'], + ], + 'openssl_open' => [ + 'old' => ['bool', 'data'=>'string', '&w_output'=>'string', 'encrypted_key'=>'string', 'private_key'=>'string|array|resource', 'cipher_algo='=>'string', 'iv='=>'string'], + 'new' => ['bool', 'data'=>'string', '&w_output'=>'string', 'encrypted_key'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'cipher_algo'=>'string', 'iv='=>'string|null'], + ], + 'openssl_pkcs12_export' => [ + 'old' => ['bool', 'certificate'=>'string|resource', '&w_output'=>'string', 'private_key'=>'string|array|resource', 'passphrase'=>'string', 'options='=>'array'], + 'new' => ['bool', 'certificate'=>'OpenSSLCertificate|string', '&w_output'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'passphrase'=>'string', 'options='=>'array'], + ], + 'openssl_pkcs12_export_to_file' => [ + 'old' => ['bool', 'certificate'=>'string|resource', 'output_filename'=>'string', 'private_key'=>'string|array|resource', 'passphrase'=>'string', 'options='=>'array'], + 'new' => ['bool', 'certificate'=>'OpenSSLCertificate|string', 'output_filename'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'passphrase'=>'string', 'options='=>'array'], + ], + 'openssl_pkcs7_decrypt' => [ + 'old' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'string|resource', 'private_key='=>'string|resource|array'], + 'new' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'OpenSSLCertificate|string', 'private_key='=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string|null'], + ], + 'openssl_pkcs7_encrypt' => [ + 'old' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'string|resource|array', 'headers'=>'array', 'flags='=>'int', 'cipher_algo='=>'int'], + 'new' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'OpenSSLCertificate|list|string', 'headers'=>'array|null', 'flags='=>'int', 'cipher_algo='=>'int'], + ], + 'openssl_pkcs7_sign' => [ + 'old' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'string|resource', 'private_key'=>'string|resource|array', 'headers'=>'array', 'flags='=>'int', 'untrusted_certificates_filename='=>'string'], + 'new' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'OpenSSLCertificate|string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'headers'=>'array|null', 'flags='=>'int', 'untrusted_certificates_filename='=>'string|null'], + ], + 'openssl_pkcs7_verify' => [ + 'old' => ['bool|int', 'input_filename'=>'string', 'flags'=>'int', 'signers_certificates_filename='=>'string', 'ca_info='=>'array', 'untrusted_certificates_filename='=>'string', 'content='=>'string', 'output_filename='=>'string'], + 'new' => ['bool|int', 'input_filename'=>'string', 'flags'=>'int', 'signers_certificates_filename='=>'?string', 'ca_info='=>'array', 'untrusted_certificates_filename='=>'?string', 'content='=>'?string', 'output_filename='=>'?string'], + ], + 'openssl_pkey_derive' => [ + 'old' => ['string|false', 'public_key'=>'mixed', 'private_key'=>'mixed', 'key_length='=>'?int'], + 'new' => ['string|false', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'key_length='=>'int'], + ], + 'openssl_pkey_export' => [ + 'old' => ['bool', 'key'=>'resource', '&w_output'=>'string', 'passphrase='=>'string|null', 'options='=>'array'], + 'new' => ['bool', 'key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', '&w_output'=>'string', 'passphrase='=>'string|null', 'options='=>'array|null'], + ], + 'openssl_pkey_export_to_file' => [ + 'old' => ['bool', 'key'=>'resource|string|array', 'output_filename'=>'string', 'passphrase='=>'string|null', 'options='=>'array'], + 'new' => ['bool', 'key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'output_filename'=>'string', 'passphrase='=>'string|null', 'options='=>'array|null'], + ], + 'openssl_pkey_free' => [ + 'old' => ['void', 'key'=>'resource'], + 'new' => ['void', 'key'=>'OpenSSLAsymmetricKey'], + ], + 'openssl_pkey_get_details' => [ + 'old' => ['array|false', 'key'=>'resource'], + 'new' => ['array|false', 'key'=>'OpenSSLAsymmetricKey'], + ], + 'openssl_pkey_get_private' => [ + 'old' => ['resource|false', 'private_key'=>'string', 'passphrase='=>'string'], + 'new' => ['OpenSSLAsymmetricKey|false', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array|string', 'passphrase='=>'?string'], + ], + 'openssl_pkey_get_public' => [ + 'old' => ['resource|false', 'public_key'=>'resource|string'], + 'new' => ['OpenSSLAsymmetricKey|false', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string'], + ], + 'openssl_pkey_new' => [ + 'old' => ['resource|false', 'options='=>'array'], + 'new' => ['OpenSSLAsymmetricKey|false', 'options='=>'array|null'], + ], + 'openssl_private_decrypt' => [ + 'old' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'private_key'=>'string|resource|array', 'padding='=>'int'], + 'new' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], + ], + 'openssl_private_encrypt' => [ + 'old' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'private_key'=>'string|resource|array', 'padding='=>'int'], + 'new' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], + ], + 'openssl_public_decrypt' => [ + 'old' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'public_key'=>'string|resource', 'padding='=>'int'], + 'new' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], + ], + 'openssl_public_encrypt' => [ + 'old' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'public_key'=>'string|resource', 'padding='=>'int'], + 'new' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'padding='=>'int'], + ], + 'openssl_seal' => [ + 'old' => ['int|false', 'data'=>'string', '&w_sealed_data'=>'string', '&w_encrypted_keys'=>'array', 'public_key'=>'array', 'cipher_algo='=>'string', '&rw_iv='=>'string'], + 'new' => ['int|false', 'data'=>'string', '&w_sealed_data'=>'string', '&w_encrypted_keys'=>'array', 'public_key'=>'list', 'cipher_algo'=>'string', '&rw_iv='=>'string'], + ], + 'openssl_sign' => [ + 'old' => ['bool', 'data'=>'string', '&w_signature'=>'string', 'private_key'=>'resource|string', 'algorithm='=>'int|string'], + 'new' => ['bool', 'data'=>'string', '&w_signature'=>'string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'algorithm='=>'int|string'], + ], + 'openssl_spki_new' => [ + 'old' => ['?string', 'private_key'=>'resource', 'challenge'=>'string', 'digest_algo='=>'int'], + 'new' => ['string|false', 'private_key'=>'OpenSSLAsymmetricKey', 'challenge'=>'string', 'digest_algo='=>'int'], + ], + 'openssl_verify' => [ + 'old' => ['-1|0|1', 'data'=>'string', 'signature'=>'string', 'public_key'=>'resource|string', 'algorithm='=>'int|string'], + 'new' => ['-1|0|1|false', 'data'=>'string', 'signature'=>'string', 'public_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string', 'algorithm='=>'int|string'], + ], + 'openssl_x509_check_private_key' => [ + 'old' => ['bool', 'certificate'=>'string|resource', 'private_key'=>'string|resource|array'], + 'new' => ['bool', 'certificate'=>'OpenSSLCertificate|string', 'private_key'=>'OpenSSLAsymmetricKey|OpenSSLCertificate|array{OpenSSLAsymmetricKey|OpenSSLCertificate|string, string}|string'], + ], + 'openssl_x509_checkpurpose' => [ + 'old' => ['bool|int', 'certificate'=>'string|resource', 'purpose'=>'int', 'ca_info='=>'array', 'untrusted_certificates_file='=>'string'], + 'new' => ['bool|int', 'certificate'=>'OpenSSLCertificate|string', 'purpose'=>'int', 'ca_info='=>'array', 'untrusted_certificates_file='=>'string|null'], + ], + 'openssl_x509_export' => [ + 'old' => ['bool', 'certificate'=>'string|resource', '&w_output'=>'string', 'no_text='=>'bool'], + 'new' => ['bool', 'certificate'=>'OpenSSLCertificate|string', '&w_output'=>'string', 'no_text='=>'bool'], + ], + 'openssl_x509_export_to_file' => [ + 'old' => ['bool', 'certificate'=>'string|resource', 'output_filename'=>'string', 'no_text='=>'bool'], + 'new' => ['bool', 'certificate'=>'OpenSSLCertificate|string', 'output_filename'=>'string', 'no_text='=>'bool'], + ], + 'openssl_x509_fingerprint' => [ + 'old' => ['string|false', 'certificate'=>'string|resource', 'digest_algo='=>'string', 'binary='=>'bool'], + 'new' => ['string|false', 'certificate'=>'OpenSSLCertificate|string', 'digest_algo='=>'string', 'binary='=>'bool'], + ], + 'openssl_x509_free' => [ + 'old' => ['void', 'certificate'=>'resource'], + 'new' => ['void', 'certificate'=>'OpenSSLCertificate'], + ], + 'openssl_x509_parse' => [ + 'old' => ['array|false', 'certificate'=>'string|resource', 'short_names='=>'bool'], + 'new' => ['array|false', 'certificate'=>'OpenSSLCertificate|string', 'short_names='=>'bool'], + ], + 'openssl_x509_read' => [ + 'old' => ['resource|false', 'certificate'=>'string|resource'], + 'new' => ['OpenSSLCertificate|false', 'certificate'=>'OpenSSLCertificate|string'], + ], + 'openssl_x509_verify' => [ + 'old' => ['int', 'certificate'=>'string|resource', 'public_key'=>'string|array|resource'], + 'new' => ['int', 'certificate'=>'string|OpenSSLCertificate', 'public_key'=>'string|OpenSSLCertificate|OpenSSLAsymmetricKey|array'], + ], + 'pack' => [ + 'old' => ['string|false', 'format'=>'string', '...values='=>'mixed'], + 'new' => ['string', 'format'=>'string', '...values='=>'mixed'], + ], + 'parse_str' => [ + 'old' => ['void', 'string'=>'string', '&w_result='=>'array'], + 'new' => ['void', 'string'=>'string', '&w_result'=>'array'], + ], + 'password_hash' => [ + 'old' => ['string|false', 'password'=>'string', 'algo'=>'int|string|null', 'options='=>'array'], + 'new' => ['string', 'password'=>'string', 'algo'=>'int|string|null', 'options='=>'array'], + ], + 'pcntl_async_signals' => [ + 'old' => ['bool', 'enable='=>'bool'], + 'new' => ['bool', 'enable='=>'?bool'], + ], + 'pcntl_exec' => [ + 'old' => ['null|false', 'path'=>'string', 'args='=>'array', 'env_vars='=>'array'], + 'new' => ['false', 'path'=>'string', 'args='=>'array', 'env_vars='=>'array'], + ], + 'pcntl_getpriority' => [ + 'old' => ['int', 'process_id='=>'int', 'mode='=>'int'], + 'new' => ['int', 'process_id='=>'?int', 'mode='=>'int'], + ], + 'pcntl_setpriority' => [ + 'old' => ['bool', 'priority'=>'int', 'process_id='=>'int', 'mode='=>'int'], + 'new' => ['bool', 'priority'=>'int', 'process_id='=>'?int', 'mode='=>'int'], + ], + 'pfsockopen' => [ + 'old' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'float'], + 'new' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'?float'], + ], + 'pg_client_encoding' => [ + 'old' => ['string', 'connection='=>'resource'], + 'new' => ['string', 'connection='=>'?resource'], + ], + 'pg_close' => [ + 'old' => ['bool', 'connection='=>'resource'], + 'new' => ['bool', 'connection='=>'?resource'], + ], + 'pg_dbname' => [ + 'old' => ['string', 'connection='=>'resource'], + 'new' => ['string', 'connection='=>'?resource'], + ], + 'pg_end_copy' => [ + 'old' => ['bool', 'connection='=>'resource'], + 'new' => ['bool', 'connection='=>'?resource'], + ], + 'pg_last_error' => [ + 'old' => ['string', 'connection='=>'resource'], + 'new' => ['string', 'connection='=>'?resource'], + ], + 'pg_lo_write' => [ + 'old' => ['int|false', 'lob'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'lob'=>'resource', 'data'=>'string', 'length='=>'?int'], + ], + 'pg_options' => [ + 'old' => ['string', 'connection='=>'resource'], + 'new' => ['string', 'connection='=>'?resource'], + ], + 'pg_ping' => [ + 'old' => ['bool', 'connection='=>'resource'], + 'new' => ['bool', 'connection='=>'?resource'], + ], + 'pg_port' => [ + 'old' => ['string', 'connection='=>'resource'], + 'new' => ['string', 'connection='=>'?resource'], + ], + 'pg_trace' => [ + 'old' => ['bool', 'filename'=>'string', 'mode='=>'string', 'connection='=>'resource'], + 'new' => ['bool', 'filename'=>'string', 'mode='=>'string', 'connection='=>'?resource'], + ], + 'pg_tty' => [ + 'old' => ['string', 'connection='=>'resource'], + 'new' => ['string', 'connection='=>'?resource'], + ], + 'pg_untrace' => [ + 'old' => ['bool', 'connection='=>'resource'], + 'new' => ['bool', 'connection='=>'?resource'], + ], + 'pg_version' => [ + 'old' => ['array', 'connection='=>'resource'], + 'new' => ['array', 'connection='=>'?resource'], + ], + 'phpversion' => [ + 'old' => ['string|false', 'extension='=>'string'], + 'new' => ['string|false', 'extension='=>'?string'], + ], + 'proc_get_status' => [ + 'old' => ['array{command: string, pid: int, running: bool, signaled: bool, stopped: bool, exitcode: int, termsig: int, stopsig: int}|false', 'process'=>'resource'], + 'new' => ['array{command: string, pid: int, running: bool, signaled: bool, stopped: bool, exitcode: int, termsig: int, stopsig: int}', 'process'=>'resource'], + ], + 'readline_info' => [ + 'old' => ['mixed', 'var_name='=>'string', 'value='=>'string|int|bool'], + 'new' => ['mixed', 'var_name='=>'?string', 'value='=>'string|int|bool|null'], + ], + 'readline_read_history' => [ + 'old'=> ['bool', 'filename='=>'string'], + 'new'=> ['bool', 'filename='=>'?string'], + ], + 'readline_write_history' => [ + 'old' => ['bool', 'filename='=>'string'], + 'new' => ['bool', 'filename='=>'?string'], + ], + 'sapi_windows_vt100_support' => [ + 'old' => ['bool', 'stream'=>'resource', 'enable='=>'bool'], + 'new' => ['bool', 'stream'=>'resource', 'enable='=>'?bool'], + ], + 'sem_acquire' => [ + 'old' => ['bool', 'semaphore'=>'resource', 'non_blocking='=>'bool'], + 'new' => ['bool', 'semaphore'=>'SysvSemaphore', 'non_blocking='=>'bool'], + ], + 'sem_get' => [ + 'old' => ['resource|false', 'key'=>'int', 'max_acquire='=>'int', 'permissions='=>'int', 'auto_release='=>'bool'], + 'new' => ['SysvSemaphore|false', 'key'=>'int', 'max_acquire='=>'int', 'permissions='=>'int', 'auto_release='=>'bool'], + ], + 'sem_release' => [ + 'old' => ['bool', 'semaphore'=>'resource'], + 'new' => ['bool', 'semaphore'=>'SysvSemaphore'], + ], + 'sem_remove' => [ + 'old' => ['bool', 'semaphore'=>'resource'], + 'new' => ['bool', 'semaphore'=>'SysvSemaphore'], + ], + 'session_cache_expire' => [ + 'old' => ['int', 'value='=>'int'], + 'new' => ['int', 'value='=>'?int'], + ], + 'session_cache_limiter' => [ + 'old' => ['string', 'value='=>'string'], + 'new' => ['string', 'value='=>'?string'], + ], + 'session_id' => [ + 'old' => ['string|false', 'id='=>'string'], + 'new' => ['string|false', 'id='=>'?string'], + ], + 'session_module_name' => [ + 'old' => ['string', 'module='=>'string'], + 'new' => ['string', 'module='=>'?string'], + ], + 'session_name' => [ + 'old' => ['string|false', 'name='=>'string'], + 'new' => ['string|false', 'name='=>'?string'], + ], + 'session_save_path' => [ + 'old' => ['string', 'path='=>'string'], + 'new' => ['string', 'path='=>'?string'], + ], + 'session_set_cookie_params' => [ + 'old' => ['bool', 'lifetime'=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool'], + 'new' => ['bool', 'lifetime'=>'int', 'path='=>'?string', 'domain='=>'?string', 'secure='=>'?bool', 'httponly='=>'?bool'], + ], + 'shm_attach' => [ + 'old' => ['resource|false', 'key'=>'int', 'size='=>'int', 'permissions='=>'int'], + 'new' => ['SysvSharedMemory|false', 'key'=>'int', 'size='=>'?int', 'permissions='=>'int'], + ], + 'shm_detach' => [ + 'old' => ['bool', 'shm'=>'resource'], + 'new' => ['bool', 'shm'=>'SysvSharedMemory'], + ], + 'shm_get_var' => [ + 'old' => ['mixed', 'shm'=>'resource', 'key'=>'int'], + 'new' => ['mixed', 'shm'=>'SysvSharedMemory', 'key'=>'int'], + ], + 'shm_has_var' => [ + 'old' => ['bool', 'shm'=>'resource', 'key'=>'int'], + 'new' => ['bool', 'shm'=>'SysvSharedMemory', 'key'=>'int'], + ], + 'shm_put_var' => [ + 'old' => ['bool', 'shm'=>'resource', 'key'=>'int', 'value'=>'mixed'], + 'new' => ['bool', 'shm'=>'SysvSharedMemory', 'key'=>'int', 'value'=>'mixed'], + ], + 'shm_remove' => [ + 'old' => ['bool', 'shm'=>'resource'], + 'new' => ['bool', 'shm'=>'SysvSharedMemory'], + ], + 'shm_remove_var' => [ + 'old' => ['bool', 'shm'=>'resource', 'key'=>'int'], + 'new' => ['bool', 'shm'=>'SysvSharedMemory', 'key'=>'int'], + ], + 'shmop_close' => [ + 'old' => ['void', 'shmop'=>'resource'], + 'new' => ['void', 'shmop'=>'Shmop'], + ], + 'shmop_delete' => [ + 'old' => ['bool', 'shmop'=>'resource'], + 'new' => ['bool', 'shmop'=>'Shmop'], + ], + 'shmop_open' => [ + 'old' => ['resource|false', 'key'=>'int', 'mode'=>'string', 'permissions'=>'int', 'size'=>'int'], + 'new' => ['Shmop|false', 'key'=>'int', 'mode'=>'string', 'permissions'=>'int', 'size'=>'int'], + ], + 'shmop_read' => [ + 'old' => ['string|false', 'shmop'=>'resource', 'offset'=>'int', 'size'=>'int'], + 'new' => ['string', 'shmop'=>'Shmop', 'offset'=>'int', 'size'=>'int'], + ], + 'shmop_size' => [ + 'old' => ['int', 'shmop'=>'resource'], + 'new' => ['int', 'shmop'=>'Shmop'], + ], + 'shmop_write' => [ + 'old' => ['int|false', 'shmop'=>'resource', 'data'=>'string', 'offset'=>'int'], + 'new' => ['int', 'shmop'=>'Shmop', 'data'=>'string', 'offset'=>'int'], + ], + 'sleep' => [ + 'old' => ['int|false', 'seconds'=>'0|positive-int'], + 'new' => ['int', 'seconds'=>'0|positive-int'], + ], + 'socket_accept' => [ + 'old' => ['resource|false', 'socket'=>'resource'], + 'new' => ['Socket|false', 'socket'=>'Socket'], + ], + 'socket_addrinfo_bind' => [ + 'old' => ['?resource', 'addrinfo'=>'resource'], + 'new' => ['Socket|false', 'address'=>'AddressInfo'], + ], + 'socket_addrinfo_connect' => [ + 'old' => ['resource', 'addrinfo'=>'resource'], + 'new' => ['Socket|false', 'address'=>'AddressInfo'], + ], + 'socket_addrinfo_explain' => [ + 'old' => ['array', 'addrinfo'=>'resource'], + 'new' => ['array', 'address'=>'AddressInfo'], + ], + 'socket_addrinfo_lookup' => [ + 'old' => ['resource[]', 'host'=>'string', 'service='=>'string', 'hints='=>'array'], + 'new' => ['false|AddressInfo[]', 'host'=>'string', 'service='=>'?string', 'hints='=>'array'], + ], + 'socket_bind' => [ + 'old' => ['bool', 'socket'=>'resource', 'address'=>'string', 'port='=>'int'], + 'new' => ['bool', 'socket'=>'Socket', 'address'=>'string', 'port='=>'int'], + ], + 'socket_clear_error' => [ + 'old' => ['void', 'socket='=>'resource'], + 'new' => ['void', 'socket='=>'?Socket'], + ], + 'socket_close' => [ + 'old' => ['void', 'socket'=>'resource'], + 'new' => ['void', 'socket'=>'Socket'], + ], + 'socket_connect' => [ + 'old' => ['bool', 'socket'=>'resource', 'address'=>'string', 'port='=>'int'], + 'new' => ['bool', 'socket'=>'Socket', 'address'=>'string', 'port='=>'?int'], + ], + 'socket_create' => [ + 'old' => ['resource|false', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int'], + 'new' => ['Socket|false', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int'], + ], + 'socket_create_listen' => [ + 'old' => ['resource|false', 'port'=>'int', 'backlog='=>'int'], + 'new' => ['Socket|false', 'port'=>'int', 'backlog='=>'int'], + ], + 'socket_create_pair' => [ + 'old' => ['bool', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int', '&w_pair'=>'resource[]'], + 'new' => ['bool', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int', '&w_pair'=>'Socket[]'], + ], + 'socket_export_stream' => [ + 'old' => ['resource|false', 'socket'=>'resource'], + 'new' => ['resource|false', 'socket'=>'Socket'], + ], + 'socket_get_option' => [ + 'old' => ['array|int|false', 'socket'=>'resource', 'level'=>'int', 'option'=>'int'], + 'new' => ['array|int|false', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int'], + ], + 'socket_get_status' => [ + 'old' => ['array', 'stream'=>'resource'], + 'new' => ['array', 'stream'=>'Socket'], + ], + 'socket_getopt' => [ + 'old' => ['array|int|false', 'socket'=>'resource', 'level'=>'int', 'option'=>'int'], + 'new' => ['array|int|false', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int'], + ], + 'socket_getpeername' => [ + 'old' => ['bool', 'socket'=>'resource', '&w_address'=>'string', '&w_port='=>'int'], + 'new' => ['bool', 'socket'=>'Socket', '&w_address'=>'string', '&w_port='=>'int'], + ], + 'socket_getsockname' => [ + 'old' => ['bool', 'socket'=>'resource', '&w_address'=>'string', '&w_port='=>'int'], + 'new' => ['bool', 'socket'=>'Socket', '&w_address'=>'string', '&w_port='=>'int'], + ], + 'socket_import_stream' => [ + 'old' => ['resource|false', 'stream'=>'resource'], + 'new' => ['Socket|false', 'stream'=>'resource'], + ], + 'socket_last_error' => [ + 'old' => ['int', 'socket='=>'resource'], + 'new' => ['int', 'socket='=>'?Socket'], + ], + 'socket_listen' => [ + 'old' => ['bool', 'socket'=>'resource', 'backlog='=>'int'], + 'new' => ['bool', 'socket'=>'Socket', 'backlog='=>'int'], + ], + 'socket_read' => [ + 'old' => ['string|false', 'socket'=>'resource', 'length'=>'int', 'mode='=>'int'], + 'new' => ['string|false', 'socket'=>'Socket', 'length'=>'int', 'mode='=>'int'], + ], + 'socket_recv' => [ + 'old' => ['int|false', 'socket'=>'resource', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int'], + ], + 'socket_recvfrom' => [ + 'old' => ['int|false', 'socket'=>'resource', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int', '&w_address'=>'string', '&w_port='=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int', '&w_address'=>'string', '&w_port='=>'int'], + ], + 'socket_recvmsg' => [ + 'old' => ['int|false', 'socket'=>'resource', '&w_message'=>'array', 'flags='=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', '&w_message'=>'array', 'flags='=>'int'], + ], + 'socket_select' => [ + 'old' => ['int|false', '&rw_read'=>'resource[]|null', '&rw_write'=>'resource[]|null', '&rw_except'=>'resource[]|null', 'seconds'=>'int|null', 'microseconds='=>'int'], + 'new' => ['int|false', '&rw_read'=>'Socket[]|null', '&rw_write'=>'Socket[]|null', '&rw_except'=>'Socket[]|null', 'seconds'=>'int|null', 'microseconds='=>'int'], + ], + 'socket_send' => [ + 'old' => ['int|false', 'socket'=>'resource', 'data'=>'string', 'length'=>'int', 'flags'=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', 'data'=>'string', 'length'=>'int', 'flags'=>'int'], + ], + 'socket_sendmsg' => [ + 'old' => ['int|false', 'socket'=>'resource', 'message'=>'array', 'flags='=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', 'message'=>'array', 'flags='=>'int'], + ], + 'socket_sendto' => [ + 'old' => ['int|false', 'socket'=>'resource', 'data'=>'string', 'length'=>'int', 'flags'=>'int', 'address'=>'string', 'port='=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', 'data'=>'string', 'length'=>'int', 'flags'=>'int', 'address'=>'string', 'port='=>'?int'], + ], + 'socket_set_block' => [ + 'old' => ['bool', 'socket'=>'resource'], + 'new' => ['bool', 'socket'=>'Socket'], + ], + 'socket_set_blocking' => [ + 'old' => ['bool', 'stream'=>'resource', 'enable'=>'bool'], + 'new' => ['bool', 'stream'=>'Socket', 'enable'=>'bool'], + ], + 'socket_set_nonblock' => [ + 'old' => ['bool', 'socket'=>'resource'], + 'new' => ['bool', 'socket'=>'Socket'], + ], + 'socket_set_option' => [ + 'old' => ['bool', 'socket'=>'resource', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], + 'new' => ['bool', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], + ], + 'socket_set_timeout' => [ + 'old' => ['bool', 'stream'=>'resource', 'seconds'=>'int', 'microseconds='=>'int'], + 'new' => ['bool', 'stream'=>'resource', 'seconds'=>'int', 'microseconds='=>'int'], + ], + 'socket_setopt' => [ + 'old' => ['bool', 'socket'=>'resource', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], + 'new' => ['bool', 'socket'=>'Socket', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], + ], + 'socket_shutdown' => [ + 'old' => ['bool', 'socket'=>'resource', 'mode='=>'int'], + 'new' => ['bool', 'socket'=>'Socket', 'mode='=>'int'], + ], + 'socket_write' => [ + 'old' => ['int|false', 'socket'=>'resource', 'data'=>'string', 'length='=>'int'], + 'new' => ['int|false', 'socket'=>'Socket', 'data'=>'string', 'length='=>'int|null'], + ], + 'socket_wsaprotocol_info_export' => [ + 'old' => ['string|false', 'socket'=>'resource', 'process_id'=>'int'], + 'new' => ['string|false', 'socket'=>'Socket', 'process_id'=>'int'], + ], + 'socket_wsaprotocol_info_import' => [ + 'old' => ['resource|false', 'info_id'=>'string'], + 'new' => ['Socket|false', 'info_id'=>'string'], + ], + 'spl_autoload' => [ + 'old' => ['void', 'class'=>'string', 'file_extensions='=>'string'], + 'new' => ['void', 'class'=>'string', 'file_extensions='=>'?string'], + ], + 'spl_autoload_extensions' => [ + 'old' => ['string', 'file_extensions='=>'string'], + 'new' => ['string', 'file_extensions='=>'?string'], + ], + 'spl_autoload_functions' => [ + 'old' => ['false|list'], + 'new' => ['list'], + ], + 'spl_autoload_register' => [ + 'old' => ['bool', 'callback='=>'callable(string):void', 'throw='=>'bool', 'prepend='=>'bool'], + 'new' => ['bool', 'callback='=>'callable(string):void|null', 'throw='=>'bool', 'prepend='=>'bool'], + ], + 'str_word_count' => [ + 'old' => ['array|int', 'string'=>'string', 'format='=>'int', 'characters='=>'string'], + 'new' => ['array|int', 'string'=>'string', 'format='=>'int', 'characters='=>'?string'], + ], + 'strchr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int', 'before_needle='=>'bool'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], + ], + 'strcspn' => [ + 'old' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'int'], + 'new' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'?int'], + ], + 'stream_context_create' => [ + 'old' => ['resource', 'options='=>'array', 'params='=>'array'], + 'new' => ['resource', 'options='=>'?array', 'params='=>'?array'], + ], + 'stream_context_get_default' => [ + 'old' => ['resource', 'options='=>'array'], + 'new' => ['resource', 'options='=>'?array'], + ], + 'stream_copy_to_stream' => [ + 'old' => ['int|false', 'from'=>'resource', 'to'=>'resource', 'length='=>'int', 'offset='=>'int'], + 'new' => ['int|false', 'from'=>'resource', 'to'=>'resource', 'length='=>'?int', 'offset='=>'int'], + ], + 'stream_get_contents' => [ + 'old' => ['string|false', 'stream'=>'resource', 'length='=>'int', 'offset='=>'int'], + 'new' => ['string|false', 'stream'=>'resource', 'length='=>'?int', 'offset='=>'int'], + ], + 'stream_set_chunk_size' => [ + 'old' => ['int|false', 'stream'=>'resource', 'size'=>'int'], + 'new' => ['int', 'stream'=>'resource', 'size'=>'int'], + ], + 'stream_socket_accept' => [ + 'old' => ['resource|false', 'socket'=>'resource', 'timeout='=>'float', '&w_peer_name='=>'string'], + 'new' => ['resource|false', 'socket'=>'resource', 'timeout='=>'?float', '&w_peer_name='=>'string'], + ], + 'stream_socket_client' => [ + 'old' => ['resource|false', 'address'=>'string', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'float', 'flags='=>'int', 'context='=>'resource'], + 'new' => ['resource|false', 'address'=>'string', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'?float', 'flags='=>'int', 'context='=>'?resource'], + ], + 'stream_socket_enable_crypto' => [ + 'old' => ['int|bool', 'stream'=>'resource', 'enable'=>'bool', 'crypto_method='=>'?int', 'session_stream='=>'resource'], + 'new' => ['int|bool', 'stream'=>'resource', 'enable'=>'bool', 'crypto_method='=>'?int', 'session_stream='=>'?resource'], + ], + 'strftime' => [ + 'old' => ['string|false', 'format'=>'string', 'timestamp='=>'int'], + 'new' => ['string|false', 'format'=>'string', 'timestamp='=>'?int'], + ], + 'strip_tags' => [ + 'old' => ['string', 'string'=>'string', 'allowed_tags='=>'string|list'], + 'new' => ['string', 'string'=>'string', 'allowed_tags='=>'string|list|null'], + ], + 'stripos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + ], + 'stristr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int', 'before_needle='=>'bool'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], + ], + 'strpos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + ], + 'strrchr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string'], + ], + 'strripos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + ], + 'strrpos' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'new' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + ], + 'strspn' => [ + 'old' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'int'], + 'new' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'?int'], + ], + 'strstr' => [ + 'old' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int', 'before_needle='=>'bool'], + 'new' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool'], + ], + 'strtotime' => [ + 'old' => ['int|false', 'datetime'=>'string', 'baseTimestamp='=>'int'], + 'new' => ['int|false', 'datetime'=>'string', 'baseTimestamp='=>'?int'], + ], + 'substr_compare' => [ + 'old' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset'=>'int', 'length='=>'int', 'case_insensitive='=>'bool'], + 'new' => ['int', 'haystack'=>'string', 'needle'=>'string', 'offset'=>'int', 'length='=>'?int', 'case_insensitive='=>'bool'], + ], + 'substr_count' => [ + 'old' => ['int', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'length='=>'int'], + 'new' => ['int', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'length='=>'?int'], + ], + 'substr' => [ + 'old' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'int'], + 'new' => ['string', 'string'=>'string', 'offset'=>'int', 'length='=>'?int'], + ], + 'substr_replace' => [ + 'old' => ['string|string[]', 'string'=>'string|string[]', 'replace'=>'string|string[]', 'offset'=>'int|int[]', 'length='=>'int|int[]'], + 'new' => ['string|string[]', 'string'=>'string|string[]', 'replace'=>'string|string[]', 'offset'=>'int|int[]', 'length='=>'int|int[]|null'], + ], + 'tidy_parse_file' => [ + 'old' => ['tidy', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'new' => ['tidy', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], + ], + 'tidy_parse_string' => [ + 'old' => ['tidy', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'new' => ['tidy', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], + ], + 'tidy_repair_file' => [ + 'old' => ['string', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'new' => ['string', 'filename'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string', 'useIncludePath='=>'bool'], + ], + 'tidy_repair_string' => [ + 'old' => ['string', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'new' => ['string', 'string'=>'string', 'config='=>'array|string|null', 'encoding='=>'?string'], + ], + 'timezone_identifiers_list' => [ + 'old' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'?string'], + 'new' => ['list', 'timezoneGroup='=>'int', 'countryCode='=>'?string'], + ], + 'timezone_offset_get' => [ + 'old' => ['int|false', 'object'=>'DateTimeZone', 'datetime'=>'DateTimeInterface'], + 'new' => ['int', 'object'=>'DateTimeZone', 'datetime'=>'DateTimeInterface'], + ], + 'touch' => [ + 'old' => ['bool', 'filename'=>'string', 'mtime='=>'int', 'atime='=>'int'], + 'new' => ['bool', 'filename'=>'string', 'mtime='=>'?int', 'atime='=>'?int'], + ], + 'umask' => [ + 'old' => ['int', 'mask='=>'int'], + 'new' => ['int', 'mask='=>'?int'], + ], + 'unixtojd' => [ + 'old' => ['int', 'timestamp='=>'int'], + 'new' => ['int', 'timestamp='=>'?int'], + ], + 'xml_get_current_byte_index' => [ + 'old' => ['int|false', 'parser'=>'resource'], + 'new' => ['int', 'parser'=>'XMLParser'], + ], + 'xml_get_current_column_number' => [ + 'old' => ['int|false', 'parser'=>'resource'], + 'new' => ['int', 'parser'=>'XMLParser'], + ], + 'xml_get_current_line_number' => [ + 'old' => ['int|false', 'parser'=>'resource'], + 'new' => ['int', 'parser'=>'XMLParser'], + ], + 'xml_get_error_code' => [ + 'old' => ['int|false', 'parser'=>'resource'], + 'new' => ['int', 'parser'=>'XMLParser'], + ], + 'xml_parse' => [ + 'old' => ['int', 'parser'=>'resource', 'data'=>'string', 'is_final='=>'bool'], + 'new' => ['int', 'parser'=>'XMLParser', 'data'=>'string', 'is_final='=>'bool'], + ], + 'xml_parse_into_struct' => [ + 'old' => ['int', 'parser'=>'resource', 'data'=>'string', '&w_values'=>'array', '&w_index='=>'array'], + 'new' => ['int', 'parser'=>'XMLParser', 'data'=>'string', '&w_values'=>'array', '&w_index='=>'array'], + ], + 'xml_parser_create' => [ + 'old' => ['resource', 'encoding='=>'string'], + 'new' => ['XMLParser', 'encoding='=>'?string'], + ], + 'xml_parser_create_ns' => [ + 'old' => ['resource', 'encoding='=>'string', 'separator='=>'string'], + 'new' => ['XMLParser', 'encoding='=>'?string', 'separator='=>'string'], + ], + 'xml_parser_free' => [ + 'old' => ['bool', 'parser'=>'resource'], + 'new' => ['bool', 'parser'=>'XMLParser'], + ], + 'xml_parser_get_option' => [ + 'old' => ['string|false', 'parser'=>'resource', 'option'=>'int'], + 'new' => ['string', 'parser'=>'XMLParser', 'option'=>'int'], + ], + 'xml_parser_set_option' => [ + 'old' => ['bool', 'parser'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'new' => ['bool', 'parser'=>'XMLParser', 'option'=>'int', 'value'=>'mixed'], + ], + 'xml_set_character_data_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_default_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_element_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'start_handler'=>'callable', 'end_handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'start_handler'=>'callable', 'end_handler'=>'callable'], + ], + 'xml_set_end_namespace_decl_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_external_entity_ref_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_notation_decl_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_object' => [ + 'old' => ['true', 'parser'=>'resource', 'object'=>'object'], + 'new' => ['true', 'parser'=>'XMLParser', 'object'=>'object'], + ], + 'xml_set_processing_instruction_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_start_namespace_decl_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xml_set_unparsed_entity_decl_handler' => [ + 'old' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'new' => ['true', 'parser'=>'XMLParser', 'handler'=>'callable'], + ], + 'xmlwriter_end_attribute' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_cdata' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_comment' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_document' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_dtd' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_dtd_attlist' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_dtd_element' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_dtd_entity' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_element' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_end_pi' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_flush' => [ + 'old' => ['string|int|false', 'writer'=>'resource', 'empty='=>'bool'], + 'new' => ['string|int', 'writer'=>'XMLWriter', 'empty='=>'bool'], + ], + 'xmlwriter_full_end_element' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_open_memory' => [ + 'old' => ['resource|false'], + 'new' => ['XMLWriter|false'], + ], + 'xmlwriter_open_uri' => [ + 'old' => ['resource|false', 'uri'=>'string'], + 'new' => ['XMLWriter|false', 'uri'=>'string'], + ], + 'xmlwriter_output_memory' => [ + 'old' => ['string', 'writer'=>'resource', 'flush='=>'bool'], + 'new' => ['string', 'writer'=>'XMLWriter', 'flush='=>'bool'], + ], + 'xmlwriter_set_indent' => [ + 'old' => ['bool', 'writer'=>'resource', 'enable'=>'bool'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'enable'=>'bool'], + ], + 'xmlwriter_set_indent_string' => [ + 'old' => ['bool', 'writer'=>'resource', 'indentation'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'indentation'=>'string'], + ], + 'xmlwriter_start_attribute' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string'], + ], + 'xmlwriter_start_attribute_ns' => [ + 'old' => ['bool', 'writer'=>'resource', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], + ], + 'xmlwriter_start_cdata' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_start_comment' => [ + 'old' => ['bool', 'writer'=>'resource'], + 'new' => ['bool', 'writer'=>'XMLWriter'], + ], + 'xmlwriter_start_document' => [ + 'old' => ['bool', 'writer'=>'resource', 'version='=>'?string', 'encoding='=>'?string', 'standalone='=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'version='=>'?string', 'encoding='=>'?string', 'standalone='=>'?string'], + ], + 'xmlwriter_start_dtd' => [ + 'old' => ['bool', 'writer'=>'resource', 'qualifiedName'=>'string', 'publicId='=>'?string', 'systemId='=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'qualifiedName'=>'string', 'publicId='=>'?string', 'systemId='=>'?string'], + ], + 'xmlwriter_start_dtd_attlist' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string'], + ], + 'xmlwriter_start_dtd_element' => [ + 'old' => ['bool', 'writer'=>'resource', 'qualifiedName'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'qualifiedName'=>'string'], + ], + 'xmlwriter_start_dtd_entity' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'isParam'=>'bool'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'isParam'=>'bool'], + ], + 'xmlwriter_start_element' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string'], + ], + 'xmlwriter_start_element_ns' => [ + 'old' => ['bool', 'writer'=>'resource', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], + ], + 'xmlwriter_start_pi' => [ + 'old' => ['bool', 'writer'=>'resource', 'target'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'target'=>'string'], + ], + 'xmlwriter_text' => [ + 'old' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], + ], + 'xmlwriter_write_attribute' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'value'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'value'=>'string'], + ], + 'xmlwriter_write_attribute_ns' => [ + 'old' => ['bool', 'writer'=>'resource', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], + ], + 'xmlwriter_write_cdata' => [ + 'old' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], + ], + 'xmlwriter_write_comment' => [ + 'old' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], + ], + 'xmlwriter_write_dtd' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'publicId='=>'?string', 'systemId='=>'?string', 'content='=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'publicId='=>'?string', 'systemId='=>'?string', 'content='=>'?string'], + ], + 'xmlwriter_write_dtd_attlist' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content'=>'string'], + ], + 'xmlwriter_write_dtd_element' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content'=>'string'], + ], + 'xmlwriter_write_dtd_entity' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'string', 'isParam'=>'bool', 'publicId'=>'string', 'systemId'=>'string', 'notationData'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content'=>'string', 'isParam='=>'bool', 'publicId='=>'?string', 'systemId='=>'?string', 'notationData='=>'?string'], + ], + 'xmlwriter_write_element' => [ + 'old' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'name'=>'string', 'content='=>'?string'], + ], + 'xmlwriter_write_element_ns' => [ + 'old' => ['bool', 'writer'=>'resource', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'string', 'content'=>'?string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'content='=>'?string'], + ], + 'xmlwriter_write_pi' => [ + 'old' => ['bool', 'writer'=>'resource', 'target'=>'string', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'target'=>'string', 'content'=>'string'], + ], + 'xmlwriter_write_raw' => [ + 'old' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'new' => ['bool', 'writer'=>'XMLWriter', 'content'=>'string'], + ], + 'ZipArchive::addEmptyDir' => [ + 'old' => ['bool', 'dirname'=>'string'], + 'new' => ['bool', 'dirname'=>'string', 'flags='=>'int'], + ], + 'ZipArchive::addFile' => [ + 'old' => ['bool', 'filepath'=>'string', 'entryname='=>'string', 'start='=>'int', 'length='=>'int'], + 'new' => ['bool', 'filepath'=>'string', 'entryname='=>'string', 'start='=>'int', 'length='=>'int', 'flags='=>'int'], + ], + 'ZipArchive::addFromString' => [ + 'old' => ['bool', 'name'=>'string', 'content'=>'string'], + 'new' => ['bool', 'name'=>'string', 'content'=>'string', 'flags='=>'int'], + ], + ], + 'removed' => [ + 'PDOStatement::setFetchMode\'1' => ['bool', 'fetch_column'=>'int', 'colno'=>'int'], + 'PDOStatement::setFetchMode\'2' => ['bool', 'fetch_class'=>'int', 'classname'=>'string', 'ctorargs'=>'array'], + 'PDOStatement::setFetchMode\'3' => ['bool', 'fetch_into'=>'int', 'object'=>'object'], + 'ReflectionType::isBuiltin' => ['bool'], + 'SplFileObject::fgetss' => ['string|false', 'allowable_tags='=>'string'], + 'create_function' => ['string', 'args'=>'string', 'code'=>'string'], + 'each' => ['array{0:int|string,key:int|string,1:mixed,value:mixed}', '&r_arr'=>'array'], + 'fgetss' => ['string|false', 'fp'=>'resource', 'length='=>'int', 'allowable_tags='=>'string'], + 'gmp_random' => ['GMP', 'limiter='=>'int'], + 'gzgetss' => ['string|false', 'zp'=>'resource', 'length'=>'int', 'allowable_tags='=>'string'], + 'image2wbmp' => ['bool', 'im'=>'resource', 'filename='=>'?string', 'threshold='=>'int'], + 'jpeg2wbmp' => ['bool', 'jpegname'=>'string', 'wbmpname'=>'string', 'dest_height'=>'int', 'dest_width'=>'int', 'threshold'=>'int'], + 'ldap_control_paged_result' => ['bool', 'link_identifier'=>'resource', 'pagesize'=>'int', 'iscritical='=>'bool', 'cookie='=>'string'], + 'ldap_control_paged_result_response' => ['bool', 'link_identifier'=>'resource', 'result_identifier'=>'resource', '&w_cookie'=>'string', '&w_estimated'=>'int'], + 'ldap_sort' => ['bool', 'link_identifier'=>'resource', 'result_identifier'=>'resource', 'sortfilter'=>'string'], + 'number_format\'1' => ['string', 'num'=>'float|int', 'decimals'=>'int', 'decimal_separator'=>'?string', 'thousands_separator'=>'?string'], + 'png2wbmp' => ['bool', 'pngname'=>'string', 'wbmpname'=>'string', 'dest_height'=>'int', 'dest_width'=>'int', 'threshold'=>'int'], + 'read_exif_data' => ['array', 'filename'=>'string', 'sections_needed='=>'string', 'sub_arrays='=>'bool', 'read_thumbnail='=>'bool'], + 'Reflection::export' => ['?string', 'r'=>'reflector', 'return='=>'bool'], + 'ReflectionClass::export' => ['?string', 'argument'=>'string|object', 'return='=>'bool'], + 'ReflectionClassConstant::export' => ['string', 'class'=>'mixed', 'name'=>'string', 'return='=>'bool'], + 'ReflectionExtension::export' => ['?string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionFunction::export' => ['?string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionFunctionAbstract::export' => ['?string'], + 'ReflectionMethod::export' => ['?string', 'class'=>'string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionObject::export' => ['?string', 'argument'=>'object', 'return='=>'bool'], + 'ReflectionParameter::export' => ['?string', 'function'=>'string', 'parameter'=>'string', 'return='=>'bool'], + 'ReflectionProperty::export' => ['?string', 'class'=>'mixed', 'name'=>'string', 'return='=>'bool'], + 'ReflectionZendExtension::export' => ['?string', 'name'=>'string', 'return='=>'bool'], + 'SimpleXMLIterator::rewind' => ['void'], + 'SimpleXMLIterator::valid' => ['bool'], + 'SimpleXMLIterator::current' => ['?SimpleXMLIterator'], + 'SimpleXMLIterator::key' => ['string|false'], + 'SimpleXMLIterator::next' => ['void'], + 'SimpleXMLIterator::hasChildren' => ['bool'], + 'SimpleXMLIterator::getChildren' => ['?SimpleXMLIterator'], + 'SplTempFileObject::fgetss' => ['string', 'allowable_tags='=>'string'], + 'xmlrpc_decode' => ['mixed', 'xml'=>'string', 'encoding='=>'string'], + 'xmlrpc_decode_request' => ['?array', 'xml'=>'string', '&w_method'=>'string', 'encoding='=>'string'], + 'xmlrpc_encode' => ['string', 'value'=>'mixed'], + 'xmlrpc_encode_request' => ['string', 'method'=>'string', 'params'=>'mixed', 'output_options='=>'array'], + 'xmlrpc_get_type' => ['string', 'value'=>'mixed'], + 'xmlrpc_is_fault' => ['bool', 'arg'=>'array'], + 'xmlrpc_parse_method_descriptions' => ['array', 'xml'=>'string'], + 'xmlrpc_server_add_introspection_data' => ['int', 'server'=>'resource', 'desc'=>'array'], + 'xmlrpc_server_call_method' => ['string', 'server'=>'resource', 'xml'=>'string', 'user_data'=>'mixed', 'output_options='=>'array'], + 'xmlrpc_server_create' => ['resource'], + 'xmlrpc_server_destroy' => ['int', 'server'=>'resource'], + 'xmlrpc_server_register_introspection_callback' => ['bool', 'server'=>'resource', 'function'=>'string'], + 'xmlrpc_server_register_method' => ['bool', 'server'=>'resource', 'method_name'=>'string', 'function'=>'string'], + 'xmlrpc_set_type' => ['bool', '&rw_value'=>'string|DateTime', 'type'=>'string'], + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_81_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_81_delta.php new file mode 100644 index 00000000..6d76650b --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_81_delta.php @@ -0,0 +1,1194 @@ + [ + 'array_is_list' => ['bool', 'array' => 'array'], + 'enum_exists' => ['bool', 'enum' => 'string', 'autoload=' => 'bool'], + 'fsync' => ['bool', 'stream' => 'resource'], + 'fdatasync' => ['bool', 'stream' => 'resource'], + 'imageavif' => ['bool', 'image'=>'GdImage', 'file='=>'resource|string|null', 'quality='=>'int', 'speed='=>'int'], + 'imagecreatefromavif' => ['false|GdImage', 'filename'=>'string'], + 'mysqli_fetch_column' => ['null|int|float|string|false', 'result'=>'mysqli_result', 'column='=>'int'], + 'mysqli_result::fetch_column' => ['null|int|float|string|false', 'column='=>'int'], + 'CURLStringFile::__construct' => ['void', 'data'=>'string', 'postname'=>'string', 'mime='=>'string'], + 'Fiber::__construct' => ['void', 'callback'=>'callable'], + 'Fiber::start' => ['mixed', '...args'=>'mixed'], + 'Fiber::resume' => ['mixed', 'value='=>'null|mixed'], + 'Fiber::throw' => ['mixed', 'exception'=>'Throwable'], + 'Fiber::isStarted' => ['bool'], + 'Fiber::isSuspended' => ['bool'], + 'Fiber::isRunning' => ['bool'], + 'Fiber::isTerminated' => ['bool'], + 'Fiber::getReturn' => ['mixed'], + 'Fiber::getCurrent' => ['?self'], + 'Fiber::suspend' => ['mixed', 'value='=>'null|mixed'], + 'FiberError::__construct' => ['void'], + 'GMP::__serialize' => ['array'], + 'GMP::__unserialize' => ['void', 'data'=>'array'], + 'ReflectionClass::isEnum' => ['bool'], + 'ReflectionEnum::getBackingType' => ['?ReflectionType'], + 'ReflectionEnum::getCase' => ['ReflectionEnumUnitCase', 'name' => 'string'], + 'ReflectionEnum::getCases' => ['list'], + 'ReflectionEnum::hasCase' => ['bool', 'name' => 'string'], + 'ReflectionEnum::isBacked' => ['bool'], + 'ReflectionEnumUnitCase::getEnum' => ['ReflectionEnum'], + 'ReflectionEnumUnitCase::getValue' => ['UnitEnum'], + 'ReflectionEnumBackedCase::getBackingValue' => ['string|int'], + 'ReflectionFunctionAbstract::getTentativeReturnType' => ['?ReflectionType'], + 'ReflectionFunctionAbstract::hasTentativeReturnType' => ['bool'], + 'ReflectionFunctionAbstract::isStatic' => ['bool'], + 'ReflectionObject::isEnum' => ['bool'], + 'sodium_crypto_stream_xchacha20' => ['non-empty-string', 'length'=>'positive-int', 'nonce'=>'non-empty-string', 'key'=>'non-empty-string'], + 'sodium_crypto_stream_xchacha20_keygen' => ['non-empty-string'], + 'sodium_crypto_stream_xchacha20_xor' => ['string', 'message'=>'string', 'nonce'=>'non-empty-string', 'key'=>'non-empty-string'], + ], + + 'changed' => [ + 'DOMDocument::createComment' => [ + 'old' => ['DOMComment|false', 'data'=>'string'], + 'new' => ['DOMComment', 'data'=>'string'], + ], + 'DOMDocument::createDocumentFragment' => [ + 'old' => ['DOMDocumentFragment|false'], + 'new' => ['DOMDocumentFragment'], + ], + 'SplFileObject::fputcsv' => [ + 'old' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'new' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string', 'eol='=>'string'], + ], + 'SplTempFileObject::fputcsv' => [ + 'old' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'new' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string', 'eol='=>'string'], + ], + 'finfo_buffer' => [ + 'old' => ['string|false', 'finfo'=>'resource', 'string'=>'string', 'flags='=>'int', 'context='=>'resource'], + 'new' => ['string|false', 'finfo'=>'finfo', 'string'=>'string', 'flags='=>'int', 'context='=>'resource'], + ], + 'finfo_close' => [ + 'old' => ['bool', 'finfo'=>'resource'], + 'new' => ['bool', 'finfo'=>'finfo'], + ], + 'finfo_file' => [ + 'old' => ['string|false', 'finfo'=>'resource', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], + 'new' => ['string|false', 'finfo'=>'finfo', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], + ], + 'finfo_open' => [ + 'old' => ['resource|false', 'flags='=>'int', 'magic_database='=>'?string'], + 'new' => ['finfo|false', 'flags='=>'int', 'magic_database='=>'?string'], + ], + 'finfo_set_flags' => [ + 'old' => ['bool', 'finfo'=>'resource', 'flags'=>'int'], + 'new' => ['bool', 'finfo'=>'finfo', 'flags'=>'int'], + ], + 'fputcsv' => [ + 'old' => ['int|false', 'stream'=>'resource', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'new' => ['int|false', 'stream'=>'resource', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string', 'eol='=>'string'], + ], + 'ftp_connect' => [ + 'old' => ['resource|false', 'hostname' => 'string', 'port=' => 'int', 'timeout=' => 'int'], + 'new' => ['FTP\Connection|false', 'hostname' => 'string', 'port=' => 'int', 'timeout=' => 'int'], + ], + 'ftp_ssl_connect' => [ + 'old' => ['resource|false', 'hostname' => 'string', 'port=' => 'int', 'timeout=' => 'int'], + 'new' => ['FTP\Connection|false', 'hostname' => 'string', 'port=' => 'int', 'timeout=' => 'int'], + ], + 'ftp_login' => [ + 'old' => ['bool', 'ftp' => 'resource', 'username' => 'string', 'password' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'username' => 'string', 'password' => 'string'], + ], + 'ftp_pwd' => [ + 'old' => ['string|false', 'ftp' => 'resource'], + 'new' => ['string|false', 'ftp' => 'FTP\Connection'], + ], + 'ftp_cdup' => [ + 'old' => ['bool', 'ftp' => 'resource'], + 'new' => ['bool', 'ftp' => 'FTP\Connection'], + ], + 'ftp_chdir' => [ + 'old' => ['bool', 'ftp' => 'resource', 'directory' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'directory' => 'string'], + ], + 'ftp_exec' => [ + 'old' => ['bool', 'ftp' => 'resource', 'command' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'command' => 'string'], + ], + 'ftp_raw' => [ + 'old' => ['?array', 'ftp' => 'resource', 'command' => 'string'], + 'new' => ['?array', 'ftp' => 'FTP\Connection', 'command' => 'string'], + ], + 'ftp_mkdir' => [ + 'old' => ['string|false', 'ftp' => 'resource', 'directory' => 'string'], + 'new' => ['string|false', 'ftp' => 'FTP\Connection', 'directory' => 'string'], + ], + 'ftp_rmdir' => [ + 'old' => ['bool', 'ftp' => 'resource', 'directory' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'directory' => 'string'], + ], + 'ftp_chmod' => [ + 'old' => ['int|false', 'ftp' => 'resource', 'permissions' => 'int', 'filename' => 'string'], + 'new' => ['int|false', 'ftp' => 'FTP\Connection', 'permissions' => 'int', 'filename' => 'string'], + ], + 'ftp_alloc' => [ + 'old' => ['bool', 'ftp' => 'resource', 'size' => 'int', '&w_response=' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'size' => 'int', '&w_response=' => 'string'], + ], + 'ftp_nlist' => [ + 'old' => ['array|false', 'ftp' => 'resource', 'directory' => 'string'], + 'new' => ['array|false', 'ftp' => 'FTP\Connection', 'directory' => 'string'], + ], + 'ftp_rawlist' => [ + 'old' => ['array|false', 'ftp' => 'resource', 'directory' => 'string', 'recursive=' => 'bool'], + 'new' => ['array|false', 'ftp' => 'FTP\Connection', 'directory' => 'string', 'recursive=' => 'bool'], + ], + 'ftp_mlsd' => [ + 'old' => ['array|false', 'ftp' => 'resource', 'directory' => 'string'], + 'new' => ['array|false', 'ftp' => 'FTP\Connection', 'directory' => 'string'], + ], + 'ftp_systype' => [ + 'old' => ['string|false', 'ftp' => 'resource'], + 'new' => ['string|false', 'ftp' => 'FTP\Connection'], + ], + 'ftp_fget' => [ + 'old' => ['bool', 'ftp' => 'resource', 'stream' => 'resource', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'stream' => 'resource', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_nb_fget' => [ + 'old' => ['int', 'ftp' => 'resource', 'stream' => 'resource', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['int', 'ftp' => 'FTP\Connection', 'stream' => 'resource', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_pasv' => [ + 'old' => ['bool', 'ftp' => 'resource', 'enable' => 'bool'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'enable' => 'bool'], + ], + 'ftp_get' => [ + 'old' => ['bool', 'ftp' => 'resource', 'local_filename' => 'string', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'local_filename' => 'string', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_nb_get' => [ + 'old' => ['int', 'ftp' => 'resource', 'local_filename' => 'string', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['int', 'ftp' => 'FTP\Connection', 'local_filename' => 'string', 'remote_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_nb_continue' => [ + 'old' => ['int', 'ftp' => 'resource'], + 'new' => ['int', 'ftp' => 'FTP\Connection'], + ], + 'ftp_fput' => [ + 'old' => ['bool', 'ftp' => 'resource', 'remote_filename' => 'string', 'stream' => 'resource', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'remote_filename' => 'string', 'stream' => 'resource', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_nb_fput' => [ + 'old' => ['int', 'ftp' => 'resource', 'remote_filename' => 'string', 'stream' => 'resource', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['int', 'ftp' => 'FTP\Connection', 'remote_filename' => 'string', 'stream' => 'resource', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_put' => [ + 'old' => ['bool', 'ftp' => 'resource', 'remote_filename' => 'string', 'local_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'remote_filename' => 'string', 'local_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_append' => [ + 'old' => ['bool', 'ftp' => 'resource', 'remote_filename' => 'string', 'local_filename' => 'string', 'mode=' => 'int'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'remote_filename' => 'string', 'local_filename' => 'string', 'mode=' => 'int'], + ], + 'ftp_nb_put' => [ + 'old' => ['int', 'ftp' => 'resource', 'remote_filename' => 'string', 'local_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + 'new' => ['int', 'ftp' => 'FTP\Connection', 'remote_filename' => 'string', 'local_filename' => 'string', 'mode=' => 'int', 'offset=' => 'int'], + ], + 'ftp_size' => [ + 'old' => ['int', 'ftp' => 'resource', 'filename' => 'string'], + 'new' => ['int', 'ftp' => 'FTP\Connection', 'filename' => 'string'], + ], + 'ftp_mdtm' => [ + 'old' => ['int', 'ftp' => 'resource', 'filename' => 'string'], + 'new' => ['int', 'ftp' => 'FTP\Connection', 'filename' => 'string'], + ], + 'ftp_rename' => [ + 'old' => ['bool', 'ftp' => 'resource', 'from' => 'string', 'to' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'from' => 'string', 'to' => 'string'], + ], + 'ftp_delete' => [ + 'old' => ['bool', 'ftp' => 'resource', 'filename' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'filename' => 'string'], + ], + 'ftp_site' => [ + 'old' => ['bool', 'ftp' => 'resource', 'command' => 'string'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'command' => 'string'], + ], + 'ftp_close' => [ + 'old' => ['bool', 'ftp' => 'resource'], + 'new' => ['bool', 'ftp' => 'FTP\Connection'], + ], + 'ftp_quit' => [ + 'old' => ['bool', 'ftp' => 'resource'], + 'new' => ['bool', 'ftp' => 'FTP\Connection'], + ], + 'ftp_set_option' => [ + 'old' => ['bool', 'ftp' => 'resource', 'option' => 'int', 'value' => 'mixed'], + 'new' => ['bool', 'ftp' => 'FTP\Connection', 'option' => 'int', 'value' => 'mixed'], + ], + 'ftp_get_option' => [ + 'old' => ['int|false', 'ftp' => 'resource', 'option' => 'int'], + 'new' => ['int|false', 'ftp' => 'FTP\Connection', 'option' => 'int'], + ], + 'hash' => [ + 'old' => ['non-empty-string', 'algo'=>'string', 'data'=>'string', 'binary='=>'bool'], + 'new' => ['non-empty-string', 'algo'=>'string', 'data'=>'string', 'binary='=>'bool', 'options='=>'array{seed:scalar}'], + ], + 'hash_file' => [ + 'old' => ['non-empty-string|false', 'algo'=>'string', 'filename'=>'string', 'binary='=>'bool'], + 'new' => ['non-empty-string|false', 'algo'=>'string', 'filename'=>'string', 'binary='=>'bool', 'options='=>'array{seed:scalar}'], + ], + 'hash_init' => [ + 'old' => ['HashContext', 'algo'=>'string', 'flags='=>'int', 'key='=>'string'], + 'new' => ['HashContext', 'algo'=>'string', 'flags='=>'int', 'key='=>'string', 'options='=>'array{seed:scalar}'], + ], + 'imageloadfont' => [ + 'old' => ['int|false', 'filename'=>'string'], + 'new' => ['GdFont|false', 'filename'=>'string'], + ], + 'imap_append' => [ + 'old' => ['bool', 'imap'=>'resource', 'folder'=>'string', 'message'=>'string', 'options='=>'?string', 'internal_date='=>'?string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'folder'=>'string', 'message'=>'string', 'options='=>'?string', 'internal_date='=>'?string'], + ], + 'imap_body' => [ + 'old' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'new' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], + ], + 'imap_bodystruct' => [ + 'old' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'section'=>'string'], + 'new' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'section'=>'string'], + ], + 'imap_check' => [ + 'old' => ['stdClass|false', 'imap'=>'resource'], + 'new' => ['stdClass|false', 'imap'=>'IMAP\Connection'], + ], + 'imap_clearflag_full' => [ + 'old' => ['bool', 'imap'=>'resource', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], + ], + 'imap_close' => [ + 'old' => ['bool', 'imap'=>'resource', 'flags='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'flags='=>'int'], + ], + 'imap_create' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'imap_createmailbox' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'imap_delete' => [ + 'old' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'flags='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'flags='=>'int'], + ], + 'imap_deletemailbox' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'imap_expunge' => [ + 'old' => ['bool', 'imap'=>'resource'], + 'new' => ['bool', 'imap'=>'IMAP\Connection'], + ], + 'imap_fetch_overview' => [ + 'old' => ['array|false', 'imap'=>'resource', 'sequence'=>'string', 'flags='=>'int'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'sequence'=>'string', 'flags='=>'int'], + ], + 'imap_fetchbody' => [ + 'old' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], + 'new' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], + ], + 'imap_fetchheader' => [ + 'old' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'new' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], + ], + 'imap_fetchmime' => [ + 'old' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], + 'new' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], + ], + 'imap_fetchstructure' => [ + 'old' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'new' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], + ], + 'imap_fetchtext' => [ + 'old' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'new' => ['string|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'flags='=>'int'], + ], + 'imap_gc' => [ + 'old' => ['bool', 'imap'=>'resource', 'flags'=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'flags'=>'int'], + ], + 'imap_get_quota' => [ + 'old' => ['array|false', 'imap'=>'resource', 'quota_root'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'quota_root'=>'string'], + ], + 'imap_get_quotaroot' => [ + 'old' => ['array|false', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'imap_getacl' => [ + 'old' => ['array|false', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'imap_getmailboxes' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], + ], + 'imap_getsubscribed' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], + ], + 'imap_headerinfo' => [ + 'old' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'from_length='=>'int', 'subject_length='=>'int'], + 'new' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int', 'from_length='=>'int', 'subject_length='=>'int'], + ], + 'imap_headers' => [ + 'old' => ['array|false', 'imap'=>'resource'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection'], + ], + 'imap_list' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], + ], + 'imap_listmailbox' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], + ], + 'imap_listscan' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + ], + 'imap_listsubscribed' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], + ], + 'imap_lsub' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string'], + ], + 'imap_mail_copy' => [ + 'old' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], + ], + 'imap_mail_move' => [ + 'old' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], + ], + 'imap_mailboxmsginfo' => [ + 'old' => ['stdClass', 'imap'=>'resource'], + 'new' => ['stdClass', 'imap'=>'IMAP\Connection'], + ], + 'imap_msgno' => [ + 'old' => ['int', 'imap'=>'resource', 'message_uid'=>'int'], + 'new' => ['int', 'imap'=>'IMAP\Connection', 'message_uid'=>'int'], + ], + 'imap_num_msg' => [ + 'old' => ['int|false', 'imap'=>'resource'], + 'new' => ['int|false', 'imap'=>'IMAP\Connection'], + ], + 'imap_num_recent' => [ + 'old' => ['int', 'imap'=>'resource'], + 'new' => ['int', 'imap'=>'IMAP\Connection'], + ], + 'imap_open' => [ + 'old' => ['resource|false', 'mailbox'=>'string', 'user'=>'string', 'password'=>'string', 'flags='=>'int', 'retries='=>'int', 'options='=>'array'], + 'new' => ['IMAP\Connection|false', 'mailbox'=>'string', 'user'=>'string', 'password'=>'string', 'flags='=>'int', 'retries='=>'int', 'options='=>'array'], + ], + 'imap_ping' => [ + 'old' => ['bool', 'imap'=>'resource'], + 'new' => ['bool', 'imap'=>'IMAP\Connection'], + ], + 'imap_rename' => [ + 'old' => ['bool', 'imap'=>'resource', 'from'=>'string', 'to'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'from'=>'string', 'to'=>'string'], + ], + 'imap_renamemailbox' => [ + 'old' => ['bool', 'imap'=>'resource', 'from'=>'string', 'to'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'from'=>'string', 'to'=>'string'], + ], + 'imap_reopen' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string', 'flags='=>'int', 'retries='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string', 'flags='=>'int', 'retries='=>'int'], + ], + 'imap_savebody' => [ + 'old' => ['bool', 'imap'=>'resource', 'file'=>'string|resource', 'message_num'=>'int', 'section='=>'string', 'flags='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'file'=>'string|resource', 'message_num'=>'int', 'section='=>'string', 'flags='=>'int'], + ], + 'imap_scan' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + ], + 'imap_scanmailbox' => [ + 'old' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + ], + 'imap_search' => [ + 'old' => ['array|false', 'imap'=>'resource', 'criteria'=>'string', 'flags='=>'int', 'charset='=>'string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'criteria'=>'string', 'flags='=>'int', 'charset='=>'string'], + ], + 'imap_set_quota' => [ + 'old' => ['bool', 'imap'=>'resource', 'quota_root'=>'string', 'mailbox_size'=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'quota_root'=>'string', 'mailbox_size'=>'int'], + ], + 'imap_setacl' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string', 'user_id'=>'string', 'rights'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string', 'user_id'=>'string', 'rights'=>'string'], + ], + 'imap_setflag_full' => [ + 'old' => ['bool', 'imap'=>'resource', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], + ], + 'imap_sort' => [ + 'old' => ['array|false', 'imap'=>'resource', 'criteria'=>'int', 'reverse'=>'bool', 'flags='=>'int', 'search_criteria='=>'?string', 'charset='=>'?string'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'criteria'=>'int', 'reverse'=>'bool', 'flags='=>'int', 'search_criteria='=>'?string', 'charset='=>'?string'], + ], + 'imap_status' => [ + 'old' => ['stdClass|false', 'imap'=>'resource', 'mailbox'=>'string', 'flags'=>'int'], + 'new' => ['stdClass|false', 'imap'=>'IMAP\Connection', 'mailbox'=>'string', 'flags'=>'int'], + ], + 'imap_subscribe' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'imap_thread' => [ + 'old' => ['array|false', 'imap'=>'resource', 'flags='=>'int'], + 'new' => ['array|false', 'imap'=>'IMAP\Connection', 'flags='=>'int'], + ], + 'imap_uid' => [ + 'old' => ['int|false', 'imap'=>'resource', 'message_num'=>'int'], + 'new' => ['int|false', 'imap'=>'IMAP\Connection', 'message_num'=>'int'], + ], + 'imap_undelete' => [ + 'old' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'flags='=>'int'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'message_nums'=>'string', 'flags='=>'int'], + ], + 'imap_unsubscribe' => [ + 'old' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'new' => ['bool', 'imap'=>'IMAP\Connection', 'mailbox'=>'string'], + ], + 'ini_alter' => [ + 'old' => ['string|false', 'option'=>'string', 'value'=>'string'], + 'new' => ['string|false', 'option'=>'string', 'value'=>'string|int|float|bool|null'], + ], + 'ini_set' => [ + 'old' => ['string|false', 'option'=>'string', 'value'=>'string'], + 'new' => ['string|false', 'option'=>'string', 'value'=>'string|int|float|bool|null'], + ], + 'IntlDateFormatter::__construct' => [ + 'old' => ['void', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + 'new' => ['void', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + ], + 'IntlDateFormatter::create' => [ + 'old' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + 'new' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType='=>'int', 'timeType='=>'int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + ], + 'ldap_add' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_add_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_bind' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn='=>'string|null', 'password='=>'string|null'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn='=>'string|null', 'password='=>'string|null'], + ], + 'ldap_bind_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn='=>'string|null', 'password='=>'string|null', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn='=>'string|null', 'password='=>'string|null', 'controls='=>'?array'], + ], + 'ldap_close' => [ + 'old' => ['bool', 'ldap'=>'resource'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection'], + ], + 'ldap_compare' => [ + 'old' => ['bool|int', 'ldap'=>'resource', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string', 'controls='=>'?array'], + 'new' => ['bool|int', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string', 'controls='=>'?array'], + ], + 'ldap_connect' => [ + 'old' => ['resource|false', 'uri='=>'?string', 'port='=>'int', 'wallet='=>'string', 'password='=>'string', 'auth_mode='=>'int'], + 'new' => ['LDAP\Connection|false', 'uri='=>'?string', 'port='=>'int', 'wallet='=>'string', 'password='=>'string', 'auth_mode='=>'int'], + ], + 'ldap_count_entries' => [ + 'old' => ['int', 'ldap'=>'resource', 'result'=>'resource'], + 'new' => ['int', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], + ], + 'ldap_delete' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'controls='=>'?array'], + ], + 'ldap_delete_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'controls='=>'?array'], + ], + 'ldap_errno' => [ + 'old' => ['int', 'ldap'=>'resource'], + 'new' => ['int', 'ldap'=>'LDAP\Connection'], + ], + 'ldap_error' => [ + 'old' => ['string', 'ldap'=>'resource'], + 'new' => ['string', 'ldap'=>'LDAP\Connection'], + ], + 'ldap_exop' => [ + 'old' => ['resource|bool', 'ldap'=>'resource', 'request_oid'=>'string', 'request_data='=>'?string', 'controls='=>'array|null', '&w_response_data='=>'string', '&w_response_oid='=>'string'], + 'new' => ['LDAP\Result|bool', 'ldap'=>'LDAP\Connection', 'request_oid'=>'string', 'request_data='=>'?string', 'controls='=>'?array', '&w_response_data='=>'string', '&w_response_oid='=>'string'], + ], + 'ldap_exop_passwd' => [ + 'old' => ['bool|string', 'ldap'=>'resource', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string', '&w_controls='=>'array|null'], + 'new' => ['bool|string', 'ldap'=>'LDAP\Connection', 'user='=>'string', 'old_password='=>'string', 'new_password='=>'string', '&w_controls='=>'array|null'], + ], + 'ldap_exop_refresh' => [ + 'old' => ['int|false', 'ldap'=>'resource', 'dn'=>'string', 'ttl'=>'int'], + 'new' => ['int|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'ttl'=>'int'], + ], + 'ldap_exop_whoami' => [ + 'old' => ['string|false', 'ldap'=>'resource'], + 'new' => ['string|false', 'ldap'=>'LDAP\Connection'], + ], + 'ldap_first_attribute' => [ + 'old' => ['string|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'new' => ['string|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], + ], + 'ldap_first_entry' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'result'=>'resource'], + 'new' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], + ], + 'ldap_first_reference' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'result'=>'resource'], + 'new' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], + ], + 'ldap_free_result' => [ + 'old' => ['bool', 'ldap'=>'resource'], + 'new' => ['bool', 'result'=>'LDAP\Result'], + ], + 'ldap_get_attributes' => [ + 'old' => ['array', 'ldap'=>'resource', 'entry'=>'resource'], + 'new' => ['array', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], + ], + 'ldap_get_dn' => [ + 'old' => ['string|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'new' => ['string|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], + ], + 'ldap_get_entries' => [ + 'old' => ['array|false', 'ldap'=>'resource', 'result'=>'resource'], + 'new' => ['array|false', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result'], + ], + 'ldap_get_option' => [ + 'old' => ['bool', 'ldap'=>'resource', 'option'=>'int', '&w_value='=>'array|string|int'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'option'=>'int', '&w_value='=>'array|string|int'], + ], + 'ldap_get_values' => [ + 'old' => ['array|false', 'ldap'=>'resource', 'entry'=>'resource', 'attribute'=>'string'], + 'new' => ['array|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry', 'attribute'=>'string'], + ], + 'ldap_get_values_len' => [ + 'old' => ['array|false', 'ldap'=>'resource', 'entry'=>'resource', 'attribute'=>'string'], + 'new' => ['array|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry', 'attribute'=>'string'], + ], + 'ldap_list' => [ + 'old' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + 'new' => ['LDAP\Result|LDAP\Result[]|false', 'ldap'=>'LDAP\Connection|LDAP\Connection[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + ], + 'ldap_mod_add' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_add_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_del' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_del_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_replace' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_mod_replace_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_modify' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'entry'=>'array', 'controls='=>'?array'], + ], + 'ldap_modify_batch' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'modifications_info'=>'array', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'modifications_info'=>'array', 'controls='=>'?array'], + ], + 'ldap_next_attribute' => [ + 'old' => ['string|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'new' => ['string|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], + ], + 'ldap_next_entry' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'new' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], + ], + 'ldap_next_reference' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'new' => ['LDAP\ResultEntry|false', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry'], + ], + 'ldap_parse_exop' => [ + 'old' => ['bool', 'ldap'=>'resource', 'result'=>'resource', '&w_response_data='=>'string', '&w_response_oid='=>'string'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result', '&w_response_data='=>'string', '&w_response_oid='=>'string'], + ], + 'ldap_parse_reference' => [ + 'old' => ['bool', 'ldap'=>'resource', 'entry'=>'resource', '&w_referrals'=>'array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'entry'=>'LDAP\ResultEntry', '&w_referrals'=>'array'], + ], + 'ldap_parse_result' => [ + 'old' => ['bool', 'ldap'=>'resource', 'result'=>'resource', '&w_error_code'=>'int', '&w_matched_dn='=>'string', '&w_error_message='=>'string', '&w_referrals='=>'array', '&w_controls='=>'array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'result'=>'LDAP\Result', '&w_error_code'=>'int', '&w_matched_dn='=>'string', '&w_error_message='=>'string', '&w_referrals='=>'array', '&w_controls='=>'array'], + ], + 'ldap_read' => [ + 'old' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + 'new' => ['LDAP\Result|LDAP\Result[]|false', 'ldap'=>'LDAP\Connection|LDAP\Connection[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + ], + 'ldap_rename' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], + ], + 'ldap_rename_ext' => [ + 'old' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], + 'new' => ['LDAP\Result|false', 'ldap'=>'LDAP\Connection', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'?array'], + ], + 'ldap_sasl_bind' => [ + 'old' => ['bool', 'ldap'=>'resource', 'dn='=>'?string', 'password='=>'?string', 'mech='=>'?string', 'realm='=>'?string', 'authc_id='=>'?string', 'authz_id='=>'?string', 'props='=>'?string'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'dn='=>'?string', 'password='=>'?string', 'mech='=>'?string', 'realm='=>'?string', 'authc_id='=>'?string', 'authz_id='=>'?string', 'props='=>'?string'], + ], + 'ldap_search' => [ + 'old' => ['resource|false', 'ldap'=>'resource|resource[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + 'new' => ['LDAP\Result|LDAP\Result[]|false', 'ldap'=>'LDAP\Connection|LDAP\Connection[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int', 'controls='=>'?array'], + ], + 'ldap_set_option' => [ + 'old' => ['bool', 'ldap'=>'resource|null', 'option'=>'int', 'value'=>'mixed'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection|null', 'option'=>'int', 'value'=>'mixed'], + ], + 'ldap_set_rebind_proc' => [ + 'old' => ['bool', 'ldap'=>'resource', 'callback'=>'?callable'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection', 'callback'=>'?callable'], + ], + 'ldap_start_tls' => [ + 'old' => ['bool', 'ldap'=>'resource'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection'], + ], + 'ldap_unbind' => [ + 'old' => ['bool', 'ldap'=>'resource'], + 'new' => ['bool', 'ldap'=>'LDAP\Connection'], + ], + 'mysqli::connect' => [ + 'old' => ['null|false', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], + 'new' => ['bool', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null'], + ], + 'mysqli_execute' => [ + 'old' => ['bool', 'statement' => 'mysqli_stmt'], + 'new' => ['bool', 'statement' => 'mysqli_stmt', 'params=' => 'list|null'], + ], + 'mysqli_stmt_execute' => [ + 'old' => ['bool', 'statement' => 'mysqli_stmt'], + 'new' => ['bool', 'statement' => 'mysqli_stmt', 'params=' => 'list|null'], + ], + 'mysqli_stmt::execute' => [ + 'old' => ['bool'], + 'new' => ['bool', 'params=' => 'list|null'], + ], + 'openssl_decrypt' => [ + 'old' => ['string|false', 'data'=>'string', 'cipher_algo'=>'string', 'passphrase'=>'string', 'options='=>'int', 'iv='=>'string', 'tag='=>'string', 'aad='=>'string'], + 'new' => ['string|false', 'data'=>'string', 'cipher_algo'=>'string', 'passphrase'=>'string', 'options='=>'int', 'iv='=>'string', 'tag='=>'?string', 'aad='=>'string'], + ], + 'pg_affected_rows' => [ + 'old' => ['int', 'result' => 'resource'], + 'new' => ['int', 'result' => '\PgSql\Result'], + ], + 'pg_cancel_query' => [ + 'old' => ['bool', 'connection' => 'resource'], + 'new' => ['bool', 'connection' => '\PgSql\Connection'], + ], + 'pg_client_encoding' => [ + 'old' => ['string', 'connection=' => '?resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_close' => [ + 'old' => ['bool', 'connection=' => '?resource'], + 'new' => ['bool', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_connect' => [ + 'old' => ['resource|false', 'connection_string' => 'string', 'flags=' => 'int'], + 'new' => ['\PgSql\Connection|false', 'connection_string' => 'string', 'flags=' => 'int'], + ], + 'pg_connect_poll' => [ + 'old' => ['int', 'connection' => 'resource'], + 'new' => ['int', 'connection' => '\PgSql\Connection'], + ], + 'pg_connection_busy' => [ + 'old' => ['bool', 'connection' => 'resource'], + 'new' => ['bool', 'connection' => '\PgSql\Connection'], + ], + 'pg_connection_reset' => [ + 'old' => ['bool', 'connection' => 'resource'], + 'new' => ['bool', 'connection' => '\PgSql\Connection'], + ], + 'pg_connection_status' => [ + 'old' => ['int', 'connection' => 'resource'], + 'new' => ['int', 'connection' => '\PgSql\Connection'], + ], + 'pg_consume_input' => [ + 'old' => ['bool', 'connection' => 'resource'], + 'new' => ['bool', 'connection' => '\PgSql\Connection'], + ], + 'pg_convert' => [ + 'old' => ['array|false', 'connection' => 'resource', 'table_name' => 'string', 'values' => 'array', 'flags=' => 'int'], + 'new' => ['array|false', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'values' => 'array', 'flags=' => 'int'], + ], + 'pg_copy_from' => [ + 'old' => ['bool', 'connection' => 'resource', 'table_name' => 'string', 'rows' => 'array', 'separator=' => 'string', 'null_as=' => 'string'], + 'new' => ['bool', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'rows' => 'array', 'separator=' => 'string', 'null_as=' => 'string'], + ], + 'pg_copy_to' => [ + 'old' => ['array|false', 'connection' => 'resource', 'table_name' => 'string', 'separator=' => 'string', 'null_as=' => 'string'], + 'new' => ['array|false', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'separator=' => 'string', 'null_as=' => 'string'], + ], + 'pg_dbname' => [ + 'old' => ['string', 'connection=' => '?resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_delete' => [ + 'old' => ['string|bool', 'connection' => 'resource', 'table_name' => 'string', 'conditions' => 'array', 'flags=' => 'int'], + 'new' => ['string|bool', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'conditions' => 'array', 'flags=' => 'int'], + ], + 'pg_end_copy' => [ + 'old' => ['bool', 'connection=' => '?resource'], + 'new' => ['bool', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_escape_bytea' => [ + 'old' => ['string', 'connection' => 'resource', 'string' => 'string'], + 'new' => ['string', 'connection' => '\PgSql\Connection', 'string' => 'string'], + ], + 'pg_escape_identifier' => [ + 'old' => ['string|false', 'connection' => 'resource', 'string' => 'string'], + 'new' => ['string|false', 'connection' => '\PgSql\Connection', 'string' => 'string'], + ], + 'pg_escape_literal' => [ + 'old' => ['string|false', 'connection' => 'resource', 'string' => 'string'], + 'new' => ['string|false', 'connection' => '\PgSql\Connection', 'string' => 'string'], + ], + 'pg_escape_string' => [ + 'old' => ['string', 'connection' => 'resource', 'string' => 'string'], + 'new' => ['string', 'connection' => '\PgSql\Connection', 'string' => 'string'], + ], + 'pg_exec' => [ + 'old' => ['resource|false', 'connection' => 'resource', 'query' => 'string'], + 'new' => ['\PgSql\Result|false', 'connection' => '\PgSql\Connection', 'query' => 'string'], + ], + 'pg_exec\'1' => [ + 'old' => ['resource|false', 'connection' => 'string'], + 'new' => ['\PgSql\Result|false', 'connection' => 'string'], + ], + 'pg_execute' => [ + 'old' => ['resource|false', 'connection' => 'resource', 'statement_name' => 'string', 'params' => 'array'], + 'new' => ['\PgSql\Result|false', 'connection' => '\PgSql\Connection', 'statement_name' => 'string', 'params' => 'array'], + ], + 'pg_execute\'1' => [ + 'old' => ['resource|false', 'connection' => 'string', 'statement_name' => 'array'], + 'new' => ['\PgSql\Result|false', 'connection' => 'string', 'statement_name' => 'array'], + ], + 'pg_fetch_all' => [ + 'old' => ['array', 'result' => 'resource', 'mode=' => 'int'], + 'new' => ['array', 'result' => '\PgSql\Result', 'mode=' => 'int'], + ], + 'pg_fetch_all_columns' => [ + 'old' => ['array', 'result' => 'resource', 'field=' => 'int'], + 'new' => ['array', 'result' => '\PgSql\Result', 'field=' => 'int'], + ], + 'pg_fetch_array' => [ + 'old' => ['array|false', 'result' => 'resource', 'row=' => '?int', 'mode=' => 'int'], + 'new' => ['array|false', 'result' => '\PgSql\Result', 'row=' => '?int', 'mode=' => 'int'], + ], + 'pg_fetch_assoc' => [ + 'old' => ['array|false', 'result' => 'resource', 'row=' => '?int'], + 'new' => ['array|false', 'result' => '\PgSql\Result', 'row=' => '?int'], + ], + 'pg_fetch_object' => [ + 'old' => ['object|false', 'result' => 'resource', 'row=' => '?int', 'class=' => 'string', 'constructor_args=' => 'array'], + 'new' => ['object|false', 'result' => '\PgSql\Result', 'row=' => '?int', 'class=' => 'string', 'constructor_args=' => 'array'], + ], + 'pg_fetch_result' => [ + 'old' => ['string|false|null', 'result' => 'resource', 'row' => 'string|int'], + 'new' => ['string|false|null', 'result' => '\PgSql\Result', 'row' => 'string|int'], + ], + 'pg_fetch_result\'1' => [ + 'old' => ['string|false|null', 'result' => 'resource', 'row' => '?int', 'field' => 'string|int'], + 'new' => ['string|false|null', 'result' => '\PgSql\Result', 'row' => '?int', 'field' => 'string|int'], + ], + 'pg_fetch_row' => [ + 'old' => ['array|false', 'result' => 'resource', 'row=' => '?int', 'mode=' => 'int'], + 'new' => ['array|false', 'result' => '\PgSql\Result', 'row=' => '?int', 'mode=' => 'int'], + ], + 'pg_field_is_null' => [ + 'old' => ['int|false', 'result' => 'resource', 'row'=>'string|int'], + 'new' => ['int|false', 'result' => '\PgSql\Result', 'row'=>'string|int'], + ], + 'pg_field_is_null\'1' => [ + 'old' => ['int|false', 'result' => 'resource', 'row' => 'int', 'field' => 'string|int'], + 'new' => ['int|false', 'result' => '\PgSql\Result', 'row' => 'int', 'field' => 'string|int'], + ], + 'pg_field_name' => [ + 'old' => ['string', 'result' => 'resource', 'field' => 'int'], + 'new' => ['string', 'result' => '\PgSql\Result', 'field' => 'int'], + ], + 'pg_field_num' => [ + 'old' => ['int', 'result' => 'resource', 'field' => 'string'], + 'new' => ['int', 'result' => '\PgSql\Result', 'field' => 'string'], + ], + 'pg_field_prtlen' => [ + 'old' => ['int|false', 'result' => 'resource', 'row' => 'string|int'], + 'new' => ['int|false', 'result' => '\PgSql\Result', 'row' => 'string|int'], + ], + 'pg_field_prtlen\'1' => [ + 'old' => ['int|false', 'result' => 'resource', 'row' => 'int', 'field' => 'string|int'], + 'new' => ['int|false', 'result' => '\PgSql\Result', 'row' => 'int', 'field' => 'string|int'], + ], + 'pg_field_size' => [ + 'old' => ['int', 'result' => 'resource', 'field' => 'int'], + 'new' => ['int', 'result' => '\PgSql\Result', 'field' => 'int'], + ], + 'pg_field_table' => [ + 'old' => ['string|int|false', 'result' => 'resource', 'field' => 'int', 'oid_only=' => 'bool'], + 'new' => ['string|int|false', 'result' => '\PgSql\Result', 'field' => 'int', 'oid_only=' => 'bool'], + ], + 'pg_field_type' => [ + 'old' => ['string', 'result' => 'resource', 'field' => 'int'], + 'new' => ['string', 'result' => '\PgSql\Result', 'field' => 'int'], + ], + 'pg_field_type_oid' => [ + 'old' => ['int|string', 'result' => 'resource', 'field' => 'int'], + 'new' => ['int|string', 'result' => '\PgSql\Result', 'field' => 'int'], + ], + 'pg_flush' => [ + 'old' => ['int|bool', 'connection' => 'resource'], + 'new' => ['int|bool', 'connection' => '\PgSql\Connection'], + ], + 'pg_free_result' => [ + 'old' => ['bool', 'result' => 'resource'], + 'new' => ['bool', 'result' => '\PgSql\Result'], + ], + 'pg_get_notify' => [ + 'old' => ['array|false', 'connection' => 'resource', 'mode=' => 'int'], + 'new' => ['array|false', 'connection' => '\PgSql\Connection', 'mode=' => 'int'], + ], + 'pg_get_pid' => [ + 'old' => ['int', 'connection' => 'resource'], + 'new' => ['int', 'connection' => '\PgSql\Connection'], + ], + 'pg_get_result' => [ + 'old' => ['resource|false', 'connection' => 'resource'], + 'new' => ['\PgSql\Result|false', 'connection' => '\PgSql\Connection'], + ], + 'pg_host' => [ + 'old' => ['string', 'connection=' => 'resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_insert' => [ + 'old' => ['resource|string|false', 'connection' => 'resource', 'table_name' => 'string', 'values' => 'array', 'flags=' => 'int'], + 'new' => ['\PgSql\Result|string|false', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'values' => 'array', 'flags=' => 'int'], + ], + 'pg_last_error' => [ + 'old' => ['string', 'connection=' => '?resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_last_notice' => [ + 'old' => ['string|array|bool', 'connection' => 'resource', 'mode=' => 'int'], + 'new' => ['string|array|bool', 'connection' => '\PgSql\Connection', 'mode=' => 'int'], + ], + 'pg_last_oid' => [ + 'old' => ['string|int|false', 'result' => 'resource'], + 'new' => ['string|int|false', 'result' => '\PgSql\Result'], + ], + 'pg_lo_close' => [ + 'old' => ['bool', 'lob' => 'resource'], + 'new' => ['bool', 'lob' => '\PgSql\Lob'], + ], + 'pg_lo_create' => [ + 'old' => ['int|string|false', 'connection=' => 'resource', 'oid=' => 'int|string'], + 'new' => ['int|string|false', 'connection=' => '\PgSql\Connection', 'oid=' => 'int|string'], + ], + 'pg_lo_export' => [ + 'old' => ['bool', 'connection' => 'resource', 'oid' => 'int|string', 'filename' => 'string'], + 'new' => ['bool', 'connection' => '\PgSql\Connection', 'oid' => 'int|string', 'filename' => 'string'], + ], + 'pg_lo_import' => [ + 'old' => ['int|string|false', 'connection' => 'resource', 'filename' => 'string', 'oid' => 'string|int'], + 'new' => ['int|string|false', 'connection' => '\PgSql\Connection', 'filename' => 'string', 'oid' => 'string|int'], + ], + 'pg_lo_open' => [ + 'old' => ['resource|false', 'connection' => 'resource', 'oid' => 'int|string', 'mode' => 'string'], + 'new' => ['\PgSql\Lob|false', 'connection' => '\PgSql\Connection', 'oid' => 'int|string', 'mode' => 'string'], + ], + 'pg_lo_open\'1' => [ + 'old' => ['resource|false', 'connection' => 'int|string', 'oid' => 'string'], + 'new' => ['\PgSql\Lob|false', 'connection' => 'int|string', 'oid' => 'string'], + ], + 'pg_lo_read' => [ + 'old' => ['string|false', 'lob' => 'resource', 'length=' => 'int'], + 'new' => ['string|false', 'lob' => '\PgSql\Lob', 'length=' => 'int'], + ], + 'pg_lo_read_all' => [ + 'old' => ['int', 'lob' => 'resource'], + 'new' => ['int', 'lob' => '\PgSql\Lob'], + ], + 'pg_lo_seek' => [ + 'old' => ['bool', 'lob' => 'resource', 'offset' => 'int', 'whence=' => 'int'], + 'new' => ['bool', 'lob' => '\PgSql\Lob', 'offset' => 'int', 'whence=' => 'int'], + ], + 'pg_lo_tell' => [ + 'old' => ['int', 'lob' => 'resource'], + 'new' => ['int', 'lob' => '\PgSql\Lob'], + ], + 'pg_lo_truncate' => [ + 'old' => ['bool', 'lob' => 'resource', 'size' => 'int'], + 'new' => ['bool', 'lob' => '\PgSql\Lob', 'size' => 'int'], + ], + 'pg_lo_unlink' => [ + 'old' => ['bool', 'connection' => 'resource', 'oid' => 'int|string'], + 'new' => ['bool', 'connection' => '\PgSql\Connection', 'oid' => 'int|string'], + ], + 'pg_lo_write' => [ + 'old' => ['int|false', 'lob' => 'resource', 'data' => 'string', 'length=' => '?int'], + 'new' => ['int|false', 'lob' => '\PgSql\Lob', 'data' => 'string', 'length=' => '?int'], + ], + 'pg_meta_data' => [ + 'old' => ['array|false', 'connection' => 'resource', 'table_name' => 'string', 'extended=' => 'bool'], + 'new' => ['array|false', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'extended=' => 'bool'], + ], + 'pg_num_fields' => [ + 'old' => ['int', 'result' => 'resource'], + 'new' => ['int', 'result' => '\PgSql\Result'], + ], + 'pg_num_rows' => [ + 'old' => ['int', 'result' => 'resource'], + 'new' => ['int', 'result' => '\PgSql\Result'], + ], + 'pg_options' => [ + 'old' => ['string', 'connection=' => '?resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_parameter_status' => [ + 'old' => ['string|false', 'connection' => 'resource', 'name' => 'string'], + 'new' => ['string|false', 'connection' => '\PgSql\Connection', 'name' => 'string'], + ], + 'pg_pconnect' => [ + 'old' => ['resource|false', 'connection_string' => 'string', 'flags=' => 'int'], + 'new' => ['\PgSql\Connection|false', 'connection_string' => 'string', 'flags=' => 'int'], + ], + 'pg_ping' => [ + 'old' => ['bool', 'connection=' => '?resource'], + 'new' => ['bool', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_port' => [ + 'old' => ['string', 'connection=' => '?resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_prepare' => [ + 'old' => ['resource|false', 'connection' => 'resource', 'statement_name' => 'string', 'query' => 'string'], + 'new' => ['\PgSql\Result|false', 'connection' => '\PgSql\Connection', 'statement_name' => 'string', 'query' => 'string'], + ], + 'pg_prepare\'1' => [ + 'old' => ['resource|false', 'connection' => 'string', 'statement_name' => 'string'], + 'new' => ['\PgSql\Result|false', 'connection' => 'string', 'statement_name' => 'string'], + ], + 'pg_put_line' => [ + 'old' => ['bool', 'connection' => 'resource', 'data' => 'string'], + 'new' => ['bool', 'connection' => '\PgSql\Connection', 'data' => 'string'], + ], + 'pg_query' => [ + 'old' => ['resource|false', 'connection' => 'resource', 'query' => 'string'], + 'new' => ['\PgSql\Result|false', 'connection' => '\PgSql\Connection', 'query' => 'string'], + ], + 'pg_query\'1' => [ + 'old' => ['resource|false', 'connection' => 'string'], + 'new' => ['\PgSql\Result|false', 'connection' => 'string'], + ], + 'pg_query_params' => [ + 'old' => ['resource|false', 'connection' => 'resource', 'query' => 'string', 'params' => 'array'], + 'new' => ['\PgSql\Result|false', 'connection' => '\PgSql\Connection', 'query' => 'string', 'params' => 'array'], + ], + 'pg_query_params\'1' => [ + 'old' => ['resource|false', 'connection' => 'string', 'query' => 'array'], + 'new' => ['\PgSql\Result|false', 'connection' => 'string', 'query' => 'array'], + ], + 'pg_result_error' => [ + 'old' => ['string|false', 'result' => 'resource'], + 'new' => ['string|false', 'result' => '\PgSql\Result'], + ], + 'pg_result_error_field' => [ + 'old' => ['string|false|null', 'result' => 'resource', 'field_code' => 'int'], + 'new' => ['string|false|null', 'result' => '\PgSql\Result', 'field_code' => 'int'], + ], + 'pg_result_seek' => [ + 'old' => ['bool', 'result' => 'resource', 'row' => 'int'], + 'new' => ['bool', 'result' => '\PgSql\Result', 'row' => 'int'], + ], + 'pg_result_status' => [ + 'old' => ['string|int', 'result' => 'resource', 'mode=' => 'int'], + 'new' => ['string|int', 'result' => '\PgSql\Result', 'mode=' => 'int'], + ], + 'pg_select' => [ + 'old' => ['string|array|false', 'connection' => 'resource', 'table_name' => 'string', 'conditions' => 'array', 'flags=' => 'int', 'mode='=>'int'], + 'new' => ['string|array|false', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'conditions' => 'array', 'flags=' => 'int', 'mode='=>'int'], + ], + 'pg_send_execute' => [ + 'old' => ['bool|int', 'connection' => 'resource', 'statement_name' => 'string', 'params' => 'array'], + 'new' => ['bool|int', 'connection' => '\PgSql\Connection', 'statement_name' => 'string', 'params' => 'array'], + ], + 'pg_send_prepare' => [ + 'old' => ['bool|int', 'connection' => 'resource', 'statement_name' => 'string', 'query' => 'string'], + 'new' => ['bool|int', 'connection' => '\PgSql\Connection', 'statement_name' => 'string', 'query' => 'string'], + ], + 'pg_send_query' => [ + 'old' => ['bool|int', 'connection' => 'resource', 'query' => 'string'], + 'new' => ['bool|int', 'connection' => '\PgSql\Connection', 'query' => 'string'], + ], + 'pg_send_query_params' => [ + 'old' => ['bool|int', 'connection' => 'resource', 'query' => 'string', 'params' => 'array'], + 'new' => ['bool|int', 'connection' => '\PgSql\Connection', 'query' => 'string', 'params' => 'array'], + ], + 'pg_set_client_encoding' => [ + 'old' => ['int', 'connection' => 'resource', 'encoding' => 'string'], + 'new' => ['int', 'connection' => '\PgSql\Connection', 'encoding' => 'string'], + ], + 'pg_set_error_verbosity' => [ + 'old' => ['int|false', 'connection' => 'resource', 'verbosity' => 'int'], + 'new' => ['int|false', 'connection' => '\PgSql\Connection', 'verbosity' => 'int'], + ], + 'pg_socket' => [ + 'old' => ['resource|false', 'connection' => 'resource'], + 'new' => ['resource|false', 'connection' => '\PgSql\Connection'], + ], + 'pg_trace' => [ + 'old' => ['bool', 'filename' => 'string', 'mode=' => 'string', 'connection=' => '?resource'], + 'new' => ['bool', 'filename' => 'string', 'mode=' => 'string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_transaction_status' => [ + 'old' => ['int', 'connection' => 'resource'], + 'new' => ['int', 'connection' => '\PgSql\Connection'], + ], + 'pg_tty' => [ + 'old' => ['string', 'connection=' => '?resource'], + 'new' => ['string', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_untrace' => [ + 'old' => ['bool', 'connection=' => '?resource'], + 'new' => ['bool', 'connection=' => '?\PgSql\Connection'], + ], + 'pg_update' => [ + 'old' => ['string|bool', 'connection' => 'resource', 'table_name' => 'string', 'values' => 'array', 'conditions' => 'array', 'flags=' => 'int'], + 'new' => ['string|bool', 'connection' => '\PgSql\Connection', 'table_name' => 'string', 'values' => 'array', 'conditions' => 'array', 'flags=' => 'int'], + ], + 'pg_version' => [ + 'old' => ['array', 'connection=' => '?resource'], + 'new' => ['array', 'connection=' => '?\PgSql\Connection'], + ], + 'pspell_add_to_personal' => [ + 'old' => ['bool', 'dictionary'=>'int', 'word'=>'string'], + 'new' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], + ], + 'pspell_add_to_session' => [ + 'old' => ['bool', 'dictionary'=>'int', 'word'=>'string'], + 'new' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], + ], + 'pspell_check' => [ + 'old' => ['bool', 'dictionary'=>'int', 'word'=>'string'], + 'new' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], + ], + 'pspell_clear_session' => [ + 'old' => ['bool', 'dictionary'=>'int'], + 'new' => ['bool', 'dictionary'=>'PSpell\Dictionary'], + ], + 'pspell_config_create' => [ + 'old' => ['int', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string'], + 'new' => ['PSpell\Config', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string'], + ], + 'pspell_config_data_dir' => [ + 'old' => ['bool', 'config'=>'int', 'directory'=>'string'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'directory'=>'string'], + ], + 'pspell_config_dict_dir' => [ + 'old' => ['bool', 'config'=>'int', 'directory'=>'string'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'directory'=>'string'], + ], + 'pspell_config_ignore' => [ + 'old' => ['bool', 'config'=>'int', 'min_length'=>'int'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'min_length'=>'int'], + ], + 'pspell_config_mode' => [ + 'old' => ['bool', 'config'=>'int', 'mode'=>'int'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'mode'=>'int'], + ], + 'pspell_config_personal' => [ + 'old' => ['bool', 'config'=>'int', 'filename'=>'string'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'filename'=>'string'], + ], + 'pspell_config_repl' => [ + 'old' => ['bool', 'config'=>'int', 'filename'=>'string'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'filename'=>'string'], + ], + 'pspell_config_runtogether' => [ + 'old' => ['bool', 'config'=>'int', 'allow'=>'bool'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'allow'=>'bool'], + ], + 'pspell_config_save_repl' => [ + 'old' => ['bool', 'config'=>'int', 'save'=>'bool'], + 'new' => ['bool', 'config'=>'PSpell\Config', 'save'=>'bool'], + ], + 'pspell_new' => [ + 'old' => ['int|false', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], + 'new' => ['PSpell\Dictionary|false', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], + ], + 'pspell_new_config' => [ + 'old' => ['int|false', 'config'=>'int'], + 'new' => ['PSpell\Dictionary|false', 'config'=>'PSpell\Config'], + ], + 'pspell_new_personal' => [ + 'old' => ['int|false', 'filename'=>'string', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], + 'new' => ['PSpell\Dictionary|false', 'filename'=>'string', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], + ], + 'pspell_save_wordlist' => [ + 'old' => ['bool', 'dictionary'=>'int'], + 'new' => ['bool', 'dictionary'=>'PSpell\Dictionary'], + ], + 'pspell_store_replacement' => [ + 'old' => ['bool', 'dictionary'=>'int', 'misspelled'=>'string', 'correct'=>'string'], + 'new' => ['bool', 'dictionary'=>'PSpell\Dictionary', 'misspelled'=>'string', 'correct'=>'string'], + ], + 'pspell_suggest' => [ + 'old' => ['array', 'dictionary'=>'int', 'word'=>'string'], + 'new' => ['array', 'dictionary'=>'PSpell\Dictionary', 'word'=>'string'], + ], + 'stream_select' => [ + 'old' => ['int|false', '&rw_read'=>'?resource[]', '&rw_write'=>'?resource[]', '&rw_except'=>'?resource[]', 'seconds'=>'?int', 'microseconds='=>'int'], + 'new' => ['int|false', '&rw_read'=>'?resource[]', '&rw_write'=>'?resource[]', '&rw_except'=>'?resource[]', 'seconds'=>'?int', 'microseconds='=>'?int'], + ], + ], + + 'removed' => [ + 'ReflectionMethod::isStatic' => ['bool'], + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_82_delta.php b/vendor/vimeo/psalm/dictionaries/CallMap_82_delta.php new file mode 100644 index 00000000..555ea008 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_82_delta.php @@ -0,0 +1,52 @@ + [ + 'mysqli_execute_query' => ['mysqli_result|bool', 'mysql'=>'mysqli', 'query'=>'non-empty-string', 'params='=>'list|null'], + 'mysqli::execute_query' => ['mysqli_result|bool', 'query'=>'non-empty-string', 'params='=>'list|null'], + 'openssl_cipher_key_length' => ['positive-int|false', 'cipher_algo'=>'non-empty-string'], + 'curl_upkeep' => ['bool', 'handle'=>'CurlHandle'], + 'imap_is_open' => ['bool', 'imap'=>'IMAP\Connection'], + 'ini_parse_quantity' => ['int', 'shorthand'=>'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'], + 'DateTimeInterface::__serialize' => ['array'], + 'DateTimeInterface::__unserialize' => ['void', 'data'=>'array'], + ], + + 'changed' => [ + 'dba_open' => [ + 'old' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'string', '...handler_params='=>'string'], + 'new' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'?string', 'permission='=>'int', 'map_size='=>'int', 'flags='=>'?int'], + ], + 'dba_popen' => [ + 'old' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'string', '...handler_params='=>'string'], + 'new' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'?string', 'permission='=>'int', 'map_size='=>'int', 'flags='=>'?int'], + ], + 'str_split' => [ + 'old' => ['non-empty-list', 'string'=>'string', 'length='=>'positive-int'], + 'new' => ['list', 'string'=>'string', 'length='=>'positive-int'], + ], + ], + + 'removed' => [ + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/CallMap_historical.php b/vendor/vimeo/psalm/dictionaries/CallMap_historical.php new file mode 100644 index 00000000..b5727394 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/CallMap_historical.php @@ -0,0 +1,15709 @@ + ['void', 'content_type='=>'string', 'content_encoding='=>'string', 'headers='=>'array', 'delivery_mode='=>'int', 'priority='=>'int', 'correlation_id='=>'string', 'reply_to='=>'string', 'expiration='=>'string', 'message_id='=>'string', 'timestamp='=>'int', 'type='=>'string', 'user_id='=>'string', 'app_id='=>'string', 'cluster_id='=>'string'], + 'AMQPBasicProperties::getAppId' => ['string'], + 'AMQPBasicProperties::getClusterId' => ['string'], + 'AMQPBasicProperties::getContentEncoding' => ['string'], + 'AMQPBasicProperties::getContentType' => ['string'], + 'AMQPBasicProperties::getCorrelationId' => ['string'], + 'AMQPBasicProperties::getDeliveryMode' => ['int'], + 'AMQPBasicProperties::getExpiration' => ['string'], + 'AMQPBasicProperties::getHeaders' => ['array'], + 'AMQPBasicProperties::getMessageId' => ['string'], + 'AMQPBasicProperties::getPriority' => ['int'], + 'AMQPBasicProperties::getReplyTo' => ['string'], + 'AMQPBasicProperties::getTimestamp' => ['string'], + 'AMQPBasicProperties::getType' => ['string'], + 'AMQPBasicProperties::getUserId' => ['string'], + 'AMQPChannel::__construct' => ['void', 'amqp_connection'=>'AMQPConnection'], + 'AMQPChannel::basicRecover' => ['', 'requeue='=>'bool'], + 'AMQPChannel::close' => [''], + 'AMQPChannel::commitTransaction' => ['bool'], + 'AMQPChannel::confirmSelect' => [''], + 'AMQPChannel::getChannelId' => ['int'], + 'AMQPChannel::getConnection' => ['AMQPConnection'], + 'AMQPChannel::getConsumers' => ['AMQPQueue[]'], + 'AMQPChannel::getPrefetchCount' => ['int'], + 'AMQPChannel::getPrefetchSize' => ['int'], + 'AMQPChannel::isConnected' => ['bool'], + 'AMQPChannel::qos' => ['bool', 'size'=>'int', 'count'=>'int'], + 'AMQPChannel::rollbackTransaction' => ['bool'], + 'AMQPChannel::setConfirmCallback' => ['', 'ack_callback='=>'?callable', 'nack_callback='=>'?callable'], + 'AMQPChannel::setPrefetchCount' => ['bool', 'count'=>'int'], + 'AMQPChannel::setPrefetchSize' => ['bool', 'size'=>'int'], + 'AMQPChannel::setReturnCallback' => ['', 'return_callback='=>'?callable'], + 'AMQPChannel::startTransaction' => ['bool'], + 'AMQPChannel::waitForBasicReturn' => ['', 'timeout='=>'float'], + 'AMQPChannel::waitForConfirm' => ['', 'timeout='=>'float'], + 'AMQPConnection::__construct' => ['void', 'credentials='=>'array'], + 'AMQPConnection::connect' => ['bool'], + 'AMQPConnection::disconnect' => ['bool'], + 'AMQPConnection::getCACert' => ['string'], + 'AMQPConnection::getCert' => ['string'], + 'AMQPConnection::getHeartbeatInterval' => ['int'], + 'AMQPConnection::getHost' => ['string'], + 'AMQPConnection::getKey' => ['string'], + 'AMQPConnection::getLogin' => ['string'], + 'AMQPConnection::getMaxChannels' => ['?int'], + 'AMQPConnection::getMaxFrameSize' => ['int'], + 'AMQPConnection::getPassword' => ['string'], + 'AMQPConnection::getPort' => ['int'], + 'AMQPConnection::getReadTimeout' => ['float'], + 'AMQPConnection::getTimeout' => ['float'], + 'AMQPConnection::getUsedChannels' => ['int'], + 'AMQPConnection::getVerify' => ['bool'], + 'AMQPConnection::getVhost' => ['string'], + 'AMQPConnection::getWriteTimeout' => ['float'], + 'AMQPConnection::isConnected' => ['bool'], + 'AMQPConnection::isPersistent' => ['?bool'], + 'AMQPConnection::pconnect' => ['bool'], + 'AMQPConnection::pdisconnect' => ['bool'], + 'AMQPConnection::preconnect' => ['bool'], + 'AMQPConnection::reconnect' => ['bool'], + 'AMQPConnection::setCACert' => ['', 'cacert'=>'string'], + 'AMQPConnection::setCert' => ['', 'cert'=>'string'], + 'AMQPConnection::setHost' => ['bool', 'host'=>'string'], + 'AMQPConnection::setKey' => ['', 'key'=>'string'], + 'AMQPConnection::setLogin' => ['bool', 'login'=>'string'], + 'AMQPConnection::setPassword' => ['bool', 'password'=>'string'], + 'AMQPConnection::setPort' => ['bool', 'port'=>'int'], + 'AMQPConnection::setReadTimeout' => ['bool', 'timeout'=>'int'], + 'AMQPConnection::setTimeout' => ['bool', 'timeout'=>'int'], + 'AMQPConnection::setVerify' => ['', 'verify'=>'bool'], + 'AMQPConnection::setVhost' => ['bool', 'vhost'=>'string'], + 'AMQPConnection::setWriteTimeout' => ['bool', 'timeout'=>'int'], + 'AMQPDecimal::__construct' => ['void', 'exponent'=>'', 'significand'=>''], + 'AMQPDecimal::getExponent' => ['int'], + 'AMQPDecimal::getSignificand' => ['int'], + 'AMQPEnvelope::__construct' => ['void'], + 'AMQPEnvelope::getAppId' => ['string'], + 'AMQPEnvelope::getBody' => ['string'], + 'AMQPEnvelope::getClusterId' => ['string'], + 'AMQPEnvelope::getConsumerTag' => ['string'], + 'AMQPEnvelope::getContentEncoding' => ['string'], + 'AMQPEnvelope::getContentType' => ['string'], + 'AMQPEnvelope::getCorrelationId' => ['string'], + 'AMQPEnvelope::getDeliveryMode' => ['int'], + 'AMQPEnvelope::getDeliveryTag' => ['string'], + 'AMQPEnvelope::getExchangeName' => ['string'], + 'AMQPEnvelope::getExpiration' => ['string'], + 'AMQPEnvelope::getHeader' => ['string|false', 'header_key'=>'string'], + 'AMQPEnvelope::getHeaders' => ['array'], + 'AMQPEnvelope::getMessageId' => ['string'], + 'AMQPEnvelope::getPriority' => ['int'], + 'AMQPEnvelope::getReplyTo' => ['string'], + 'AMQPEnvelope::getRoutingKey' => ['string'], + 'AMQPEnvelope::getTimeStamp' => ['string'], + 'AMQPEnvelope::getType' => ['string'], + 'AMQPEnvelope::getUserId' => ['string'], + 'AMQPEnvelope::hasHeader' => ['bool', 'header_key'=>'string'], + 'AMQPEnvelope::isRedelivery' => ['bool'], + 'AMQPExchange::__construct' => ['void', 'amqp_channel'=>'AMQPChannel'], + 'AMQPExchange::bind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], + 'AMQPExchange::declareExchange' => ['bool'], + 'AMQPExchange::delete' => ['bool', 'exchangeName='=>'string', 'flags='=>'int'], + 'AMQPExchange::getArgument' => ['int|string|false', 'key'=>'string'], + 'AMQPExchange::getArguments' => ['array'], + 'AMQPExchange::getChannel' => ['AMQPChannel'], + 'AMQPExchange::getConnection' => ['AMQPConnection'], + 'AMQPExchange::getFlags' => ['int'], + 'AMQPExchange::getName' => ['string'], + 'AMQPExchange::getType' => ['string'], + 'AMQPExchange::hasArgument' => ['bool', 'key'=>'string'], + 'AMQPExchange::publish' => ['bool', 'message'=>'string', 'routing_key='=>'string', 'flags='=>'int', 'attributes='=>'array'], + 'AMQPExchange::setArgument' => ['bool', 'key'=>'string', 'value'=>'int|string'], + 'AMQPExchange::setArguments' => ['bool', 'arguments'=>'array'], + 'AMQPExchange::setFlags' => ['bool', 'flags'=>'int'], + 'AMQPExchange::setName' => ['bool', 'exchange_name'=>'string'], + 'AMQPExchange::setType' => ['bool', 'exchange_type'=>'string'], + 'AMQPExchange::unbind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], + 'AMQPQueue::__construct' => ['void', 'amqp_channel'=>'AMQPChannel'], + 'AMQPQueue::ack' => ['bool', 'delivery_tag'=>'string', 'flags='=>'int'], + 'AMQPQueue::bind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], + 'AMQPQueue::cancel' => ['bool', 'consumer_tag='=>'string'], + 'AMQPQueue::consume' => ['void', 'callback='=>'?callable', 'flags='=>'int', 'consumerTag='=>'string'], + 'AMQPQueue::declareQueue' => ['int'], + 'AMQPQueue::delete' => ['int', 'flags='=>'int'], + 'AMQPQueue::get' => ['AMQPEnvelope|false', 'flags='=>'int'], + 'AMQPQueue::getArgument' => ['int|string|false', 'key'=>'string'], + 'AMQPQueue::getArguments' => ['array'], + 'AMQPQueue::getChannel' => ['AMQPChannel'], + 'AMQPQueue::getConnection' => ['AMQPConnection'], + 'AMQPQueue::getConsumerTag' => ['?string'], + 'AMQPQueue::getFlags' => ['int'], + 'AMQPQueue::getName' => ['string'], + 'AMQPQueue::hasArgument' => ['bool', 'key'=>'string'], + 'AMQPQueue::nack' => ['bool', 'delivery_tag'=>'string', 'flags='=>'int'], + 'AMQPQueue::purge' => ['bool'], + 'AMQPQueue::reject' => ['bool', 'delivery_tag'=>'string', 'flags='=>'int'], + 'AMQPQueue::setArgument' => ['bool', 'key'=>'string', 'value'=>'mixed'], + 'AMQPQueue::setArguments' => ['bool', 'arguments'=>'array'], + 'AMQPQueue::setFlags' => ['bool', 'flags'=>'int'], + 'AMQPQueue::setName' => ['bool', 'queue_name'=>'string'], + 'AMQPQueue::unbind' => ['bool', 'exchange_name'=>'string', 'routing_key='=>'string', 'arguments='=>'array'], + 'AMQPTimestamp::__construct' => ['void', 'timestamp'=>'string'], + 'AMQPTimestamp::__toString' => ['string'], + 'AMQPTimestamp::getTimestamp' => ['string'], + 'APCIterator::__construct' => ['void', 'cache'=>'string', 'search='=>'null|string|string[]', 'format='=>'int', 'chunk_size='=>'int', 'list='=>'int'], + 'APCIterator::current' => ['mixed|false'], + 'APCIterator::getTotalCount' => ['int|false'], + 'APCIterator::getTotalHits' => ['int|false'], + 'APCIterator::getTotalSize' => ['int|false'], + 'APCIterator::key' => ['string'], + 'APCIterator::next' => ['void'], + 'APCIterator::rewind' => ['void'], + 'APCIterator::valid' => ['bool'], + 'APCuIterator::__construct' => ['void', 'search='=>'string|string[]|null', 'format='=>'int', 'chunk_size='=>'int', 'list='=>'int'], + 'APCuIterator::current' => ['mixed'], + 'APCuIterator::getTotalCount' => ['int'], + 'APCuIterator::getTotalHits' => ['int'], + 'APCuIterator::getTotalSize' => ['int'], + 'APCuIterator::key' => ['string'], + 'APCuIterator::next' => ['void'], + 'APCuIterator::rewind' => ['void'], + 'APCuIterator::valid' => ['bool'], + 'AppendIterator::__construct' => ['void'], + 'AppendIterator::append' => ['void', 'iterator'=>'Iterator'], + 'AppendIterator::current' => ['mixed'], + 'AppendIterator::getArrayIterator' => ['ArrayIterator'], + 'AppendIterator::getInnerIterator' => ['Iterator'], + 'AppendIterator::getIteratorIndex' => ['int'], + 'AppendIterator::key' => ['int|string|float|bool'], + 'AppendIterator::next' => ['void'], + 'AppendIterator::rewind' => ['void'], + 'AppendIterator::valid' => ['bool'], + 'ArgumentCountError::__clone' => ['void'], + 'ArgumentCountError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'ArgumentCountError::__toString' => ['string'], + 'ArgumentCountError::__wakeup' => ['void'], + 'ArgumentCountError::getCode' => ['int'], + 'ArgumentCountError::getFile' => ['string'], + 'ArgumentCountError::getLine' => ['int'], + 'ArgumentCountError::getMessage' => ['string'], + 'ArgumentCountError::getPrevious' => ['?Throwable'], + 'ArgumentCountError::getTrace' => ['list\',args?:array}>'], + 'ArgumentCountError::getTraceAsString' => ['string'], + 'ArithmeticError::__clone' => ['void'], + 'ArithmeticError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'ArithmeticError::__toString' => ['string'], + 'ArithmeticError::__wakeup' => ['void'], + 'ArithmeticError::getCode' => ['int'], + 'ArithmeticError::getFile' => ['string'], + 'ArithmeticError::getLine' => ['int'], + 'ArithmeticError::getMessage' => ['string'], + 'ArithmeticError::getPrevious' => ['?Throwable'], + 'ArithmeticError::getTrace' => ['list\',args?:array}>'], + 'ArithmeticError::getTraceAsString' => ['string'], + 'ArrayAccess::offsetExists' => ['bool', 'offset'=>'mixed'], + 'ArrayAccess::offsetGet' => ['mixed', 'offset'=>'mixed'], + 'ArrayAccess::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], + 'ArrayAccess::offsetUnset' => ['void', 'offset'=>'mixed'], + 'ArrayIterator::__construct' => ['void', 'array='=>'array|object', 'flags='=>'int'], + 'ArrayIterator::append' => ['void', 'value'=>'mixed'], + 'ArrayIterator::asort' => ['void'], + 'ArrayIterator::count' => ['int'], + 'ArrayIterator::current' => ['mixed'], + 'ArrayIterator::getArrayCopy' => ['array'], + 'ArrayIterator::getFlags' => ['int'], + 'ArrayIterator::key' => ['int|string|null'], + 'ArrayIterator::ksort' => ['void'], + 'ArrayIterator::natcasesort' => ['true'], + 'ArrayIterator::natsort' => ['true'], + 'ArrayIterator::next' => ['void'], + 'ArrayIterator::offsetExists' => ['bool', 'index'=>'string|int'], + 'ArrayIterator::offsetGet' => ['mixed', 'index'=>'string|int'], + 'ArrayIterator::offsetSet' => ['void', 'index'=>'string|int', 'newval'=>'mixed'], + 'ArrayIterator::offsetUnset' => ['void', 'index'=>'string|int'], + 'ArrayIterator::rewind' => ['void'], + 'ArrayIterator::seek' => ['void', 'position'=>'int'], + 'ArrayIterator::serialize' => ['string'], + 'ArrayIterator::setFlags' => ['void', 'flags'=>'string'], + 'ArrayIterator::uasort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], + 'ArrayIterator::uksort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], + 'ArrayIterator::unserialize' => ['void', 'serialized'=>'string'], + 'ArrayIterator::valid' => ['bool'], + 'ArrayObject::__construct' => ['void', 'input='=>'array|object', 'flags='=>'int', 'iterator_class='=>'string'], + 'ArrayObject::append' => ['void', 'value'=>'mixed'], + 'ArrayObject::asort' => ['void'], + 'ArrayObject::count' => ['int'], + 'ArrayObject::exchangeArray' => ['array', 'ar'=>'mixed'], + 'ArrayObject::getArrayCopy' => ['array'], + 'ArrayObject::getFlags' => ['int'], + 'ArrayObject::getIterator' => ['ArrayIterator'], + 'ArrayObject::getIteratorClass' => ['string'], + 'ArrayObject::ksort' => ['void'], + 'ArrayObject::natcasesort' => ['true'], + 'ArrayObject::natsort' => ['true'], + 'ArrayObject::offsetExists' => ['bool', 'index'=>'int|string'], + 'ArrayObject::offsetGet' => ['mixed|null', 'index'=>'int|string'], + 'ArrayObject::offsetSet' => ['void', 'index'=>'int|string', 'newval'=>'mixed'], + 'ArrayObject::offsetUnset' => ['void', 'index'=>'int|string'], + 'ArrayObject::serialize' => ['string'], + 'ArrayObject::setFlags' => ['void', 'flags'=>'int'], + 'ArrayObject::setIteratorClass' => ['void', 'iterator_class'=>'string'], + 'ArrayObject::uasort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], + 'ArrayObject::uksort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], + 'ArrayObject::unserialize' => ['void', 'serialized'=>'string'], + 'BadFunctionCallException::__clone' => ['void'], + 'BadFunctionCallException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'BadFunctionCallException::__toString' => ['string'], + 'BadFunctionCallException::getCode' => ['int'], + 'BadFunctionCallException::getFile' => ['string'], + 'BadFunctionCallException::getLine' => ['int'], + 'BadFunctionCallException::getMessage' => ['string'], + 'BadFunctionCallException::getPrevious' => ['?Throwable'], + 'BadFunctionCallException::getTrace' => ['list\',args?:array}>'], + 'BadFunctionCallException::getTraceAsString' => ['string'], + 'BadMethodCallException::__clone' => ['void'], + 'BadMethodCallException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'BadMethodCallException::__toString' => ['string'], + 'BadMethodCallException::getCode' => ['int'], + 'BadMethodCallException::getFile' => ['string'], + 'BadMethodCallException::getLine' => ['int'], + 'BadMethodCallException::getMessage' => ['string'], + 'BadMethodCallException::getPrevious' => ['?Throwable'], + 'BadMethodCallException::getTrace' => ['list\',args?:array}>'], + 'BadMethodCallException::getTraceAsString' => ['string'], + 'COM::__call' => ['', 'name'=>'', 'args'=>''], + 'COM::__construct' => ['void', 'module_name'=>'string', 'server_name='=>'mixed', 'codepage='=>'int', 'typelib='=>'string'], + 'COM::__get' => ['', 'name'=>''], + 'COM::__set' => ['void', 'name'=>'', 'value'=>''], + 'COMPersistHelper::GetCurFile' => ['string'], + 'COMPersistHelper::GetCurFileName' => ['string'], + 'COMPersistHelper::GetMaxStreamSize' => ['int'], + 'COMPersistHelper::InitNew' => ['int'], + 'COMPersistHelper::LoadFromFile' => ['bool', 'filename'=>'string', 'flags'=>'int'], + 'COMPersistHelper::LoadFromStream' => ['', 'stream'=>''], + 'COMPersistHelper::SaveToFile' => ['bool', 'filename'=>'string', 'remember'=>'bool'], + 'COMPersistHelper::SaveToStream' => ['int', 'stream'=>''], + 'COMPersistHelper::__construct' => ['void', 'variant'=>'object'], + 'CURLFile::__construct' => ['void', 'filename'=>'string', 'mimetype='=>'string', 'postfilename='=>'string'], + 'CURLFile::__wakeup' => ['void'], + 'CURLFile::getFilename' => ['string'], + 'CURLFile::getMimeType' => ['string'], + 'CURLFile::getPostFilename' => ['string'], + 'CURLFile::setMimeType' => ['void', 'mime'=>'string'], + 'CURLFile::setPostFilename' => ['void', 'name'=>'string'], + 'CachingIterator::__construct' => ['void', 'iterator'=>'Iterator', 'flags='=>''], + 'CachingIterator::__toString' => ['string'], + 'CachingIterator::count' => ['int'], + 'CachingIterator::current' => ['mixed'], + 'CachingIterator::getCache' => ['array'], + 'CachingIterator::getFlags' => ['int'], + 'CachingIterator::getInnerIterator' => ['Iterator'], + 'CachingIterator::hasNext' => ['bool'], + 'CachingIterator::key' => ['int|string|float|bool'], + 'CachingIterator::next' => ['void'], + 'CachingIterator::offsetExists' => ['bool', 'index'=>'string'], + 'CachingIterator::offsetGet' => ['mixed', 'index'=>'string'], + 'CachingIterator::offsetSet' => ['void', 'index'=>'string', 'newval'=>'mixed'], + 'CachingIterator::offsetUnset' => ['void', 'index'=>'string'], + 'CachingIterator::rewind' => ['void'], + 'CachingIterator::setFlags' => ['void', 'flags'=>'int'], + 'CachingIterator::valid' => ['bool'], + 'CallbackFilterIterator::__construct' => ['void', 'iterator'=>'Iterator', 'func'=>'callable(mixed):bool|callable(mixed,mixed):bool|callable(mixed,mixed,mixed):bool'], + 'CallbackFilterIterator::accept' => ['bool'], + 'CallbackFilterIterator::current' => ['mixed'], + 'CallbackFilterIterator::getInnerIterator' => ['Iterator'], + 'CallbackFilterIterator::key' => ['mixed'], + 'CallbackFilterIterator::next' => ['void'], + 'CallbackFilterIterator::rewind' => ['void'], + 'CallbackFilterIterator::valid' => ['bool'], + 'ClosedGeneratorException::__clone' => ['void'], + 'ClosedGeneratorException::__toString' => ['string'], + 'ClosedGeneratorException::getCode' => ['int'], + 'ClosedGeneratorException::getFile' => ['string'], + 'ClosedGeneratorException::getLine' => ['int'], + 'ClosedGeneratorException::getMessage' => ['string'], + 'ClosedGeneratorException::getPrevious' => ['?Throwable'], + 'ClosedGeneratorException::getTrace' => ['list\',args?:array}>'], + 'ClosedGeneratorException::getTraceAsString' => ['string'], + 'Closure::__construct' => ['void'], + 'Closure::__invoke' => ['', '...args='=>''], + 'Closure::bind' => ['?Closure', 'closure'=>'Closure', 'newThis'=>'?object', 'newScope='=>'object|string|null'], + 'Closure::bindTo' => ['?Closure', 'newThis'=>'?object', 'newScope='=>'object|string|null'], + 'Closure::call' => ['mixed', 'newThis'=>'object', '...args='=>'mixed'], + 'Collator::__construct' => ['void', 'locale'=>'string'], + 'Collator::asort' => ['bool', '&rw_arr'=>'array', 'sort_flag='=>'int'], + 'Collator::compare' => ['int|false', 'string1'=>'string', 'string2'=>'string'], + 'Collator::create' => ['?Collator', 'locale'=>'string'], + 'Collator::getAttribute' => ['int|false', 'attr'=>'int'], + 'Collator::getErrorCode' => ['int'], + 'Collator::getErrorMessage' => ['string'], + 'Collator::getLocale' => ['string', 'type'=>'int'], + 'Collator::getSortKey' => ['string|false', 'string'=>'string'], + 'Collator::getStrength' => ['int|false'], + 'Collator::setAttribute' => ['bool', 'attr'=>'int', 'value'=>'int'], + 'Collator::setStrength' => ['bool', 'strength'=>'int'], + 'Collator::sort' => ['bool', '&rw_arr'=>'array', 'sort_flags='=>'int'], + 'Collator::sortWithSortKeys' => ['bool', '&rw_arr'=>'array'], + 'Collectable::isGarbage' => ['bool'], + 'Collectable::setGarbage' => ['void'], + 'Cond::broadcast' => ['bool', 'condition'=>'long'], + 'Cond::create' => ['long'], + 'Cond::destroy' => ['bool', 'condition'=>'long'], + 'Cond::signal' => ['bool', 'condition'=>'long'], + 'Cond::wait' => ['bool', 'condition'=>'long', 'mutex'=>'long', 'timeout='=>'long'], + 'Couchbase\AnalyticsQuery::__construct' => ['void'], + 'Couchbase\AnalyticsQuery::fromString' => ['Couchbase\AnalyticsQuery', 'statement'=>'string'], + 'Couchbase\BooleanFieldSearchQuery::__construct' => ['void'], + 'Couchbase\BooleanFieldSearchQuery::boost' => ['Couchbase\BooleanFieldSearchQuery', 'boost'=>'float'], + 'Couchbase\BooleanFieldSearchQuery::field' => ['Couchbase\BooleanFieldSearchQuery', 'field'=>'string'], + 'Couchbase\BooleanFieldSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\BooleanSearchQuery::__construct' => ['void'], + 'Couchbase\BooleanSearchQuery::boost' => ['Couchbase\BooleanSearchQuery', 'boost'=>'float'], + 'Couchbase\BooleanSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\BooleanSearchQuery::must' => ['Couchbase\BooleanSearchQuery', '...queries='=>'array'], + 'Couchbase\BooleanSearchQuery::mustNot' => ['Couchbase\BooleanSearchQuery', '...queries='=>'array'], + 'Couchbase\BooleanSearchQuery::should' => ['Couchbase\BooleanSearchQuery', '...queries='=>'array'], + 'Couchbase\Bucket::__construct' => ['void'], + 'Couchbase\Bucket::__get' => ['int', 'name'=>'string'], + 'Couchbase\Bucket::__set' => ['int', 'name'=>'string', 'value'=>'int'], + 'Couchbase\Bucket::append' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\Bucket::counter' => ['Couchbase\Document|array', 'ids'=>'array|string', 'delta='=>'int', 'options='=>'array'], + 'Couchbase\Bucket::decryptFields' => ['array', 'document'=>'array', 'fieldOptions'=>'', 'prefix='=>'string'], + 'Couchbase\Bucket::diag' => ['array', 'reportId='=>'string'], + 'Couchbase\Bucket::encryptFields' => ['array', 'document'=>'array', 'fieldOptions'=>'', 'prefix='=>'string'], + 'Couchbase\Bucket::get' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], + 'Couchbase\Bucket::getAndLock' => ['Couchbase\Document|array', 'ids'=>'array|string', 'lockTime'=>'int', 'options='=>'array'], + 'Couchbase\Bucket::getAndTouch' => ['Couchbase\Document|array', 'ids'=>'array|string', 'expiry'=>'int', 'options='=>'array'], + 'Couchbase\Bucket::getFromReplica' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], + 'Couchbase\Bucket::getName' => ['string'], + 'Couchbase\Bucket::insert' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\Bucket::listExists' => ['bool', 'id'=>'string', 'value'=>'mixed'], + 'Couchbase\Bucket::listGet' => ['mixed', 'id'=>'string', 'index'=>'int'], + 'Couchbase\Bucket::listPush' => ['', 'id'=>'string', 'value'=>'mixed'], + 'Couchbase\Bucket::listRemove' => ['', 'id'=>'string', 'index'=>'int'], + 'Couchbase\Bucket::listSet' => ['', 'id'=>'string', 'index'=>'int', 'value'=>'mixed'], + 'Couchbase\Bucket::listShift' => ['', 'id'=>'string', 'value'=>'mixed'], + 'Couchbase\Bucket::listSize' => ['int', 'id'=>'string'], + 'Couchbase\Bucket::lookupIn' => ['Couchbase\LookupInBuilder', 'id'=>'string'], + 'Couchbase\Bucket::manager' => ['Couchbase\BucketManager'], + 'Couchbase\Bucket::mapAdd' => ['', 'id'=>'string', 'key'=>'string', 'value'=>'mixed'], + 'Couchbase\Bucket::mapGet' => ['mixed', 'id'=>'string', 'key'=>'string'], + 'Couchbase\Bucket::mapRemove' => ['', 'id'=>'string', 'key'=>'string'], + 'Couchbase\Bucket::mapSize' => ['int', 'id'=>'string'], + 'Couchbase\Bucket::mutateIn' => ['Couchbase\MutateInBuilder', 'id'=>'string', 'cas'=>'string'], + 'Couchbase\Bucket::ping' => ['array', 'services='=>'int', 'reportId='=>'string'], + 'Couchbase\Bucket::prepend' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\Bucket::query' => ['object', 'query'=>'Couchbase\AnalyticsQuery|Couchbase\N1qlQuery|Couchbase\SearchQuery|Couchbase\SpatialViewQuery|Couchbase\ViewQuery', 'jsonAsArray='=>'bool'], + 'Couchbase\Bucket::queueAdd' => ['', 'id'=>'string', 'value'=>'mixed'], + 'Couchbase\Bucket::queueExists' => ['bool', 'id'=>'string', 'value'=>'mixed'], + 'Couchbase\Bucket::queueRemove' => ['mixed', 'id'=>'string'], + 'Couchbase\Bucket::queueSize' => ['int', 'id'=>'string'], + 'Couchbase\Bucket::remove' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], + 'Couchbase\Bucket::replace' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\Bucket::retrieveIn' => ['Couchbase\DocumentFragment', 'id'=>'string', '...paths='=>'array'], + 'Couchbase\Bucket::setAdd' => ['', 'id'=>'string', 'value'=>'bool|float|int|string'], + 'Couchbase\Bucket::setExists' => ['bool', 'id'=>'string', 'value'=>'bool|float|int|string'], + 'Couchbase\Bucket::setRemove' => ['', 'id'=>'string', 'value'=>'bool|float|int|string'], + 'Couchbase\Bucket::setSize' => ['int', 'id'=>'string'], + 'Couchbase\Bucket::setTranscoder' => ['', 'encoder'=>'callable', 'decoder'=>'callable'], + 'Couchbase\Bucket::touch' => ['Couchbase\Document|array', 'ids'=>'array|string', 'expiry'=>'int', 'options='=>'array'], + 'Couchbase\Bucket::unlock' => ['Couchbase\Document|array', 'ids'=>'array|string', 'options='=>'array'], + 'Couchbase\Bucket::upsert' => ['Couchbase\Document|array', 'ids'=>'array|string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\BucketManager::__construct' => ['void'], + 'Couchbase\BucketManager::createN1qlIndex' => ['', 'name'=>'string', 'fields'=>'array', 'whereClause='=>'string', 'ignoreIfExist='=>'bool', 'defer='=>'bool'], + 'Couchbase\BucketManager::createN1qlPrimaryIndex' => ['', 'customName='=>'string', 'ignoreIfExist='=>'bool', 'defer='=>'bool'], + 'Couchbase\BucketManager::dropN1qlIndex' => ['', 'name'=>'string', 'ignoreIfNotExist='=>'bool'], + 'Couchbase\BucketManager::dropN1qlPrimaryIndex' => ['', 'customName='=>'string', 'ignoreIfNotExist='=>'bool'], + 'Couchbase\BucketManager::flush' => [''], + 'Couchbase\BucketManager::getDesignDocument' => ['array', 'name'=>'string'], + 'Couchbase\BucketManager::info' => ['array'], + 'Couchbase\BucketManager::insertDesignDocument' => ['', 'name'=>'string', 'document'=>'array'], + 'Couchbase\BucketManager::listDesignDocuments' => ['array'], + 'Couchbase\BucketManager::listN1qlIndexes' => ['array'], + 'Couchbase\BucketManager::removeDesignDocument' => ['', 'name'=>'string'], + 'Couchbase\BucketManager::upsertDesignDocument' => ['', 'name'=>'string', 'document'=>'array'], + 'Couchbase\ClassicAuthenticator::bucket' => ['', 'name'=>'string', 'password'=>'string'], + 'Couchbase\ClassicAuthenticator::cluster' => ['', 'username'=>'string', 'password'=>'string'], + 'Couchbase\Cluster::__construct' => ['void', 'connstr'=>'string'], + 'Couchbase\Cluster::authenticate' => ['null', 'authenticator'=>'Couchbase\Authenticator'], + 'Couchbase\Cluster::authenticateAs' => ['null', 'username'=>'string', 'password'=>'string'], + 'Couchbase\Cluster::manager' => ['Couchbase\ClusterManager', 'username='=>'string', 'password='=>'string'], + 'Couchbase\Cluster::openBucket' => ['Couchbase\Bucket', 'name='=>'string', 'password='=>'string'], + 'Couchbase\ClusterManager::__construct' => ['void'], + 'Couchbase\ClusterManager::createBucket' => ['', 'name'=>'string', 'options='=>'array'], + 'Couchbase\ClusterManager::getUser' => ['array', 'username'=>'string', 'domain='=>'int'], + 'Couchbase\ClusterManager::info' => ['array'], + 'Couchbase\ClusterManager::listBuckets' => ['array'], + 'Couchbase\ClusterManager::listUsers' => ['array', 'domain='=>'int'], + 'Couchbase\ClusterManager::removeBucket' => ['', 'name'=>'string'], + 'Couchbase\ClusterManager::removeUser' => ['', 'name'=>'string', 'domain='=>'int'], + 'Couchbase\ClusterManager::upsertUser' => ['', 'name'=>'string', 'settings'=>'Couchbase\UserSettings', 'domain='=>'int'], + 'Couchbase\ConjunctionSearchQuery::__construct' => ['void'], + 'Couchbase\ConjunctionSearchQuery::boost' => ['Couchbase\ConjunctionSearchQuery', 'boost'=>'float'], + 'Couchbase\ConjunctionSearchQuery::every' => ['Couchbase\ConjunctionSearchQuery', '...queries='=>'array'], + 'Couchbase\ConjunctionSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\DateRangeSearchFacet::__construct' => ['void'], + 'Couchbase\DateRangeSearchFacet::addRange' => ['Couchbase\DateRangeSearchFacet', 'name'=>'string', 'start'=>'int|string', 'end'=>'int|string'], + 'Couchbase\DateRangeSearchFacet::jsonSerialize' => ['array'], + 'Couchbase\DateRangeSearchQuery::__construct' => ['void'], + 'Couchbase\DateRangeSearchQuery::boost' => ['Couchbase\DateRangeSearchQuery', 'boost'=>'float'], + 'Couchbase\DateRangeSearchQuery::dateTimeParser' => ['Couchbase\DateRangeSearchQuery', 'dateTimeParser'=>'string'], + 'Couchbase\DateRangeSearchQuery::end' => ['Couchbase\DateRangeSearchQuery', 'end'=>'int|string', 'inclusive='=>'bool'], + 'Couchbase\DateRangeSearchQuery::field' => ['Couchbase\DateRangeSearchQuery', 'field'=>'string'], + 'Couchbase\DateRangeSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\DateRangeSearchQuery::start' => ['Couchbase\DateRangeSearchQuery', 'start'=>'int|string', 'inclusive='=>'bool'], + 'Couchbase\DisjunctionSearchQuery::__construct' => ['void'], + 'Couchbase\DisjunctionSearchQuery::boost' => ['Couchbase\DisjunctionSearchQuery', 'boost'=>'float'], + 'Couchbase\DisjunctionSearchQuery::either' => ['Couchbase\DisjunctionSearchQuery', '...queries='=>'array'], + 'Couchbase\DisjunctionSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\DisjunctionSearchQuery::min' => ['Couchbase\DisjunctionSearchQuery', 'min'=>'int'], + 'Couchbase\DocIdSearchQuery::__construct' => ['void'], + 'Couchbase\DocIdSearchQuery::boost' => ['Couchbase\DocIdSearchQuery', 'boost'=>'float'], + 'Couchbase\DocIdSearchQuery::docIds' => ['Couchbase\DocIdSearchQuery', '...documentIds='=>'array'], + 'Couchbase\DocIdSearchQuery::field' => ['Couchbase\DocIdSearchQuery', 'field'=>'string'], + 'Couchbase\DocIdSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\GeoBoundingBoxSearchQuery::__construct' => ['void'], + 'Couchbase\GeoBoundingBoxSearchQuery::boost' => ['Couchbase\GeoBoundingBoxSearchQuery', 'boost'=>'float'], + 'Couchbase\GeoBoundingBoxSearchQuery::field' => ['Couchbase\GeoBoundingBoxSearchQuery', 'field'=>'string'], + 'Couchbase\GeoBoundingBoxSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\GeoDistanceSearchQuery::__construct' => ['void'], + 'Couchbase\GeoDistanceSearchQuery::boost' => ['Couchbase\GeoDistanceSearchQuery', 'boost'=>'float'], + 'Couchbase\GeoDistanceSearchQuery::field' => ['Couchbase\GeoDistanceSearchQuery', 'field'=>'string'], + 'Couchbase\GeoDistanceSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\LookupInBuilder::__construct' => ['void'], + 'Couchbase\LookupInBuilder::execute' => ['Couchbase\DocumentFragment'], + 'Couchbase\LookupInBuilder::exists' => ['Couchbase\LookupInBuilder', 'path'=>'string', 'options='=>'array'], + 'Couchbase\LookupInBuilder::get' => ['Couchbase\LookupInBuilder', 'path'=>'string', 'options='=>'array'], + 'Couchbase\LookupInBuilder::getCount' => ['Couchbase\LookupInBuilder', 'path'=>'string', 'options='=>'array'], + 'Couchbase\MatchAllSearchQuery::__construct' => ['void'], + 'Couchbase\MatchAllSearchQuery::boost' => ['Couchbase\MatchAllSearchQuery', 'boost'=>'float'], + 'Couchbase\MatchAllSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\MatchNoneSearchQuery::__construct' => ['void'], + 'Couchbase\MatchNoneSearchQuery::boost' => ['Couchbase\MatchNoneSearchQuery', 'boost'=>'float'], + 'Couchbase\MatchNoneSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\MatchPhraseSearchQuery::__construct' => ['void'], + 'Couchbase\MatchPhraseSearchQuery::analyzer' => ['Couchbase\MatchPhraseSearchQuery', 'analyzer'=>'string'], + 'Couchbase\MatchPhraseSearchQuery::boost' => ['Couchbase\MatchPhraseSearchQuery', 'boost'=>'float'], + 'Couchbase\MatchPhraseSearchQuery::field' => ['Couchbase\MatchPhraseSearchQuery', 'field'=>'string'], + 'Couchbase\MatchPhraseSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\MatchSearchQuery::__construct' => ['void'], + 'Couchbase\MatchSearchQuery::analyzer' => ['Couchbase\MatchSearchQuery', 'analyzer'=>'string'], + 'Couchbase\MatchSearchQuery::boost' => ['Couchbase\MatchSearchQuery', 'boost'=>'float'], + 'Couchbase\MatchSearchQuery::field' => ['Couchbase\MatchSearchQuery', 'field'=>'string'], + 'Couchbase\MatchSearchQuery::fuzziness' => ['Couchbase\MatchSearchQuery', 'fuzziness'=>'int'], + 'Couchbase\MatchSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\MatchSearchQuery::prefixLength' => ['Couchbase\MatchSearchQuery', 'prefixLength'=>'int'], + 'Couchbase\MutateInBuilder::__construct' => ['void'], + 'Couchbase\MutateInBuilder::arrayAddUnique' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::arrayAppend' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::arrayAppendAll' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'values'=>'array', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::arrayInsert' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\MutateInBuilder::arrayInsertAll' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'values'=>'array', 'options='=>'array'], + 'Couchbase\MutateInBuilder::arrayPrepend' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::arrayPrependAll' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'values'=>'array', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::counter' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'delta'=>'int', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::execute' => ['Couchbase\DocumentFragment'], + 'Couchbase\MutateInBuilder::insert' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::modeDocument' => ['', 'mode'=>'int'], + 'Couchbase\MutateInBuilder::remove' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'options='=>'array'], + 'Couchbase\MutateInBuilder::replace' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array'], + 'Couchbase\MutateInBuilder::upsert' => ['Couchbase\MutateInBuilder', 'path'=>'string', 'value'=>'mixed', 'options='=>'array|bool'], + 'Couchbase\MutateInBuilder::withExpiry' => ['Couchbase\MutateInBuilder', 'expiry'=>'Couchbase\expiry'], + 'Couchbase\MutationState::__construct' => ['void'], + 'Couchbase\MutationState::add' => ['', 'source'=>'Couchbase\Document|Couchbase\DocumentFragment|array'], + 'Couchbase\MutationState::from' => ['Couchbase\MutationState', 'source'=>'Couchbase\Document|Couchbase\DocumentFragment|array'], + 'Couchbase\MutationToken::__construct' => ['void'], + 'Couchbase\MutationToken::bucketName' => ['string'], + 'Couchbase\MutationToken::from' => ['', 'bucketName'=>'string', 'vbucketId'=>'int', 'vbucketUuid'=>'string', 'sequenceNumber'=>'string'], + 'Couchbase\MutationToken::sequenceNumber' => ['string'], + 'Couchbase\MutationToken::vbucketId' => ['int'], + 'Couchbase\MutationToken::vbucketUuid' => ['string'], + 'Couchbase\N1qlIndex::__construct' => ['void'], + 'Couchbase\N1qlQuery::__construct' => ['void'], + 'Couchbase\N1qlQuery::adhoc' => ['Couchbase\N1qlQuery', 'adhoc'=>'bool'], + 'Couchbase\N1qlQuery::consistency' => ['Couchbase\N1qlQuery', 'consistency'=>'int'], + 'Couchbase\N1qlQuery::consistentWith' => ['Couchbase\N1qlQuery', 'state'=>'Couchbase\MutationState'], + 'Couchbase\N1qlQuery::crossBucket' => ['Couchbase\N1qlQuery', 'crossBucket'=>'bool'], + 'Couchbase\N1qlQuery::fromString' => ['Couchbase\N1qlQuery', 'statement'=>'string'], + 'Couchbase\N1qlQuery::maxParallelism' => ['Couchbase\N1qlQuery', 'maxParallelism'=>'int'], + 'Couchbase\N1qlQuery::namedParams' => ['Couchbase\N1qlQuery', 'params'=>'array'], + 'Couchbase\N1qlQuery::pipelineBatch' => ['Couchbase\N1qlQuery', 'pipelineBatch'=>'int'], + 'Couchbase\N1qlQuery::pipelineCap' => ['Couchbase\N1qlQuery', 'pipelineCap'=>'int'], + 'Couchbase\N1qlQuery::positionalParams' => ['Couchbase\N1qlQuery', 'params'=>'array'], + 'Couchbase\N1qlQuery::profile' => ['', 'profileType'=>'string'], + 'Couchbase\N1qlQuery::readonly' => ['Couchbase\N1qlQuery', 'readonly'=>'bool'], + 'Couchbase\N1qlQuery::scanCap' => ['Couchbase\N1qlQuery', 'scanCap'=>'int'], + 'Couchbase\NumericRangeSearchFacet::__construct' => ['void'], + 'Couchbase\NumericRangeSearchFacet::addRange' => ['Couchbase\NumericRangeSearchFacet', 'name'=>'string', 'min'=>'float', 'max'=>'float'], + 'Couchbase\NumericRangeSearchFacet::jsonSerialize' => ['array'], + 'Couchbase\NumericRangeSearchQuery::__construct' => ['void'], + 'Couchbase\NumericRangeSearchQuery::boost' => ['Couchbase\NumericRangeSearchQuery', 'boost'=>'float'], + 'Couchbase\NumericRangeSearchQuery::field' => ['Couchbase\NumericRangeSearchQuery', 'field'=>'string'], + 'Couchbase\NumericRangeSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\NumericRangeSearchQuery::max' => ['Couchbase\NumericRangeSearchQuery', 'max'=>'float', 'inclusive='=>'bool'], + 'Couchbase\NumericRangeSearchQuery::min' => ['Couchbase\NumericRangeSearchQuery', 'min'=>'float', 'inclusive='=>'bool'], + 'Couchbase\PasswordAuthenticator::password' => ['Couchbase\PasswordAuthenticator', 'password'=>'string'], + 'Couchbase\PasswordAuthenticator::username' => ['Couchbase\PasswordAuthenticator', 'username'=>'string'], + 'Couchbase\PhraseSearchQuery::__construct' => ['void'], + 'Couchbase\PhraseSearchQuery::boost' => ['Couchbase\PhraseSearchQuery', 'boost'=>'float'], + 'Couchbase\PhraseSearchQuery::field' => ['Couchbase\PhraseSearchQuery', 'field'=>'string'], + 'Couchbase\PhraseSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\PrefixSearchQuery::__construct' => ['void'], + 'Couchbase\PrefixSearchQuery::boost' => ['Couchbase\PrefixSearchQuery', 'boost'=>'float'], + 'Couchbase\PrefixSearchQuery::field' => ['Couchbase\PrefixSearchQuery', 'field'=>'string'], + 'Couchbase\PrefixSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\QueryStringSearchQuery::__construct' => ['void'], + 'Couchbase\QueryStringSearchQuery::boost' => ['Couchbase\QueryStringSearchQuery', 'boost'=>'float'], + 'Couchbase\QueryStringSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\RegexpSearchQuery::__construct' => ['void'], + 'Couchbase\RegexpSearchQuery::boost' => ['Couchbase\RegexpSearchQuery', 'boost'=>'float'], + 'Couchbase\RegexpSearchQuery::field' => ['Couchbase\RegexpSearchQuery', 'field'=>'string'], + 'Couchbase\RegexpSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\SearchQuery::__construct' => ['void', 'indexName'=>'string', 'queryPart'=>'Couchbase\SearchQueryPart'], + 'Couchbase\SearchQuery::addFacet' => ['Couchbase\SearchQuery', 'name'=>'string', 'facet'=>'Couchbase\SearchFacet'], + 'Couchbase\SearchQuery::boolean' => ['Couchbase\BooleanSearchQuery'], + 'Couchbase\SearchQuery::booleanField' => ['Couchbase\BooleanFieldSearchQuery', 'value'=>'bool'], + 'Couchbase\SearchQuery::conjuncts' => ['Couchbase\ConjunctionSearchQuery', '...queries='=>'array'], + 'Couchbase\SearchQuery::consistentWith' => ['Couchbase\SearchQuery', 'state'=>'Couchbase\MutationState'], + 'Couchbase\SearchQuery::dateRange' => ['Couchbase\DateRangeSearchQuery'], + 'Couchbase\SearchQuery::dateRangeFacet' => ['Couchbase\DateRangeSearchFacet', 'field'=>'string', 'limit'=>'int'], + 'Couchbase\SearchQuery::disjuncts' => ['Couchbase\DisjunctionSearchQuery', '...queries='=>'array'], + 'Couchbase\SearchQuery::docId' => ['Couchbase\DocIdSearchQuery', '...documentIds='=>'array'], + 'Couchbase\SearchQuery::explain' => ['Couchbase\SearchQuery', 'explain'=>'bool'], + 'Couchbase\SearchQuery::fields' => ['Couchbase\SearchQuery', '...fields='=>'array'], + 'Couchbase\SearchQuery::geoBoundingBox' => ['Couchbase\GeoBoundingBoxSearchQuery', 'topLeftLongitude'=>'float', 'topLeftLatitude'=>'float', 'bottomRightLongitude'=>'float', 'bottomRightLatitude'=>'float'], + 'Couchbase\SearchQuery::geoDistance' => ['Couchbase\GeoDistanceSearchQuery', 'longitude'=>'float', 'latitude'=>'float', 'distance'=>'string'], + 'Couchbase\SearchQuery::highlight' => ['Couchbase\SearchQuery', 'style'=>'string', '...fields='=>'array'], + 'Couchbase\SearchQuery::jsonSerialize' => ['array'], + 'Couchbase\SearchQuery::limit' => ['Couchbase\SearchQuery', 'limit'=>'int'], + 'Couchbase\SearchQuery::match' => ['Couchbase\MatchSearchQuery', 'match'=>'string'], + 'Couchbase\SearchQuery::matchAll' => ['Couchbase\MatchAllSearchQuery'], + 'Couchbase\SearchQuery::matchNone' => ['Couchbase\MatchNoneSearchQuery'], + 'Couchbase\SearchQuery::matchPhrase' => ['Couchbase\MatchPhraseSearchQuery', '...terms='=>'array'], + 'Couchbase\SearchQuery::numericRange' => ['Couchbase\NumericRangeSearchQuery'], + 'Couchbase\SearchQuery::numericRangeFacet' => ['Couchbase\NumericRangeSearchFacet', 'field'=>'string', 'limit'=>'int'], + 'Couchbase\SearchQuery::prefix' => ['Couchbase\PrefixSearchQuery', 'prefix'=>'string'], + 'Couchbase\SearchQuery::queryString' => ['Couchbase\QueryStringSearchQuery', 'queryString'=>'string'], + 'Couchbase\SearchQuery::regexp' => ['Couchbase\RegexpSearchQuery', 'regexp'=>'string'], + 'Couchbase\SearchQuery::serverSideTimeout' => ['Couchbase\SearchQuery', 'serverSideTimeout'=>'int'], + 'Couchbase\SearchQuery::skip' => ['Couchbase\SearchQuery', 'skip'=>'int'], + 'Couchbase\SearchQuery::sort' => ['Couchbase\SearchQuery', '...sort='=>'array'], + 'Couchbase\SearchQuery::term' => ['Couchbase\TermSearchQuery', 'term'=>'string'], + 'Couchbase\SearchQuery::termFacet' => ['Couchbase\TermSearchFacet', 'field'=>'string', 'limit'=>'int'], + 'Couchbase\SearchQuery::termRange' => ['Couchbase\TermRangeSearchQuery'], + 'Couchbase\SearchQuery::wildcard' => ['Couchbase\WildcardSearchQuery', 'wildcard'=>'string'], + 'Couchbase\SearchSort::__construct' => ['void'], + 'Couchbase\SearchSort::field' => ['Couchbase\SearchSortField', 'field'=>'string'], + 'Couchbase\SearchSort::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], + 'Couchbase\SearchSort::id' => ['Couchbase\SearchSortId'], + 'Couchbase\SearchSort::score' => ['Couchbase\SearchSortScore'], + 'Couchbase\SearchSortField::__construct' => ['void'], + 'Couchbase\SearchSortField::descending' => ['Couchbase\SearchSortField', 'descending'=>'bool'], + 'Couchbase\SearchSortField::field' => ['Couchbase\SearchSortField', 'field'=>'string'], + 'Couchbase\SearchSortField::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], + 'Couchbase\SearchSortField::id' => ['Couchbase\SearchSortId'], + 'Couchbase\SearchSortField::jsonSerialize' => ['mixed'], + 'Couchbase\SearchSortField::missing' => ['', 'missing'=>'string'], + 'Couchbase\SearchSortField::mode' => ['', 'mode'=>'string'], + 'Couchbase\SearchSortField::score' => ['Couchbase\SearchSortScore'], + 'Couchbase\SearchSortField::type' => ['', 'type'=>'string'], + 'Couchbase\SearchSortGeoDistance::__construct' => ['void'], + 'Couchbase\SearchSortGeoDistance::descending' => ['Couchbase\SearchSortGeoDistance', 'descending'=>'bool'], + 'Couchbase\SearchSortGeoDistance::field' => ['Couchbase\SearchSortField', 'field'=>'string'], + 'Couchbase\SearchSortGeoDistance::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], + 'Couchbase\SearchSortGeoDistance::id' => ['Couchbase\SearchSortId'], + 'Couchbase\SearchSortGeoDistance::jsonSerialize' => ['mixed'], + 'Couchbase\SearchSortGeoDistance::score' => ['Couchbase\SearchSortScore'], + 'Couchbase\SearchSortGeoDistance::unit' => ['Couchbase\SearchSortGeoDistance', 'unit'=>'string'], + 'Couchbase\SearchSortId::__construct' => ['void'], + 'Couchbase\SearchSortId::descending' => ['Couchbase\SearchSortId', 'descending'=>'bool'], + 'Couchbase\SearchSortId::field' => ['Couchbase\SearchSortField', 'field'=>'string'], + 'Couchbase\SearchSortId::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], + 'Couchbase\SearchSortId::id' => ['Couchbase\SearchSortId'], + 'Couchbase\SearchSortId::jsonSerialize' => ['mixed'], + 'Couchbase\SearchSortId::score' => ['Couchbase\SearchSortScore'], + 'Couchbase\SearchSortScore::__construct' => ['void'], + 'Couchbase\SearchSortScore::descending' => ['Couchbase\SearchSortScore', 'descending'=>'bool'], + 'Couchbase\SearchSortScore::field' => ['Couchbase\SearchSortField', 'field'=>'string'], + 'Couchbase\SearchSortScore::geoDistance' => ['Couchbase\SearchSortGeoDistance', 'field'=>'string', 'longitude'=>'float', 'latitude'=>'float'], + 'Couchbase\SearchSortScore::id' => ['Couchbase\SearchSortId'], + 'Couchbase\SearchSortScore::jsonSerialize' => ['mixed'], + 'Couchbase\SearchSortScore::score' => ['Couchbase\SearchSortScore'], + 'Couchbase\SpatialViewQuery::__construct' => ['void'], + 'Couchbase\SpatialViewQuery::bbox' => ['Couchbase\SpatialViewQuery', 'bbox'=>'array'], + 'Couchbase\SpatialViewQuery::consistency' => ['Couchbase\SpatialViewQuery', 'consistency'=>'int'], + 'Couchbase\SpatialViewQuery::custom' => ['', 'customParameters'=>'array'], + 'Couchbase\SpatialViewQuery::encode' => ['array'], + 'Couchbase\SpatialViewQuery::endRange' => ['Couchbase\SpatialViewQuery', 'range'=>'array'], + 'Couchbase\SpatialViewQuery::limit' => ['Couchbase\SpatialViewQuery', 'limit'=>'int'], + 'Couchbase\SpatialViewQuery::order' => ['Couchbase\SpatialViewQuery', 'order'=>'int'], + 'Couchbase\SpatialViewQuery::skip' => ['Couchbase\SpatialViewQuery', 'skip'=>'int'], + 'Couchbase\SpatialViewQuery::startRange' => ['Couchbase\SpatialViewQuery', 'range'=>'array'], + 'Couchbase\TermRangeSearchQuery::__construct' => ['void'], + 'Couchbase\TermRangeSearchQuery::boost' => ['Couchbase\TermRangeSearchQuery', 'boost'=>'float'], + 'Couchbase\TermRangeSearchQuery::field' => ['Couchbase\TermRangeSearchQuery', 'field'=>'string'], + 'Couchbase\TermRangeSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\TermRangeSearchQuery::max' => ['Couchbase\TermRangeSearchQuery', 'max'=>'string', 'inclusive='=>'bool'], + 'Couchbase\TermRangeSearchQuery::min' => ['Couchbase\TermRangeSearchQuery', 'min'=>'string', 'inclusive='=>'bool'], + 'Couchbase\TermSearchFacet::__construct' => ['void'], + 'Couchbase\TermSearchFacet::jsonSerialize' => ['array'], + 'Couchbase\TermSearchQuery::__construct' => ['void'], + 'Couchbase\TermSearchQuery::boost' => ['Couchbase\TermSearchQuery', 'boost'=>'float'], + 'Couchbase\TermSearchQuery::field' => ['Couchbase\TermSearchQuery', 'field'=>'string'], + 'Couchbase\TermSearchQuery::fuzziness' => ['Couchbase\TermSearchQuery', 'fuzziness'=>'int'], + 'Couchbase\TermSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\TermSearchQuery::prefixLength' => ['Couchbase\TermSearchQuery', 'prefixLength'=>'int'], + 'Couchbase\UserSettings::fullName' => ['Couchbase\UserSettings', 'fullName'=>'string'], + 'Couchbase\UserSettings::password' => ['Couchbase\UserSettings', 'password'=>'string'], + 'Couchbase\UserSettings::role' => ['Couchbase\UserSettings', 'role'=>'string', 'bucket='=>'string'], + 'Couchbase\ViewQuery::__construct' => ['void'], + 'Couchbase\ViewQuery::consistency' => ['Couchbase\ViewQuery', 'consistency'=>'int'], + 'Couchbase\ViewQuery::custom' => ['Couchbase\ViewQuery', 'customParameters'=>'array'], + 'Couchbase\ViewQuery::encode' => ['array'], + 'Couchbase\ViewQuery::from' => ['Couchbase\ViewQuery', 'designDocumentName'=>'string', 'viewName'=>'string'], + 'Couchbase\ViewQuery::fromSpatial' => ['Couchbase\SpatialViewQuery', 'designDocumentName'=>'string', 'viewName'=>'string'], + 'Couchbase\ViewQuery::group' => ['Couchbase\ViewQuery', 'group'=>'bool'], + 'Couchbase\ViewQuery::groupLevel' => ['Couchbase\ViewQuery', 'groupLevel'=>'int'], + 'Couchbase\ViewQuery::idRange' => ['Couchbase\ViewQuery', 'startKeyDocumentId'=>'string', 'endKeyDocumentId'=>'string'], + 'Couchbase\ViewQuery::key' => ['Couchbase\ViewQuery', 'key'=>'mixed'], + 'Couchbase\ViewQuery::keys' => ['Couchbase\ViewQuery', 'keys'=>'array'], + 'Couchbase\ViewQuery::limit' => ['Couchbase\ViewQuery', 'limit'=>'int'], + 'Couchbase\ViewQuery::order' => ['Couchbase\ViewQuery', 'order'=>'int'], + 'Couchbase\ViewQuery::range' => ['Couchbase\ViewQuery', 'startKey'=>'mixed', 'endKey'=>'mixed', 'inclusiveEnd='=>'bool'], + 'Couchbase\ViewQuery::reduce' => ['Couchbase\ViewQuery', 'reduce'=>'bool'], + 'Couchbase\ViewQuery::skip' => ['Couchbase\ViewQuery', 'skip'=>'int'], + 'Couchbase\ViewQueryEncodable::encode' => ['array'], + 'Couchbase\WildcardSearchQuery::__construct' => ['void'], + 'Couchbase\WildcardSearchQuery::boost' => ['Couchbase\WildcardSearchQuery', 'boost'=>'float'], + 'Couchbase\WildcardSearchQuery::field' => ['Couchbase\WildcardSearchQuery', 'field'=>'string'], + 'Couchbase\WildcardSearchQuery::jsonSerialize' => ['array'], + 'Couchbase\basicDecoderV1' => ['mixed', 'bytes'=>'string', 'flags'=>'int', 'datatype'=>'int', 'options'=>'array'], + 'Couchbase\basicEncoderV1' => ['array', 'value'=>'mixed', 'options'=>'array'], + 'Couchbase\defaultDecoder' => ['mixed', 'bytes'=>'string', 'flags'=>'int', 'datatype'=>'int'], + 'Couchbase\defaultEncoder' => ['array', 'value'=>'mixed'], + 'Couchbase\fastlzCompress' => ['string', 'data'=>'string'], + 'Couchbase\fastlzDecompress' => ['string', 'data'=>'string'], + 'Couchbase\passthruDecoder' => ['string', 'bytes'=>'string', 'flags'=>'int', 'datatype'=>'int'], + 'Couchbase\passthruEncoder' => ['array', 'value'=>'string'], + 'Couchbase\zlibCompress' => ['string', 'data'=>'string'], + 'Couchbase\zlibDecompress' => ['string', 'data'=>'string'], + 'Countable::count' => ['int'], + 'DOMAttr::__construct' => ['void', 'name'=>'string', 'value='=>'string'], + 'DOMAttr::getLineNo' => ['int'], + 'DOMAttr::getNodePath' => ['?string'], + 'DOMAttr::hasAttributes' => ['bool'], + 'DOMAttr::hasChildNodes' => ['bool'], + 'DOMAttr::insertBefore' => ['DOMNode', 'newnode'=>'DOMNode', 'refnode='=>'DOMNode'], + 'DOMAttr::isDefaultNamespace' => ['bool', 'namespaceuri'=>'string'], + 'DOMAttr::isId' => ['bool'], + 'DOMAttr::isSameNode' => ['bool', 'node'=>'DOMNode'], + 'DOMAttr::isSupported' => ['bool', 'feature'=>'string', 'version'=>'string'], + 'DOMAttr::lookupNamespaceUri' => ['string|null', 'prefix'=>'string|null'], + 'DOMAttr::lookupPrefix' => ['string|null', 'namespaceuri'=>'string'], + 'DOMAttr::normalize' => ['void'], + 'DOMAttr::removeChild' => ['DOMNode', 'oldnode'=>'DOMNode'], + 'DOMAttr::replaceChild' => ['DOMNode', 'newnode'=>'DOMNode', 'oldnode'=>'DOMNode'], + 'DOMCdataSection::__construct' => ['void', 'value'=>'string'], + 'DOMCharacterData::appendData' => ['true', 'data'=>'string'], + 'DOMCharacterData::deleteData' => ['bool', 'offset'=>'int', 'count'=>'int'], + 'DOMCharacterData::insertData' => ['bool', 'offset'=>'int', 'data'=>'string'], + 'DOMCharacterData::replaceData' => ['bool', 'offset'=>'int', 'count'=>'int', 'data'=>'string'], + 'DOMCharacterData::substringData' => ['string', 'offset'=>'int', 'count'=>'int'], + 'DOMComment::__construct' => ['void', 'value='=>'string'], + 'DOMDocument::__construct' => ['void', 'version='=>'string', 'encoding='=>'string'], + 'DOMDocument::createAttribute' => ['DOMAttr|false', 'name'=>'string'], + 'DOMDocument::createAttributeNS' => ['DOMAttr|false', 'namespaceuri'=>'string|null', 'qualifiedname'=>'string'], + 'DOMDocument::createCDATASection' => ['DOMCDATASection|false', 'data'=>'string'], + 'DOMDocument::createComment' => ['DOMComment|false', 'data'=>'string'], + 'DOMDocument::createDocumentFragment' => ['DOMDocumentFragment|false'], + 'DOMDocument::createElement' => ['DOMElement|false', 'name'=>'string', 'value='=>'string'], + 'DOMDocument::createElementNS' => ['DOMElement|false', 'namespaceuri'=>'string|null', 'qualifiedname'=>'string', 'value='=>'string'], + 'DOMDocument::createEntityReference' => ['DOMEntityReference|false', 'name'=>'string'], + 'DOMDocument::createProcessingInstruction' => ['DOMProcessingInstruction|false', 'target'=>'string', 'data='=>'string'], + 'DOMDocument::createTextNode' => ['DOMText|false', 'content'=>'string'], + 'DOMDocument::getElementById' => ['?DOMElement', 'elementid'=>'string'], + 'DOMDocument::getElementsByTagName' => ['DOMNodeList', 'name'=>'string'], + 'DOMDocument::getElementsByTagNameNS' => ['DOMNodeList', 'namespaceuri'=>'string|null', 'localname'=>'string'], + 'DOMDocument::importNode' => ['DOMNode|false', 'importednode'=>'DOMNode', 'deep='=>'bool'], + 'DOMDocument::load' => ['DOMDocument|bool', 'filename'=>'string', 'options='=>'int'], + 'DOMDocument::loadHTML' => ['bool', 'source'=>'non-empty-string', 'options='=>'int'], + 'DOMDocument::loadHTMLFile' => ['bool', 'filename'=>'string', 'options='=>'int'], + 'DOMDocument::loadXML' => ['DOMDocument|bool', 'source'=>'non-empty-string', 'options='=>'int'], + 'DOMDocument::normalizeDocument' => ['void'], + 'DOMDocument::registerNodeClass' => ['bool', 'baseclass'=>'string', 'extendedclass'=>'string'], + 'DOMDocument::relaxNGValidate' => ['bool', 'filename'=>'string'], + 'DOMDocument::relaxNGValidateSource' => ['bool', 'source'=>'string'], + 'DOMDocument::save' => ['int|false', 'filename'=>'string', 'options='=>'int'], + 'DOMDocument::saveHTML' => ['string|false', 'node='=>'?DOMNode'], + 'DOMDocument::saveHTMLFile' => ['int|false', 'filename'=>'string'], + 'DOMDocument::saveXML' => ['string|false', 'node='=>'?DOMNode', 'options='=>'int'], + 'DOMDocument::schemaValidate' => ['bool', 'filename'=>'string', 'flags='=>'int'], + 'DOMDocument::schemaValidateSource' => ['bool', 'source'=>'string', 'flags='=>'int'], + 'DOMDocument::validate' => ['bool'], + 'DOMDocument::xinclude' => ['int', 'options='=>'int'], + 'DOMDocumentFragment::__construct' => ['void'], + 'DOMDocumentFragment::appendXML' => ['bool', 'data'=>'string'], + 'DOMElement::__construct' => ['void', 'name'=>'string', 'value='=>'string', 'uri='=>'string'], + 'DOMElement::getAttribute' => ['string', 'name'=>'string'], + 'DOMElement::getAttributeNS' => ['string', 'namespaceuri'=>'string|null', 'localname'=>'string'], + 'DOMElement::getAttributeNode' => ['DOMAttr', 'name'=>'string'], + 'DOMElement::getAttributeNodeNS' => ['DOMAttr', 'namespaceuri'=>'string|null', 'localname'=>'string'], + 'DOMElement::getElementsByTagName' => ['DOMNodeList', 'name'=>'string'], + 'DOMElement::getElementsByTagNameNS' => ['DOMNodeList', 'namespaceuri'=>'string|null', 'localname'=>'string'], + 'DOMElement::hasAttribute' => ['bool', 'name'=>'string'], + 'DOMElement::hasAttributeNS' => ['bool', 'namespaceuri'=>'string|null', 'localname'=>'string'], + 'DOMElement::removeAttribute' => ['bool', 'name'=>'string'], + 'DOMElement::removeAttributeNS' => ['bool', 'namespaceuri'=>'string|null', 'localname'=>'string'], + 'DOMElement::removeAttributeNode' => ['bool', 'oldnode'=>'DOMAttr'], + 'DOMElement::setAttribute' => ['DOMAttr|false', 'name'=>'string', 'value'=>'string'], + 'DOMElement::setAttributeNS' => ['void', 'namespaceuri'=>'string|null', 'qualifiedname'=>'string', 'value'=>'string'], + 'DOMElement::setAttributeNode' => ['?DOMAttr', 'attr'=>'DOMAttr'], + 'DOMElement::setAttributeNodeNS' => ['DOMAttr', 'attr'=>'DOMAttr'], + 'DOMElement::setIdAttribute' => ['void', 'name'=>'string', 'isid'=>'bool'], + 'DOMElement::setIdAttributeNS' => ['void', 'namespaceuri'=>'string', 'localname'=>'string', 'isid'=>'bool'], + 'DOMElement::setIdAttributeNode' => ['void', 'attr'=>'DOMAttr', 'isid'=>'bool'], + 'DOMEntityReference::__construct' => ['void', 'name'=>'string'], + 'DOMImplementation::__construct' => ['void'], + 'DOMImplementation::createDocument' => ['DOMDocument', 'namespaceuri='=>'string', 'qualifiedname='=>'string', 'doctype='=>'DOMDocumentType'], + 'DOMImplementation::createDocumentType' => ['DOMDocumentType', 'qualifiedname='=>'string', 'publicid='=>'string', 'systemid='=>'string'], + 'DOMImplementation::hasFeature' => ['bool', 'feature'=>'string', 'version'=>'string'], + 'DOMNamedNodeMap::count' => ['int'], + 'DOMNamedNodeMap::getNamedItem' => ['?DOMNode', 'name'=>'string'], + 'DOMNamedNodeMap::getNamedItemNS' => ['?DOMNode', 'namespaceuri'=>'string', 'localname'=>'string'], + 'DOMNamedNodeMap::item' => ['?DOMNode', 'index'=>'int'], + 'DOMNode::C14N' => ['string', 'exclusive='=>'bool', 'with_comments='=>'bool', 'xpath='=>'array', 'ns_prefixes='=>'array'], + 'DOMNode::C14NFile' => ['int|false', 'uri='=>'string', 'exclusive='=>'bool', 'with_comments='=>'bool', 'xpath='=>'array', 'ns_prefixes='=>'array'], + 'DOMNode::appendChild' => ['DOMNode', 'newnode'=>'DOMNode'], + 'DOMNode::cloneNode' => ['DOMNode', 'deep='=>'bool'], + 'DOMNode::getLineNo' => ['int'], + 'DOMNode::getNodePath' => ['?string'], + 'DOMNode::hasAttributes' => ['bool'], + 'DOMNode::hasChildNodes' => ['bool'], + 'DOMNode::insertBefore' => ['DOMNode', 'newnode'=>'DOMNode', 'refnode='=>'DOMNode|null'], + 'DOMNode::isDefaultNamespace' => ['bool', 'namespaceuri'=>'string'], + 'DOMNode::isSameNode' => ['bool', 'node'=>'DOMNode'], + 'DOMNode::isSupported' => ['bool', 'feature'=>'string', 'version'=>'string'], + 'DOMNode::lookupNamespaceURI' => ['string|null', 'prefix'=>'string|null'], + 'DOMNode::lookupPrefix' => ['string|null', 'namespaceuri'=>'string'], + 'DOMNode::normalize' => ['void'], + 'DOMNode::removeChild' => ['DOMNode', 'oldnode'=>'DOMNode'], + 'DOMNode::replaceChild' => ['DOMNode|false', 'newnode'=>'DOMNode', 'oldnode'=>'DOMNode'], + 'DOMNodeList::item' => ['?DOMNode', 'index'=>'int'], + 'DOMProcessingInstruction::__construct' => ['void', 'name'=>'string', 'value'=>'string'], + 'DOMText::__construct' => ['void', 'value='=>'string'], + 'DOMText::isElementContentWhitespace' => ['bool'], + 'DOMText::isWhitespaceInElementContent' => ['bool'], + 'DOMText::splitText' => ['DOMText', 'offset'=>'int'], + 'DOMXPath::__construct' => ['void', 'doc'=>'DOMDocument'], + 'DOMXPath::evaluate' => ['mixed', 'expression'=>'string', 'contextnode='=>'?DOMNode', 'registernodens='=>'bool'], + 'DOMXPath::query' => ['DOMNodeList|false', 'expression'=>'string', 'contextnode='=>'DOMNode|null', 'registernodens='=>'bool'], + 'DOMXPath::registerNamespace' => ['bool', 'prefix'=>'string', 'namespaceuri'=>'string'], + 'DOMXPath::registerPhpFunctions' => ['void', 'restrict='=>'mixed'], + 'DOTNET::__call' => ['mixed', 'name'=>'string', 'args'=>''], + 'DOTNET::__construct' => ['void', 'assembly_name'=>'string', 'datatype_name'=>'string', 'codepage='=>'int'], + 'DOTNET::__get' => ['mixed', 'name'=>'string'], + 'DOTNET::__set' => ['void', 'name'=>'string', 'value'=>''], + 'DateInterval::__construct' => ['void', 'spec'=>'string'], + 'DateInterval::__set_state' => ['DateInterval', 'array'=>'array'], + 'DateInterval::__wakeup' => ['void'], + 'DateInterval::createFromDateString' => ['DateInterval|false', 'time'=>'string'], + 'DateInterval::format' => ['string', 'format'=>'string'], + 'DatePeriod::__construct' => ['void', 'start'=>'DateTimeInterface', 'interval'=>'DateInterval', 'recur'=>'int', 'options='=>'int'], + 'DatePeriod::__construct\'1' => ['void', 'start'=>'DateTimeInterface', 'interval'=>'DateInterval', 'end'=>'DateTimeInterface', 'options='=>'int'], + 'DatePeriod::__construct\'2' => ['void', 'iso'=>'string', 'options='=>'int'], + 'DatePeriod::__wakeup' => ['void'], + 'DatePeriod::getDateInterval' => ['DateInterval'], + 'DatePeriod::getEndDate' => ['?DateTimeInterface'], + 'DatePeriod::getStartDate' => ['DateTimeInterface'], + 'DateTime::__construct' => ['void', 'time='=>'string'], + 'DateTime::__construct\'1' => ['void', 'time'=>'?string', 'timezone'=>'?DateTimeZone'], + 'DateTime::__wakeup' => ['void'], + 'DateTime::add' => ['static', 'interval'=>'DateInterval'], + 'DateTime::createFromFormat' => ['static|false', 'format'=>'string', 'time'=>'string', 'timezone='=>'?DateTimeZone'], + 'DateTime::diff' => ['DateInterval|false', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], + 'DateTime::format' => ['string|false', 'format'=>'string'], + 'DateTime::getLastErrors' => ['array{warning_count:int,warnings:array,error_count:int,errors:array}|false'], + 'DateTime::getOffset' => ['int'], + 'DateTime::getTimestamp' => ['int|false'], + 'DateTime::getTimezone' => ['DateTimeZone|false'], + 'DateTime::modify' => ['static|false', 'modify'=>'string'], + 'DateTime::setDate' => ['static', 'year'=>'int', 'month'=>'int', 'day'=>'int'], + 'DateTime::setISODate' => ['static', 'year'=>'int', 'week'=>'int', 'day='=>'int'], + 'DateTime::setTime' => ['static|false', 'hour'=>'int', 'minute'=>'int', 'second='=>'int', 'microseconds='=>'int'], + 'DateTime::setTimestamp' => ['static', 'unixtimestamp'=>'int'], + 'DateTime::setTimezone' => ['static', 'timezone'=>'DateTimeZone'], + 'DateTime::sub' => ['static', 'interval'=>'DateInterval'], + 'DateTimeImmutable::__wakeup' => ['void'], + 'DateTimeImmutable::getLastErrors' => ['array{warning_count:int,warnings:array,error_count:int,errors:array}|false'], + 'DateTimeInterface::diff' => ['DateInterval', 'datetime2'=>'DateTimeInterface', 'absolute='=>'bool'], + 'DateTimeInterface::format' => ['string', 'format'=>'string'], + 'DateTimeInterface::getOffset' => ['int'], + 'DateTimeInterface::getTimestamp' => ['int|false'], + 'DateTimeInterface::getTimezone' => ['DateTimeZone|false'], + 'DateTimeZone::__construct' => ['void', 'timezone'=>'string'], + 'DateTimeZone::__set_state' => ['DateTimeZone', 'array'=>'array'], + 'DateTimeZone::__wakeup' => ['void'], + 'DateTimeZone::getLocation' => ['array|false'], + 'DateTimeZone::getName' => ['string'], + 'DateTimeZone::getOffset' => ['int|false', 'datetime'=>'DateTimeInterface'], + 'DateTimeZone::getTransitions' => ['list|false', 'timestamp_begin='=>'int', 'timestamp_end='=>'int'], + 'DateTimeZone::listAbbreviations' => ['array>'], + 'DateTimeZone::listIdentifiers' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'string'], + 'Directory::close' => ['void', 'dir_handle='=>'resource'], + 'Directory::read' => ['string|false', 'dir_handle='=>'resource'], + 'Directory::rewind' => ['void', 'dir_handle='=>'resource'], + 'DirectoryIterator::__construct' => ['void', 'path'=>'string'], + 'DirectoryIterator::__toString' => ['string'], + 'DirectoryIterator::current' => ['DirectoryIterator'], + 'DirectoryIterator::getATime' => ['int'], + 'DirectoryIterator::getBasename' => ['string', 'suffix='=>'string'], + 'DirectoryIterator::getCTime' => ['int'], + 'DirectoryIterator::getExtension' => ['string'], + 'DirectoryIterator::getFileInfo' => ['SplFileInfo', 'class_name='=>'string'], + 'DirectoryIterator::getFilename' => ['string'], + 'DirectoryIterator::getGroup' => ['int'], + 'DirectoryIterator::getInode' => ['int'], + 'DirectoryIterator::getLinkTarget' => ['string'], + 'DirectoryIterator::getMTime' => ['int'], + 'DirectoryIterator::getOwner' => ['int'], + 'DirectoryIterator::getPath' => ['string'], + 'DirectoryIterator::getPathInfo' => ['SplFileInfo', 'class_name='=>'string'], + 'DirectoryIterator::getPathname' => ['string'], + 'DirectoryIterator::getPerms' => ['int'], + 'DirectoryIterator::getRealPath' => ['string'], + 'DirectoryIterator::getSize' => ['int'], + 'DirectoryIterator::getType' => ['string'], + 'DirectoryIterator::isDir' => ['bool'], + 'DirectoryIterator::isDot' => ['bool'], + 'DirectoryIterator::isExecutable' => ['bool'], + 'DirectoryIterator::isFile' => ['bool'], + 'DirectoryIterator::isLink' => ['bool'], + 'DirectoryIterator::isReadable' => ['bool'], + 'DirectoryIterator::isWritable' => ['bool'], + 'DirectoryIterator::key' => ['string'], + 'DirectoryIterator::next' => ['void'], + 'DirectoryIterator::openFile' => ['SplFileObject', 'mode='=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], + 'DirectoryIterator::rewind' => ['void'], + 'DirectoryIterator::seek' => ['void', 'position'=>'int'], + 'DirectoryIterator::setFileClass' => ['void', 'class_name='=>'string'], + 'DirectoryIterator::setInfoClass' => ['void', 'class_name='=>'string'], + 'DirectoryIterator::valid' => ['bool'], + 'DomAttribute::name' => ['string'], + 'DomAttribute::set_value' => ['bool', 'content'=>'string'], + 'DomAttribute::specified' => ['bool'], + 'DomAttribute::value' => ['string'], + 'DomXsltStylesheet::process' => ['DomDocument', 'xml_doc'=>'DOMDocument', 'xslt_params='=>'array', 'is_xpath_param='=>'bool', 'profile_filename='=>'string'], + 'DomXsltStylesheet::result_dump_file' => ['string', 'xmldoc'=>'DOMDocument', 'filename'=>'string'], + 'DomXsltStylesheet::result_dump_mem' => ['string', 'xmldoc'=>'DOMDocument'], + 'DomainException::__clone' => ['void'], + 'DomainException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'DomainException::__toString' => ['string'], + 'DomainException::__wakeup' => ['void'], + 'DomainException::getCode' => ['int'], + 'DomainException::getFile' => ['string'], + 'DomainException::getLine' => ['int'], + 'DomainException::getMessage' => ['string'], + 'DomainException::getPrevious' => ['?Throwable'], + 'DomainException::getTrace' => ['list\',args?:array}>'], + 'DomainException::getTraceAsString' => ['string'], + 'Ds\Collection::clear' => ['void'], + 'Ds\Collection::copy' => ['Ds\Collection'], + 'Ds\Collection::isEmpty' => ['bool'], + 'Ds\Collection::toArray' => ['array'], + 'Ds\Deque::__construct' => ['void', 'values='=>'mixed'], + 'Ds\Deque::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Deque::apply' => ['void', 'callback'=>'callable'], + 'Ds\Deque::capacity' => ['int'], + 'Ds\Deque::clear' => ['void'], + 'Ds\Deque::contains' => ['bool', '...values='=>'mixed'], + 'Ds\Deque::copy' => ['Ds\Deque'], + 'Ds\Deque::count' => ['int'], + 'Ds\Deque::filter' => ['Ds\Deque', 'callback='=>'callable'], + 'Ds\Deque::find' => ['mixed', 'value'=>'mixed'], + 'Ds\Deque::first' => ['mixed'], + 'Ds\Deque::get' => ['void', 'index'=>'int'], + 'Ds\Deque::insert' => ['void', 'index'=>'int', '...values='=>'mixed'], + 'Ds\Deque::isEmpty' => ['bool'], + 'Ds\Deque::join' => ['string', 'glue='=>'string'], + 'Ds\Deque::jsonSerialize' => ['array'], + 'Ds\Deque::last' => ['mixed'], + 'Ds\Deque::map' => ['Ds\Deque', 'callback'=>'callable'], + 'Ds\Deque::merge' => ['Ds\Deque', 'values'=>'mixed'], + 'Ds\Deque::pop' => ['mixed'], + 'Ds\Deque::push' => ['void', '...values='=>'mixed'], + 'Ds\Deque::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], + 'Ds\Deque::remove' => ['mixed', 'index'=>'int'], + 'Ds\Deque::reverse' => ['void'], + 'Ds\Deque::reversed' => ['Ds\Deque'], + 'Ds\Deque::rotate' => ['void', 'rotations'=>'int'], + 'Ds\Deque::set' => ['void', 'index'=>'int', 'value'=>'mixed'], + 'Ds\Deque::shift' => ['mixed'], + 'Ds\Deque::slice' => ['Ds\Deque', 'index'=>'int', 'length='=>'?int'], + 'Ds\Deque::sort' => ['void', 'comparator='=>'callable'], + 'Ds\Deque::sorted' => ['Ds\Deque', 'comparator='=>'callable'], + 'Ds\Deque::sum' => ['int|float'], + 'Ds\Deque::toArray' => ['array'], + 'Ds\Deque::unshift' => ['void', '...values='=>'mixed'], + 'Ds\Hashable::equals' => ['bool', 'object'=>'mixed'], + 'Ds\Hashable::hash' => ['mixed'], + 'Ds\Map::__construct' => ['void', 'values='=>'mixed'], + 'Ds\Map::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Map::apply' => ['void', 'callback'=>'callable'], + 'Ds\Map::capacity' => ['int'], + 'Ds\Map::clear' => ['void'], + 'Ds\Map::copy' => ['Ds\Map'], + 'Ds\Map::count' => ['int'], + 'Ds\Map::diff' => ['Ds\Map', 'map'=>'Ds\Map'], + 'Ds\Map::filter' => ['Ds\Map', 'callback='=>'callable'], + 'Ds\Map::first' => ['Ds\Pair'], + 'Ds\Map::get' => ['mixed', 'key'=>'mixed', 'default='=>'mixed'], + 'Ds\Map::hasKey' => ['bool', 'key'=>'mixed'], + 'Ds\Map::hasValue' => ['bool', 'value'=>'mixed'], + 'Ds\Map::intersect' => ['Ds\Map', 'map'=>'Ds\Map'], + 'Ds\Map::isEmpty' => ['bool'], + 'Ds\Map::jsonSerialize' => ['array'], + 'Ds\Map::keys' => ['Ds\Set'], + 'Ds\Map::ksort' => ['void', 'comparator='=>'callable'], + 'Ds\Map::ksorted' => ['Ds\Map', 'comparator='=>'callable'], + 'Ds\Map::last' => ['Ds\Pair'], + 'Ds\Map::map' => ['Ds\Map', 'callback'=>'callable'], + 'Ds\Map::merge' => ['Ds\Map', 'values'=>'mixed'], + 'Ds\Map::pairs' => ['Ds\Sequence'], + 'Ds\Map::put' => ['void', 'key'=>'mixed', 'value'=>'mixed'], + 'Ds\Map::putAll' => ['void', 'values'=>'mixed'], + 'Ds\Map::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], + 'Ds\Map::remove' => ['mixed', 'key'=>'mixed', 'default='=>'mixed'], + 'Ds\Map::reverse' => ['void'], + 'Ds\Map::reversed' => ['Ds\Map'], + 'Ds\Map::skip' => ['Ds\Pair', 'position'=>'int'], + 'Ds\Map::slice' => ['Ds\Map', 'index'=>'int', 'length='=>'?int'], + 'Ds\Map::sort' => ['void', 'comparator='=>'callable'], + 'Ds\Map::sorted' => ['Ds\Map', 'comparator='=>'callable'], + 'Ds\Map::sum' => ['int|float'], + 'Ds\Map::toArray' => ['array'], + 'Ds\Map::union' => ['Ds\Map', 'map'=>'Ds\Map'], + 'Ds\Map::values' => ['Ds\Sequence'], + 'Ds\Map::xor' => ['Ds\Map', 'map'=>'Ds\Map'], + 'Ds\Pair::__construct' => ['void', 'key='=>'mixed', 'value='=>'mixed'], + 'Ds\Pair::clear' => ['void'], + 'Ds\Pair::copy' => ['Ds\Pair'], + 'Ds\Pair::isEmpty' => ['bool'], + 'Ds\Pair::jsonSerialize' => ['array'], + 'Ds\Pair::toArray' => ['array'], + 'Ds\PriorityQueue::__construct' => ['void'], + 'Ds\PriorityQueue::allocate' => ['void', 'capacity'=>'int'], + 'Ds\PriorityQueue::capacity' => ['int'], + 'Ds\PriorityQueue::clear' => ['void'], + 'Ds\PriorityQueue::copy' => ['Ds\PriorityQueue'], + 'Ds\PriorityQueue::count' => ['int'], + 'Ds\PriorityQueue::isEmpty' => ['bool'], + 'Ds\PriorityQueue::jsonSerialize' => ['array'], + 'Ds\PriorityQueue::peek' => ['mixed'], + 'Ds\PriorityQueue::pop' => ['mixed'], + 'Ds\PriorityQueue::push' => ['void', 'value'=>'mixed', 'priority'=>'int'], + 'Ds\PriorityQueue::toArray' => ['array'], + 'Ds\Queue::__construct' => ['void', 'values='=>'mixed'], + 'Ds\Queue::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Queue::capacity' => ['int'], + 'Ds\Queue::clear' => ['void'], + 'Ds\Queue::copy' => ['Ds\Queue'], + 'Ds\Queue::count' => ['int'], + 'Ds\Queue::isEmpty' => ['bool'], + 'Ds\Queue::jsonSerialize' => ['array'], + 'Ds\Queue::peek' => ['mixed'], + 'Ds\Queue::pop' => ['mixed'], + 'Ds\Queue::push' => ['void', '...values='=>'mixed'], + 'Ds\Queue::toArray' => ['array'], + 'Ds\Sequence::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Sequence::apply' => ['void', 'callback'=>'callable'], + 'Ds\Sequence::capacity' => ['int'], + 'Ds\Sequence::contains' => ['bool', '...values='=>'mixed'], + 'Ds\Sequence::filter' => ['Ds\Sequence', 'callback='=>'callable'], + 'Ds\Sequence::find' => ['mixed', 'value'=>'mixed'], + 'Ds\Sequence::first' => ['mixed'], + 'Ds\Sequence::get' => ['mixed', 'index'=>'int'], + 'Ds\Sequence::insert' => ['void', 'index'=>'int', '...values='=>'mixed'], + 'Ds\Sequence::join' => ['string', 'glue='=>'string'], + 'Ds\Sequence::last' => ['void'], + 'Ds\Sequence::map' => ['Ds\Sequence', 'callback'=>'callable'], + 'Ds\Sequence::merge' => ['Ds\Sequence', 'values'=>'mixed'], + 'Ds\Sequence::pop' => ['mixed'], + 'Ds\Sequence::push' => ['void', '...values='=>'mixed'], + 'Ds\Sequence::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], + 'Ds\Sequence::remove' => ['mixed', 'index'=>'int'], + 'Ds\Sequence::reverse' => ['void'], + 'Ds\Sequence::reversed' => ['Ds\Sequence'], + 'Ds\Sequence::rotate' => ['void', 'rotations'=>'int'], + 'Ds\Sequence::set' => ['void', 'index'=>'int', 'value'=>'mixed'], + 'Ds\Sequence::shift' => ['mixed'], + 'Ds\Sequence::slice' => ['Ds\Sequence', 'index'=>'int', 'length='=>'?int'], + 'Ds\Sequence::sort' => ['void', 'comparator='=>'callable'], + 'Ds\Sequence::sorted' => ['Ds\Sequence', 'comparator='=>'callable'], + 'Ds\Sequence::sum' => ['int|float'], + 'Ds\Sequence::unshift' => ['void', '...values='=>'mixed'], + 'Ds\Set::__construct' => ['void', 'values='=>'mixed'], + 'Ds\Set::add' => ['void', '...values='=>'mixed'], + 'Ds\Set::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Set::capacity' => ['int'], + 'Ds\Set::clear' => ['void'], + 'Ds\Set::contains' => ['bool', '...values='=>'mixed'], + 'Ds\Set::copy' => ['Ds\Set'], + 'Ds\Set::count' => ['int'], + 'Ds\Set::diff' => ['Ds\Set', 'set'=>'Ds\Set'], + 'Ds\Set::filter' => ['Ds\Set', 'callback='=>'callable'], + 'Ds\Set::first' => ['mixed'], + 'Ds\Set::get' => ['mixed', 'index'=>'int'], + 'Ds\Set::intersect' => ['Ds\Set', 'set'=>'Ds\Set'], + 'Ds\Set::isEmpty' => ['bool'], + 'Ds\Set::join' => ['string', 'glue='=>'string'], + 'Ds\Set::jsonSerialize' => ['array'], + 'Ds\Set::last' => ['mixed'], + 'Ds\Set::merge' => ['Ds\Set', 'values'=>'mixed'], + 'Ds\Set::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], + 'Ds\Set::remove' => ['void', '...values='=>'mixed'], + 'Ds\Set::reverse' => ['void'], + 'Ds\Set::reversed' => ['Ds\Set'], + 'Ds\Set::slice' => ['Ds\Set', 'index'=>'int', 'length='=>'?int'], + 'Ds\Set::sort' => ['void', 'comparator='=>'callable'], + 'Ds\Set::sorted' => ['Ds\Set', 'comparator='=>'callable'], + 'Ds\Set::sum' => ['int|float'], + 'Ds\Set::toArray' => ['array'], + 'Ds\Set::union' => ['Ds\Set', 'set'=>'Ds\Set'], + 'Ds\Set::xor' => ['Ds\Set', 'set'=>'Ds\Set'], + 'Ds\Stack::__construct' => ['void', 'values='=>'mixed'], + 'Ds\Stack::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Stack::capacity' => ['int'], + 'Ds\Stack::clear' => ['void'], + 'Ds\Stack::copy' => ['Ds\Stack'], + 'Ds\Stack::count' => ['int'], + 'Ds\Stack::isEmpty' => ['bool'], + 'Ds\Stack::jsonSerialize' => ['array'], + 'Ds\Stack::peek' => ['mixed'], + 'Ds\Stack::pop' => ['mixed'], + 'Ds\Stack::push' => ['void', '...values='=>'mixed'], + 'Ds\Stack::toArray' => ['array'], + 'Ds\Vector::__construct' => ['void', 'values='=>'mixed'], + 'Ds\Vector::allocate' => ['void', 'capacity'=>'int'], + 'Ds\Vector::apply' => ['void', 'callback'=>'callable'], + 'Ds\Vector::capacity' => ['int'], + 'Ds\Vector::clear' => ['void'], + 'Ds\Vector::contains' => ['bool', '...values='=>'mixed'], + 'Ds\Vector::copy' => ['Ds\Vector'], + 'Ds\Vector::count' => ['int'], + 'Ds\Vector::filter' => ['Ds\Vector', 'callback='=>'callable'], + 'Ds\Vector::find' => ['mixed', 'value'=>'mixed'], + 'Ds\Vector::first' => ['mixed'], + 'Ds\Vector::get' => ['mixed', 'index'=>'int'], + 'Ds\Vector::insert' => ['void', 'index'=>'int', '...values='=>'mixed'], + 'Ds\Vector::isEmpty' => ['bool'], + 'Ds\Vector::join' => ['string', 'glue='=>'string'], + 'Ds\Vector::jsonSerialize' => ['array'], + 'Ds\Vector::last' => ['mixed'], + 'Ds\Vector::map' => ['Ds\Vector', 'callback'=>'callable'], + 'Ds\Vector::merge' => ['Ds\Vector', 'values'=>'mixed'], + 'Ds\Vector::pop' => ['mixed'], + 'Ds\Vector::push' => ['void', '...values='=>'mixed'], + 'Ds\Vector::reduce' => ['mixed', 'callback'=>'callable', 'initial='=>'mixed'], + 'Ds\Vector::remove' => ['mixed', 'index'=>'int'], + 'Ds\Vector::reverse' => ['void'], + 'Ds\Vector::reversed' => ['Ds\Vector'], + 'Ds\Vector::rotate' => ['void', 'rotations'=>'int'], + 'Ds\Vector::set' => ['void', 'index'=>'int', 'value'=>'mixed'], + 'Ds\Vector::shift' => ['mixed'], + 'Ds\Vector::slice' => ['Ds\Vector', 'index'=>'int', 'length='=>'?int'], + 'Ds\Vector::sort' => ['void', 'comparator='=>'callable'], + 'Ds\Vector::sorted' => ['Ds\Vector', 'comparator='=>'callable'], + 'Ds\Vector::sum' => ['int|float'], + 'Ds\Vector::toArray' => ['array'], + 'Ds\Vector::unshift' => ['void', '...values='=>'mixed'], + 'EmptyIterator::current' => ['never'], + 'EmptyIterator::key' => ['never'], + 'EmptyIterator::next' => ['void'], + 'EmptyIterator::rewind' => ['void'], + 'EmptyIterator::valid' => ['false'], + 'Error::__clone' => ['void'], + 'Error::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'Error::__toString' => ['string'], + 'Error::getCode' => ['int'], + 'Error::getFile' => ['string'], + 'Error::getLine' => ['int'], + 'Error::getMessage' => ['string'], + 'Error::getPrevious' => ['?Throwable'], + 'Error::getTrace' => ['list\',args?:array}>'], + 'Error::getTraceAsString' => ['string'], + 'ErrorException::__clone' => ['void'], + 'ErrorException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'severity='=>'int', 'filename='=>'string', 'line='=>'int', 'previous='=>'?Throwable'], + 'ErrorException::__toString' => ['string'], + 'ErrorException::getCode' => ['int'], + 'ErrorException::getFile' => ['string'], + 'ErrorException::getLine' => ['int'], + 'ErrorException::getMessage' => ['string'], + 'ErrorException::getPrevious' => ['?Throwable'], + 'ErrorException::getSeverity' => ['int'], + 'ErrorException::getTrace' => ['list\',args?:array}>'], + 'ErrorException::getTraceAsString' => ['string'], + 'Ev::backend' => ['int'], + 'Ev::depth' => ['int'], + 'Ev::embeddableBackends' => ['int'], + 'Ev::feedSignal' => ['void', 'signum'=>'int'], + 'Ev::feedSignalEvent' => ['void', 'signum'=>'int'], + 'Ev::iteration' => ['int'], + 'Ev::now' => ['float'], + 'Ev::nowUpdate' => ['void'], + 'Ev::recommendedBackends' => ['int'], + 'Ev::resume' => ['void'], + 'Ev::run' => ['void', 'flags='=>'int'], + 'Ev::sleep' => ['void', 'seconds'=>'float'], + 'Ev::stop' => ['void', 'how='=>'int'], + 'Ev::supportedBackends' => ['int'], + 'Ev::suspend' => ['void'], + 'Ev::time' => ['float'], + 'Ev::verify' => ['void'], + 'EvCheck::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvCheck::clear' => ['int'], + 'EvCheck::createStopped' => ['EvCheck', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvCheck::feed' => ['void', 'events'=>'int'], + 'EvCheck::getLoop' => ['EvLoop'], + 'EvCheck::invoke' => ['void', 'events'=>'int'], + 'EvCheck::keepAlive' => ['void', 'value'=>'bool'], + 'EvCheck::setCallback' => ['void', 'callback'=>'callable'], + 'EvCheck::start' => ['void'], + 'EvCheck::stop' => ['void'], + 'EvChild::__construct' => ['void', 'pid'=>'int', 'trace'=>'bool', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvChild::clear' => ['int'], + 'EvChild::createStopped' => ['EvChild', 'pid'=>'int', 'trace'=>'bool', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvChild::feed' => ['void', 'events'=>'int'], + 'EvChild::getLoop' => ['EvLoop'], + 'EvChild::invoke' => ['void', 'events'=>'int'], + 'EvChild::keepAlive' => ['void', 'value'=>'bool'], + 'EvChild::set' => ['void', 'pid'=>'int', 'trace'=>'bool'], + 'EvChild::setCallback' => ['void', 'callback'=>'callable'], + 'EvChild::start' => ['void'], + 'EvChild::stop' => ['void'], + 'EvEmbed::__construct' => ['void', 'other'=>'object', 'callback='=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvEmbed::clear' => ['int'], + 'EvEmbed::createStopped' => ['EvEmbed', 'other'=>'object', 'callback='=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvEmbed::feed' => ['void', 'events'=>'int'], + 'EvEmbed::getLoop' => ['EvLoop'], + 'EvEmbed::invoke' => ['void', 'events'=>'int'], + 'EvEmbed::keepAlive' => ['void', 'value'=>'bool'], + 'EvEmbed::set' => ['void', 'other'=>'object'], + 'EvEmbed::setCallback' => ['void', 'callback'=>'callable'], + 'EvEmbed::start' => ['void'], + 'EvEmbed::stop' => ['void'], + 'EvEmbed::sweep' => ['void'], + 'EvFork::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvFork::clear' => ['int'], + 'EvFork::createStopped' => ['EvFork', 'callback'=>'callable', 'data='=>'string', 'priority='=>'string'], + 'EvFork::feed' => ['void', 'events'=>'int'], + 'EvFork::getLoop' => ['EvLoop'], + 'EvFork::invoke' => ['void', 'events'=>'int'], + 'EvFork::keepAlive' => ['void', 'value'=>'bool'], + 'EvFork::setCallback' => ['void', 'callback'=>'callable'], + 'EvFork::start' => ['void'], + 'EvFork::stop' => ['void'], + 'EvIdle::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvIdle::clear' => ['int'], + 'EvIdle::createStopped' => ['EvIdle', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvIdle::feed' => ['void', 'events'=>'int'], + 'EvIdle::getLoop' => ['EvLoop'], + 'EvIdle::invoke' => ['void', 'events'=>'int'], + 'EvIdle::keepAlive' => ['void', 'value'=>'bool'], + 'EvIdle::setCallback' => ['void', 'callback'=>'callable'], + 'EvIdle::start' => ['void'], + 'EvIdle::stop' => ['void'], + 'EvIo::__construct' => ['void', 'fd'=>'mixed', 'events'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvIo::clear' => ['int'], + 'EvIo::createStopped' => ['EvIo', 'fd'=>'resource', 'events'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvIo::feed' => ['void', 'events'=>'int'], + 'EvIo::getLoop' => ['EvLoop'], + 'EvIo::invoke' => ['void', 'events'=>'int'], + 'EvIo::keepAlive' => ['void', 'value'=>'bool'], + 'EvIo::set' => ['void', 'fd'=>'resource', 'events'=>'int'], + 'EvIo::setCallback' => ['void', 'callback'=>'callable'], + 'EvIo::start' => ['void'], + 'EvIo::stop' => ['void'], + 'EvLoop::__construct' => ['void', 'flags='=>'int', 'data='=>'mixed', 'io_interval='=>'float', 'timeout_interval='=>'float'], + 'EvLoop::backend' => ['int'], + 'EvLoop::check' => ['EvCheck', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::child' => ['EvChild', 'pid'=>'int', 'trace'=>'bool', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::defaultLoop' => ['EvLoop', 'flags='=>'int', 'data='=>'mixed', 'io_interval='=>'float', 'timeout_interval='=>'float'], + 'EvLoop::embed' => ['EvEmbed', 'other'=>'EvLoop', 'callback='=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::fork' => ['EvFork', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::idle' => ['EvIdle', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::invokePending' => ['void'], + 'EvLoop::io' => ['EvIo', 'fd'=>'resource', 'events'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::loopFork' => ['void'], + 'EvLoop::now' => ['float'], + 'EvLoop::nowUpdate' => ['void'], + 'EvLoop::periodic' => ['EvPeriodic', 'offset'=>'float', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::prepare' => ['EvPrepare', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::resume' => ['void'], + 'EvLoop::run' => ['void', 'flags='=>'int'], + 'EvLoop::signal' => ['EvSignal', 'signum'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::stat' => ['EvStat', 'path'=>'string', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::stop' => ['void', 'how='=>'int'], + 'EvLoop::suspend' => ['void'], + 'EvLoop::timer' => ['EvTimer', 'after'=>'float', 'repeat'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvLoop::verify' => ['void'], + 'EvPeriodic::__construct' => ['void', 'offset'=>'float', 'interval'=>'string', 'reschedule_cb'=>'callable', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvPeriodic::again' => ['void'], + 'EvPeriodic::at' => ['float'], + 'EvPeriodic::clear' => ['int'], + 'EvPeriodic::createStopped' => ['EvPeriodic', 'offset'=>'float', 'interval'=>'float', 'reschedule_cb'=>'callable', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvPeriodic::feed' => ['void', 'events'=>'int'], + 'EvPeriodic::getLoop' => ['EvLoop'], + 'EvPeriodic::invoke' => ['void', 'events'=>'int'], + 'EvPeriodic::keepAlive' => ['void', 'value'=>'bool'], + 'EvPeriodic::set' => ['void', 'offset'=>'float', 'interval'=>'float'], + 'EvPeriodic::setCallback' => ['void', 'callback'=>'callable'], + 'EvPeriodic::start' => ['void'], + 'EvPeriodic::stop' => ['void'], + 'EvPrepare::__construct' => ['void', 'callback'=>'string', 'data='=>'string', 'priority='=>'string'], + 'EvPrepare::clear' => ['int'], + 'EvPrepare::createStopped' => ['EvPrepare', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvPrepare::feed' => ['void', 'events'=>'int'], + 'EvPrepare::getLoop' => ['EvLoop'], + 'EvPrepare::invoke' => ['void', 'events'=>'int'], + 'EvPrepare::keepAlive' => ['void', 'value'=>'bool'], + 'EvPrepare::setCallback' => ['void', 'callback'=>'callable'], + 'EvPrepare::start' => ['void'], + 'EvPrepare::stop' => ['void'], + 'EvSignal::__construct' => ['void', 'signum'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvSignal::clear' => ['int'], + 'EvSignal::createStopped' => ['EvSignal', 'signum'=>'int', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvSignal::feed' => ['void', 'events'=>'int'], + 'EvSignal::getLoop' => ['EvLoop'], + 'EvSignal::invoke' => ['void', 'events'=>'int'], + 'EvSignal::keepAlive' => ['void', 'value'=>'bool'], + 'EvSignal::set' => ['void', 'signum'=>'int'], + 'EvSignal::setCallback' => ['void', 'callback'=>'callable'], + 'EvSignal::start' => ['void'], + 'EvSignal::stop' => ['void'], + 'EvStat::__construct' => ['void', 'path'=>'string', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvStat::attr' => ['array'], + 'EvStat::clear' => ['int'], + 'EvStat::createStopped' => ['EvStat', 'path'=>'string', 'interval'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvStat::feed' => ['void', 'events'=>'int'], + 'EvStat::getLoop' => ['EvLoop'], + 'EvStat::invoke' => ['void', 'events'=>'int'], + 'EvStat::keepAlive' => ['void', 'value'=>'bool'], + 'EvStat::prev' => ['array'], + 'EvStat::set' => ['void', 'path'=>'string', 'interval'=>'float'], + 'EvStat::setCallback' => ['void', 'callback'=>'callable'], + 'EvStat::start' => ['void'], + 'EvStat::stat' => ['bool'], + 'EvStat::stop' => ['void'], + 'EvTimer::__construct' => ['void', 'after'=>'float', 'repeat'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvTimer::again' => ['void'], + 'EvTimer::clear' => ['int'], + 'EvTimer::createStopped' => ['EvTimer', 'after'=>'float', 'repeat'=>'float', 'callback'=>'callable', 'data='=>'mixed', 'priority='=>'int'], + 'EvTimer::feed' => ['void', 'events'=>'int'], + 'EvTimer::getLoop' => ['EvLoop'], + 'EvTimer::invoke' => ['void', 'events'=>'int'], + 'EvTimer::keepAlive' => ['void', 'value'=>'bool'], + 'EvTimer::set' => ['void', 'after'=>'float', 'repeat'=>'float'], + 'EvTimer::setCallback' => ['void', 'callback'=>'callable'], + 'EvTimer::start' => ['void'], + 'EvTimer::stop' => ['void'], + 'EvWatcher::__construct' => ['void'], + 'EvWatcher::clear' => ['int'], + 'EvWatcher::feed' => ['void', 'revents'=>'int'], + 'EvWatcher::getLoop' => ['EvLoop'], + 'EvWatcher::invoke' => ['void', 'revents'=>'int'], + 'EvWatcher::keepalive' => ['bool', 'value='=>'bool'], + 'EvWatcher::setCallback' => ['void', 'callback'=>'callable'], + 'EvWatcher::start' => ['void'], + 'EvWatcher::stop' => ['void'], + 'Event::__construct' => ['void', 'base'=>'EventBase', 'fd'=>'mixed', 'what'=>'int', 'cb'=>'callable', 'arg='=>'mixed'], + 'Event::add' => ['bool', 'timeout='=>'float'], + 'Event::addSignal' => ['bool', 'timeout='=>'float'], + 'Event::addTimer' => ['bool', 'timeout='=>'float'], + 'Event::del' => ['bool'], + 'Event::delSignal' => ['bool'], + 'Event::delTimer' => ['bool'], + 'Event::free' => ['void'], + 'Event::getSupportedMethods' => ['array'], + 'Event::pending' => ['bool', 'flags'=>'int'], + 'Event::set' => ['bool', 'base'=>'EventBase', 'fd'=>'mixed', 'what='=>'int', 'cb='=>'callable', 'arg='=>'mixed'], + 'Event::setPriority' => ['bool', 'priority'=>'int'], + 'Event::setTimer' => ['bool', 'base'=>'EventBase', 'cb'=>'callable', 'arg='=>'mixed'], + 'Event::signal' => ['Event', 'base'=>'EventBase', 'signum'=>'int', 'cb'=>'callable', 'arg='=>'mixed'], + 'Event::timer' => ['Event', 'base'=>'EventBase', 'cb'=>'callable', 'arg='=>'mixed'], + 'EventBase::__construct' => ['void', 'cfg='=>'EventConfig'], + 'EventBase::dispatch' => ['void'], + 'EventBase::exit' => ['bool', 'timeout='=>'float'], + 'EventBase::free' => ['void'], + 'EventBase::getFeatures' => ['int'], + 'EventBase::getMethod' => ['string', 'cfg='=>'EventConfig'], + 'EventBase::getTimeOfDayCached' => ['float'], + 'EventBase::gotExit' => ['bool'], + 'EventBase::gotStop' => ['bool'], + 'EventBase::loop' => ['bool', 'flags='=>'int'], + 'EventBase::priorityInit' => ['bool', 'n_priorities'=>'int'], + 'EventBase::reInit' => ['bool'], + 'EventBase::stop' => ['bool'], + 'EventBuffer::__construct' => ['void'], + 'EventBuffer::add' => ['bool', 'data'=>'string'], + 'EventBuffer::addBuffer' => ['bool', 'buf'=>'EventBuffer'], + 'EventBuffer::appendFrom' => ['int', 'buf'=>'EventBuffer', 'length'=>'int'], + 'EventBuffer::copyout' => ['int', '&w_data'=>'string', 'max_bytes'=>'int'], + 'EventBuffer::drain' => ['bool', 'length'=>'int'], + 'EventBuffer::enableLocking' => ['void'], + 'EventBuffer::expand' => ['bool', 'length'=>'int'], + 'EventBuffer::freeze' => ['bool', 'at_front'=>'bool'], + 'EventBuffer::lock' => ['void'], + 'EventBuffer::prepend' => ['bool', 'data'=>'string'], + 'EventBuffer::prependBuffer' => ['bool', 'buf'=>'EventBuffer'], + 'EventBuffer::pullup' => ['string', 'size'=>'int'], + 'EventBuffer::read' => ['string', 'max_bytes'=>'int'], + 'EventBuffer::readFrom' => ['int', 'fd'=>'mixed', 'howmuch'=>'int'], + 'EventBuffer::readLine' => ['string', 'eol_style'=>'int'], + 'EventBuffer::search' => ['mixed', 'what'=>'string', 'start='=>'int', 'end='=>'int'], + 'EventBuffer::searchEol' => ['mixed', 'start='=>'int', 'eol_style='=>'int'], + 'EventBuffer::substr' => ['string', 'start'=>'int', 'length='=>'int'], + 'EventBuffer::unfreeze' => ['bool', 'at_front'=>'bool'], + 'EventBuffer::unlock' => ['bool'], + 'EventBuffer::write' => ['int', 'fd'=>'mixed', 'howmuch='=>'int'], + 'EventBufferEvent::__construct' => ['void', 'base'=>'EventBase', 'socket='=>'mixed', 'options='=>'int', 'readcb='=>'callable', 'writecb='=>'callable', 'eventcb='=>'callable'], + 'EventBufferEvent::close' => ['void'], + 'EventBufferEvent::connect' => ['bool', 'addr'=>'string'], + 'EventBufferEvent::connectHost' => ['bool', 'dns_base'=>'EventDnsBase', 'hostname'=>'string', 'port'=>'int', 'family='=>'int'], + 'EventBufferEvent::createPair' => ['array', 'base'=>'EventBase', 'options='=>'int'], + 'EventBufferEvent::disable' => ['bool', 'events'=>'int'], + 'EventBufferEvent::enable' => ['bool', 'events'=>'int'], + 'EventBufferEvent::free' => ['void'], + 'EventBufferEvent::getDnsErrorString' => ['string'], + 'EventBufferEvent::getEnabled' => ['int'], + 'EventBufferEvent::getInput' => ['EventBuffer'], + 'EventBufferEvent::getOutput' => ['EventBuffer'], + 'EventBufferEvent::read' => ['string', 'size'=>'int'], + 'EventBufferEvent::readBuffer' => ['bool', 'buf'=>'EventBuffer'], + 'EventBufferEvent::setCallbacks' => ['void', 'readcb'=>'callable', 'writecb'=>'callable', 'eventcb'=>'callable', 'arg='=>'string'], + 'EventBufferEvent::setPriority' => ['bool', 'priority'=>'int'], + 'EventBufferEvent::setTimeouts' => ['bool', 'timeout_read'=>'float', 'timeout_write'=>'float'], + 'EventBufferEvent::setWatermark' => ['void', 'events'=>'int', 'lowmark'=>'int', 'highmark'=>'int'], + 'EventBufferEvent::sslError' => ['string'], + 'EventBufferEvent::sslFilter' => ['EventBufferEvent', 'base'=>'EventBase', 'underlying'=>'EventBufferEvent', 'ctx'=>'EventSslContext', 'state'=>'int', 'options='=>'int'], + 'EventBufferEvent::sslGetCipherInfo' => ['string'], + 'EventBufferEvent::sslGetCipherName' => ['string'], + 'EventBufferEvent::sslGetCipherVersion' => ['string'], + 'EventBufferEvent::sslGetProtocol' => ['string'], + 'EventBufferEvent::sslRenegotiate' => ['void'], + 'EventBufferEvent::sslSocket' => ['EventBufferEvent', 'base'=>'EventBase', 'socket'=>'mixed', 'ctx'=>'EventSslContext', 'state'=>'int', 'options='=>'int'], + 'EventBufferEvent::write' => ['bool', 'data'=>'string'], + 'EventBufferEvent::writeBuffer' => ['bool', 'buf'=>'EventBuffer'], + 'EventConfig::__construct' => ['void'], + 'EventConfig::avoidMethod' => ['bool', 'method'=>'string'], + 'EventConfig::requireFeatures' => ['bool', 'feature'=>'int'], + 'EventConfig::setMaxDispatchInterval' => ['void', 'max_interval'=>'int', 'max_callbacks'=>'int', 'min_priority'=>'int'], + 'EventDnsBase::__construct' => ['void', 'base'=>'EventBase', 'initialize'=>'bool'], + 'EventDnsBase::addNameserverIp' => ['bool', 'ip'=>'string'], + 'EventDnsBase::addSearch' => ['void', 'domain'=>'string'], + 'EventDnsBase::clearSearch' => ['void'], + 'EventDnsBase::countNameservers' => ['int'], + 'EventDnsBase::loadHosts' => ['bool', 'hosts'=>'string'], + 'EventDnsBase::parseResolvConf' => ['bool', 'flags'=>'int', 'filename'=>'string'], + 'EventDnsBase::setOption' => ['bool', 'option'=>'string', 'value'=>'string'], + 'EventDnsBase::setSearchNdots' => ['bool', 'ndots'=>'int'], + 'EventHttp::__construct' => ['void', 'base'=>'EventBase', 'ctx='=>'EventSslContext'], + 'EventHttp::accept' => ['bool', 'socket'=>'mixed'], + 'EventHttp::addServerAlias' => ['bool', 'alias'=>'string'], + 'EventHttp::bind' => ['void', 'address'=>'string', 'port'=>'int'], + 'EventHttp::removeServerAlias' => ['bool', 'alias'=>'string'], + 'EventHttp::setAllowedMethods' => ['void', 'methods'=>'int'], + 'EventHttp::setCallback' => ['void', 'path'=>'string', 'cb'=>'string', 'arg='=>'string'], + 'EventHttp::setDefaultCallback' => ['void', 'cb'=>'string', 'arg='=>'string'], + 'EventHttp::setMaxBodySize' => ['void', 'value'=>'int'], + 'EventHttp::setMaxHeadersSize' => ['void', 'value'=>'int'], + 'EventHttp::setTimeout' => ['void', 'value'=>'int'], + 'EventHttpConnection::__construct' => ['void', 'base'=>'EventBase', 'dns_base'=>'EventDnsBase', 'address'=>'string', 'port'=>'int', 'ctx='=>'EventSslContext'], + 'EventHttpConnection::getBase' => ['EventBase'], + 'EventHttpConnection::getPeer' => ['void', '&w_address'=>'string', '&w_port'=>'int'], + 'EventHttpConnection::makeRequest' => ['bool', 'req'=>'EventHttpRequest', 'type'=>'int', 'uri'=>'string'], + 'EventHttpConnection::setCloseCallback' => ['void', 'callback'=>'callable', 'data='=>'mixed'], + 'EventHttpConnection::setLocalAddress' => ['void', 'address'=>'string'], + 'EventHttpConnection::setLocalPort' => ['void', 'port'=>'int'], + 'EventHttpConnection::setMaxBodySize' => ['void', 'max_size'=>'string'], + 'EventHttpConnection::setMaxHeadersSize' => ['void', 'max_size'=>'string'], + 'EventHttpConnection::setRetries' => ['void', 'retries'=>'int'], + 'EventHttpConnection::setTimeout' => ['void', 'timeout'=>'int'], + 'EventHttpRequest::__construct' => ['void', 'callback'=>'callable', 'data='=>'mixed'], + 'EventHttpRequest::addHeader' => ['bool', 'key'=>'string', 'value'=>'string', 'type'=>'int'], + 'EventHttpRequest::cancel' => ['void'], + 'EventHttpRequest::clearHeaders' => ['void'], + 'EventHttpRequest::closeConnection' => ['void'], + 'EventHttpRequest::findHeader' => ['void', 'key'=>'string', 'type'=>'string'], + 'EventHttpRequest::free' => ['void'], + 'EventHttpRequest::getBufferEvent' => ['EventBufferEvent'], + 'EventHttpRequest::getCommand' => ['void'], + 'EventHttpRequest::getConnection' => ['EventHttpConnection'], + 'EventHttpRequest::getHost' => ['string'], + 'EventHttpRequest::getInputBuffer' => ['EventBuffer'], + 'EventHttpRequest::getInputHeaders' => ['array'], + 'EventHttpRequest::getOutputBuffer' => ['EventBuffer'], + 'EventHttpRequest::getOutputHeaders' => ['void'], + 'EventHttpRequest::getResponseCode' => ['int'], + 'EventHttpRequest::getUri' => ['string'], + 'EventHttpRequest::removeHeader' => ['void', 'key'=>'string', 'type'=>'string'], + 'EventHttpRequest::sendError' => ['void', 'error'=>'int', 'reason='=>'string'], + 'EventHttpRequest::sendReply' => ['void', 'code'=>'int', 'reason'=>'string', 'buf='=>'EventBuffer'], + 'EventHttpRequest::sendReplyChunk' => ['void', 'buf'=>'EventBuffer'], + 'EventHttpRequest::sendReplyEnd' => ['void'], + 'EventHttpRequest::sendReplyStart' => ['void', 'code'=>'int', 'reason'=>'string'], + 'EventListener::__construct' => ['void', 'base'=>'EventBase', 'cb'=>'callable', 'data'=>'mixed', 'flags'=>'int', 'backlog'=>'int', 'target'=>'mixed'], + 'EventListener::disable' => ['bool'], + 'EventListener::enable' => ['bool'], + 'EventListener::getBase' => ['void'], + 'EventListener::getSocketName' => ['bool', '&w_address'=>'string', '&w_port='=>'mixed'], + 'EventListener::setCallback' => ['void', 'cb'=>'callable', 'arg='=>'mixed'], + 'EventListener::setErrorCallback' => ['void', 'cb'=>'string'], + 'EventSslContext::__construct' => ['void', 'method'=>'string', 'options'=>'string'], + 'EventUtil::__construct' => ['void'], + 'EventUtil::getLastSocketErrno' => ['int', 'socket='=>'mixed'], + 'EventUtil::getLastSocketError' => ['string', 'socket='=>'mixed'], + 'EventUtil::getSocketFd' => ['int', 'socket'=>'mixed'], + 'EventUtil::getSocketName' => ['bool', 'socket'=>'mixed', '&w_address'=>'string', '&w_port='=>'mixed'], + 'EventUtil::setSocketOption' => ['bool', 'socket'=>'mixed', 'level'=>'int', 'optname'=>'int', 'optval'=>'mixed'], + 'EventUtil::sslRandPoll' => ['void'], + 'Exception::__clone' => ['void'], + 'Exception::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'Exception::__toString' => ['string'], + 'Exception::getCode' => ['int|string'], + 'Exception::getFile' => ['string'], + 'Exception::getLine' => ['int'], + 'Exception::getMessage' => ['string'], + 'Exception::getPrevious' => ['?Throwable'], + 'Exception::getTrace' => ['list\',args?:array}>'], + 'Exception::getTraceAsString' => ['string'], + 'FANNConnection::__construct' => ['void', 'from_neuron'=>'int', 'to_neuron'=>'int', 'weight'=>'float'], + 'FANNConnection::getFromNeuron' => ['int'], + 'FANNConnection::getToNeuron' => ['int'], + 'FANNConnection::getWeight' => ['void'], + 'FANNConnection::setWeight' => ['bool', 'weight'=>'float'], + 'FilesystemIterator::__construct' => ['void', 'path'=>'string', 'flags='=>'int'], + 'FilesystemIterator::__toString' => ['string'], + 'FilesystemIterator::current' => ['SplFileInfo|FilesystemIterator|string'], + 'FilesystemIterator::getATime' => ['int'], + 'FilesystemIterator::getBasename' => ['string', 'suffix='=>'string'], + 'FilesystemIterator::getCTime' => ['int'], + 'FilesystemIterator::getExtension' => ['string'], + 'FilesystemIterator::getFileInfo' => ['SplFileInfo', 'class_name='=>'string'], + 'FilesystemIterator::getFilename' => ['string'], + 'FilesystemIterator::getFlags' => ['int'], + 'FilesystemIterator::getGroup' => ['int'], + 'FilesystemIterator::getInode' => ['int'], + 'FilesystemIterator::getLinkTarget' => ['string'], + 'FilesystemIterator::getMTime' => ['int'], + 'FilesystemIterator::getOwner' => ['int'], + 'FilesystemIterator::getPath' => ['string'], + 'FilesystemIterator::getPathInfo' => ['SplFileInfo', 'class_name='=>'string'], + 'FilesystemIterator::getPathname' => ['string'], + 'FilesystemIterator::getPerms' => ['int'], + 'FilesystemIterator::getRealPath' => ['string'], + 'FilesystemIterator::getSize' => ['int'], + 'FilesystemIterator::getType' => ['string'], + 'FilesystemIterator::isDir' => ['bool'], + 'FilesystemIterator::isDot' => ['bool'], + 'FilesystemIterator::isExecutable' => ['bool'], + 'FilesystemIterator::isFile' => ['bool'], + 'FilesystemIterator::isLink' => ['bool'], + 'FilesystemIterator::isReadable' => ['bool'], + 'FilesystemIterator::isWritable' => ['bool'], + 'FilesystemIterator::key' => ['string'], + 'FilesystemIterator::next' => ['void'], + 'FilesystemIterator::openFile' => ['SplFileObject', 'mode='=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], + 'FilesystemIterator::rewind' => ['void'], + 'FilesystemIterator::seek' => ['void', 'position'=>'int'], + 'FilesystemIterator::setFileClass' => ['void', 'class_name='=>'string'], + 'FilesystemIterator::setFlags' => ['void', 'flags='=>'int'], + 'FilesystemIterator::setInfoClass' => ['void', 'class_name='=>'string'], + 'FilesystemIterator::valid' => ['bool'], + 'FilterIterator::__construct' => ['void', 'iterator'=>'Iterator'], + 'FilterIterator::accept' => ['bool'], + 'FilterIterator::current' => ['mixed'], + 'FilterIterator::getInnerIterator' => ['Iterator'], + 'FilterIterator::key' => ['mixed'], + 'FilterIterator::next' => ['void'], + 'FilterIterator::rewind' => ['void'], + 'FilterIterator::valid' => ['bool'], + 'GEOSGeometry::__toString' => ['string'], + 'GEOSGeometry::area' => ['float'], + 'GEOSGeometry::boundary' => ['GEOSGeometry'], + 'GEOSGeometry::buffer' => ['GEOSGeometry', 'dist'=>'float', 'styleArray='=>'array'], + 'GEOSGeometry::centroid' => ['GEOSGeometry'], + 'GEOSGeometry::checkValidity' => ['array{valid: bool, reason?: string, location?: GEOSGeometry}'], + 'GEOSGeometry::contains' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::convexHull' => ['GEOSGeometry'], + 'GEOSGeometry::coordinateDimension' => ['int'], + 'GEOSGeometry::coveredBy' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::covers' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::crosses' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::delaunayTriangulation' => ['GEOSGeometry', 'tolerance'=>'float', 'onlyEdges'=>'bool'], + 'GEOSGeometry::difference' => ['GEOSGeometry', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::dimension' => ['int'], + 'GEOSGeometry::disjoint' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::distance' => ['float', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::endPoint' => ['GEOSGeometry'], + 'GEOSGeometry::envelope' => ['GEOSGeometry'], + 'GEOSGeometry::equals' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::equalsExact' => ['bool', 'geom'=>'GEOSGeometry', 'tolerance'=>'float'], + 'GEOSGeometry::exteriorRing' => ['GEOSGeometry'], + 'GEOSGeometry::extractUniquePoints' => ['GEOSGeometry'], + 'GEOSGeometry::geometryN' => ['GEOSGeometry', 'num'=>'int'], + 'GEOSGeometry::getSRID' => ['int'], + 'GEOSGeometry::getX' => ['float'], + 'GEOSGeometry::getY' => ['float'], + 'GEOSGeometry::hasZ' => ['bool'], + 'GEOSGeometry::hausdorffDistance' => ['float', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::interiorRingN' => ['GEOSGeometry', 'num'=>'int'], + 'GEOSGeometry::interpolate' => ['GEOSGeometry', 'dist'=>'float', 'normalized'=>'bool'], + 'GEOSGeometry::intersection' => ['GEOSGeometry', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::intersects' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::isClosed' => ['bool'], + 'GEOSGeometry::isEmpty' => ['bool'], + 'GEOSGeometry::isRing' => ['bool'], + 'GEOSGeometry::isSimple' => ['bool'], + 'GEOSGeometry::length' => ['float'], + 'GEOSGeometry::node' => ['GEOSGeometry'], + 'GEOSGeometry::normalize' => ['GEOSGeometry'], + 'GEOSGeometry::numCoordinates' => ['int'], + 'GEOSGeometry::numGeometries' => ['int'], + 'GEOSGeometry::numInteriorRings' => ['int'], + 'GEOSGeometry::numPoints' => ['int'], + 'GEOSGeometry::offsetCurve' => ['GEOSGeometry', 'dist'=>'float', 'styleArray'=>'array'], + 'GEOSGeometry::overlaps' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::pointN' => ['GEOSGeometry', 'num'=>'int'], + 'GEOSGeometry::pointOnSurface' => ['GEOSGeometry'], + 'GEOSGeometry::project' => ['float', 'other'=>'GEOSGeometry', 'normalized'=>'bool'], + 'GEOSGeometry::relate' => ['string|bool', 'otherGeom'=>'GEOSGeometry', 'pattern'=>'string'], + 'GEOSGeometry::relateBoundaryNodeRule' => ['string', 'otherGeom'=>'GEOSGeometry', 'rule'=>'int'], + 'GEOSGeometry::setSRID' => ['void', 'srid'=>'int'], + 'GEOSGeometry::simplify' => ['GEOSGeometry', 'tolerance'=>'float', 'preserveTopology='=>'bool'], + 'GEOSGeometry::snapTo' => ['GEOSGeometry', 'geom'=>'GEOSGeometry', 'tolerance'=>'float'], + 'GEOSGeometry::startPoint' => ['GEOSGeometry'], + 'GEOSGeometry::symDifference' => ['GEOSGeometry', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::touches' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSGeometry::typeId' => ['int'], + 'GEOSGeometry::typeName' => ['string'], + 'GEOSGeometry::union' => ['GEOSGeometry', 'otherGeom='=>'GEOSGeometry'], + 'GEOSGeometry::voronoiDiagram' => ['GEOSGeometry', 'tolerance'=>'float', 'onlyEdges'=>'bool', 'extent'=>'GEOSGeometry|null'], + 'GEOSGeometry::within' => ['bool', 'geom'=>'GEOSGeometry'], + 'GEOSLineMerge' => ['array', 'geom'=>'GEOSGeometry'], + 'GEOSPolygonize' => ['array{rings: GEOSGeometry[], cut_edges?: GEOSGeometry[], dangles: GEOSGeometry[], invalid_rings: GEOSGeometry[]}', 'geom'=>'GEOSGeometry'], + 'GEOSRelateMatch' => ['bool', 'matrix'=>'string', 'pattern'=>'string'], + 'GEOSSharedPaths' => ['GEOSGeometry', 'geom1'=>'GEOSGeometry', 'geom2'=>'GEOSGeometry'], + 'GEOSVersion' => ['string'], + 'GEOSWKBReader::__construct' => ['void'], + 'GEOSWKBReader::read' => ['GEOSGeometry', 'wkb'=>'string'], + 'GEOSWKBReader::readHEX' => ['GEOSGeometry', 'wkb'=>'string'], + 'GEOSWKBWriter::__construct' => ['void'], + 'GEOSWKBWriter::getByteOrder' => ['int'], + 'GEOSWKBWriter::getIncludeSRID' => ['bool'], + 'GEOSWKBWriter::getOutputDimension' => ['int'], + 'GEOSWKBWriter::setByteOrder' => ['void', 'byteOrder'=>'int'], + 'GEOSWKBWriter::setIncludeSRID' => ['void', 'inc'=>'bool'], + 'GEOSWKBWriter::setOutputDimension' => ['void', 'dim'=>'int'], + 'GEOSWKBWriter::write' => ['string', 'geom'=>'GEOSGeometry'], + 'GEOSWKBWriter::writeHEX' => ['string', 'geom'=>'GEOSGeometry'], + 'GEOSWKTReader::__construct' => ['void'], + 'GEOSWKTReader::read' => ['GEOSGeometry', 'wkt'=>'string'], + 'GEOSWKTWriter::__construct' => ['void'], + 'GEOSWKTWriter::getOutputDimension' => ['int'], + 'GEOSWKTWriter::setOld3D' => ['void', 'val'=>'bool'], + 'GEOSWKTWriter::setOutputDimension' => ['void', 'dim'=>'int'], + 'GEOSWKTWriter::setRoundingPrecision' => ['void', 'prec'=>'int'], + 'GEOSWKTWriter::setTrim' => ['void', 'trim'=>'bool'], + 'GEOSWKTWriter::write' => ['string', 'geom'=>'GEOSGeometry'], + 'GMP::__construct' => ['void'], + 'GMP::__toString' => ['numeric-string'], + 'GearmanClient::__construct' => ['void'], + 'GearmanClient::addOptions' => ['bool', 'options'=>'int'], + 'GearmanClient::addServer' => ['bool', 'host='=>'string', 'port='=>'int'], + 'GearmanClient::addServers' => ['bool', 'servers='=>'string'], + 'GearmanClient::addTask' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], + 'GearmanClient::addTaskBackground' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], + 'GearmanClient::addTaskHigh' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], + 'GearmanClient::addTaskHighBackground' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], + 'GearmanClient::addTaskLow' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], + 'GearmanClient::addTaskLowBackground' => ['GearmanTask|false', 'function_name'=>'string', 'workload'=>'string', 'context='=>'mixed', 'unique='=>'string'], + 'GearmanClient::addTaskStatus' => ['GearmanTask', 'job_handle'=>'string', 'context='=>'string'], + 'GearmanClient::clearCallbacks' => ['bool'], + 'GearmanClient::clone' => ['GearmanClient'], + 'GearmanClient::context' => ['string'], + 'GearmanClient::data' => ['string'], + 'GearmanClient::do' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doBackground' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doHigh' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doHighBackground' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doJobHandle' => ['string'], + 'GearmanClient::doLow' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doLowBackground' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doNormal' => ['string', 'function_name'=>'string', 'workload'=>'string', 'unique='=>'string'], + 'GearmanClient::doStatus' => ['array'], + 'GearmanClient::echo' => ['bool', 'workload'=>'string'], + 'GearmanClient::error' => ['string'], + 'GearmanClient::getErrno' => ['int'], + 'GearmanClient::jobStatus' => ['array', 'job_handle'=>'string'], + 'GearmanClient::options' => [''], + 'GearmanClient::ping' => ['bool', 'workload'=>'string'], + 'GearmanClient::removeOptions' => ['bool', 'options'=>'int'], + 'GearmanClient::returnCode' => ['int'], + 'GearmanClient::runTasks' => ['bool'], + 'GearmanClient::setClientCallback' => ['void', 'callback'=>'callable'], + 'GearmanClient::setCompleteCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::setContext' => ['bool', 'context'=>'string'], + 'GearmanClient::setCreatedCallback' => ['bool', 'callback'=>'string'], + 'GearmanClient::setData' => ['bool', 'data'=>'string'], + 'GearmanClient::setDataCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::setExceptionCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::setFailCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::setOptions' => ['bool', 'options'=>'int'], + 'GearmanClient::setStatusCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::setTimeout' => ['bool', 'timeout'=>'int'], + 'GearmanClient::setWarningCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::setWorkloadCallback' => ['bool', 'callback'=>'callable'], + 'GearmanClient::timeout' => ['int'], + 'GearmanClient::wait' => [''], + 'GearmanJob::__construct' => ['void'], + 'GearmanJob::complete' => ['bool', 'result'=>'string'], + 'GearmanJob::data' => ['bool', 'data'=>'string'], + 'GearmanJob::exception' => ['bool', 'exception'=>'string'], + 'GearmanJob::fail' => ['bool'], + 'GearmanJob::functionName' => ['string'], + 'GearmanJob::handle' => ['string'], + 'GearmanJob::returnCode' => ['int'], + 'GearmanJob::sendComplete' => ['bool', 'result'=>'string'], + 'GearmanJob::sendData' => ['bool', 'data'=>'string'], + 'GearmanJob::sendException' => ['bool', 'exception'=>'string'], + 'GearmanJob::sendFail' => ['bool'], + 'GearmanJob::sendStatus' => ['bool', 'numerator'=>'int', 'denominator'=>'int'], + 'GearmanJob::sendWarning' => ['bool', 'warning'=>'string'], + 'GearmanJob::setReturn' => ['bool', 'gearman_return_t'=>'string'], + 'GearmanJob::status' => ['bool', 'numerator'=>'int', 'denominator'=>'int'], + 'GearmanJob::unique' => ['string'], + 'GearmanJob::warning' => ['bool', 'warning'=>'string'], + 'GearmanJob::workload' => ['string'], + 'GearmanJob::workloadSize' => ['int'], + 'GearmanTask::__construct' => ['void'], + 'GearmanTask::create' => ['GearmanTask'], + 'GearmanTask::data' => ['string|false'], + 'GearmanTask::dataSize' => ['int|false'], + 'GearmanTask::function' => ['string'], + 'GearmanTask::functionName' => ['string'], + 'GearmanTask::isKnown' => ['bool'], + 'GearmanTask::isRunning' => ['bool'], + 'GearmanTask::jobHandle' => ['string'], + 'GearmanTask::recvData' => ['array|false', 'data_len'=>'int'], + 'GearmanTask::returnCode' => ['int'], + 'GearmanTask::sendData' => ['int', 'data'=>'string'], + 'GearmanTask::sendWorkload' => ['int|false', 'data'=>'string'], + 'GearmanTask::taskDenominator' => ['int|false'], + 'GearmanTask::taskNumerator' => ['int|false'], + 'GearmanTask::unique' => ['string|false'], + 'GearmanTask::uuid' => ['string'], + 'GearmanWorker::__construct' => ['void'], + 'GearmanWorker::addFunction' => ['bool', 'function_name'=>'string', 'function'=>'callable', 'context='=>'mixed', 'timeout='=>'int'], + 'GearmanWorker::addOptions' => ['bool', 'option'=>'int'], + 'GearmanWorker::addServer' => ['bool', 'host='=>'string', 'port='=>'int'], + 'GearmanWorker::addServers' => ['bool', 'servers'=>'string'], + 'GearmanWorker::clone' => ['void'], + 'GearmanWorker::echo' => ['bool', 'workload'=>'string'], + 'GearmanWorker::error' => ['string'], + 'GearmanWorker::getErrno' => ['int'], + 'GearmanWorker::grabJob' => [''], + 'GearmanWorker::options' => ['int'], + 'GearmanWorker::register' => ['bool', 'function_name'=>'string', 'timeout='=>'int'], + 'GearmanWorker::removeOptions' => ['bool', 'option'=>'int'], + 'GearmanWorker::returnCode' => ['int'], + 'GearmanWorker::setId' => ['bool', 'id'=>'string'], + 'GearmanWorker::setOptions' => ['bool', 'option'=>'int'], + 'GearmanWorker::setTimeout' => ['bool', 'timeout'=>'int'], + 'GearmanWorker::timeout' => ['int'], + 'GearmanWorker::unregister' => ['bool', 'function_name'=>'string'], + 'GearmanWorker::unregisterAll' => ['bool'], + 'GearmanWorker::wait' => ['bool'], + 'GearmanWorker::work' => ['bool'], + 'Gender\Gender::__construct' => ['void', 'dsn='=>'string'], + 'Gender\Gender::connect' => ['bool', 'dsn'=>'string'], + 'Gender\Gender::country' => ['array', 'country'=>'int'], + 'Gender\Gender::get' => ['int', 'name'=>'string', 'country='=>'int'], + 'Gender\Gender::isNick' => ['array', 'name0'=>'string', 'name1'=>'string', 'country='=>'int'], + 'Gender\Gender::similarNames' => ['array', 'name'=>'string', 'country='=>'int'], + 'Generator::__wakeup' => ['void'], + 'Generator::current' => ['mixed'], + 'Generator::getReturn' => ['mixed'], + 'Generator::key' => ['mixed'], + 'Generator::next' => ['void'], + 'Generator::rewind' => ['void'], + 'Generator::send' => ['mixed', 'value'=>'mixed'], + 'Generator::throw' => ['mixed', 'exception'=>'Throwable'], + 'Generator::valid' => ['bool'], + 'GlobIterator::__construct' => ['void', 'path'=>'string', 'flags='=>'int'], + 'GlobIterator::count' => ['int'], + 'GlobIterator::current' => ['FilesystemIterator|SplFileInfo|string'], + 'GlobIterator::getATime' => ['int'], + 'GlobIterator::getBasename' => ['string', 'suffix='=>'string'], + 'GlobIterator::getCTime' => ['int'], + 'GlobIterator::getExtension' => ['string'], + 'GlobIterator::getFileInfo' => ['SplFileInfo'], + 'GlobIterator::getFilename' => ['string'], + 'GlobIterator::getFlags' => ['int'], + 'GlobIterator::getGroup' => ['int'], + 'GlobIterator::getInode' => ['int'], + 'GlobIterator::getLinkTarget' => ['string|false'], + 'GlobIterator::getMTime' => ['int'], + 'GlobIterator::getOwner' => ['int'], + 'GlobIterator::getPath' => ['string'], + 'GlobIterator::getPathInfo' => ['?SplFileInfo'], + 'GlobIterator::getPathname' => ['string'], + 'GlobIterator::getPerms' => ['int'], + 'GlobIterator::getRealPath' => ['string|false'], + 'GlobIterator::getSize' => ['int'], + 'GlobIterator::getType' => ['string|false'], + 'GlobIterator::isDir' => ['bool'], + 'GlobIterator::isDot' => ['bool'], + 'GlobIterator::isExecutable' => ['bool'], + 'GlobIterator::isFile' => ['bool'], + 'GlobIterator::isLink' => ['bool'], + 'GlobIterator::isReadable' => ['bool'], + 'GlobIterator::isWritable' => ['bool'], + 'GlobIterator::key' => ['string'], + 'GlobIterator::next' => ['void'], + 'GlobIterator::openFile' => ['SplFileObject'], + 'GlobIterator::rewind' => ['void'], + 'GlobIterator::seek' => ['void', 'position'=>'int'], + 'GlobIterator::setFileClass' => ['void'], + 'GlobIterator::setFlags' => ['void', 'flags='=>'int'], + 'GlobIterator::setInfoClass' => ['void'], + 'GlobIterator::valid' => ['bool'], + 'Gmagick::__construct' => ['void', 'filename='=>'string'], + 'Gmagick::addimage' => ['Gmagick', 'gmagick'=>'gmagick'], + 'Gmagick::addnoiseimage' => ['Gmagick', 'noise'=>'int'], + 'Gmagick::annotateimage' => ['Gmagick', 'gmagickdraw'=>'gmagickdraw', 'x'=>'float', 'y'=>'float', 'angle'=>'float', 'text'=>'string'], + 'Gmagick::blurimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], + 'Gmagick::borderimage' => ['Gmagick', 'color'=>'gmagickpixel', 'width'=>'int', 'height'=>'int'], + 'Gmagick::charcoalimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float'], + 'Gmagick::chopimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Gmagick::clear' => ['Gmagick'], + 'Gmagick::commentimage' => ['Gmagick', 'comment'=>'string'], + 'Gmagick::compositeimage' => ['Gmagick', 'source'=>'gmagick', 'compose'=>'int', 'x'=>'int', 'y'=>'int'], + 'Gmagick::cropimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Gmagick::cropthumbnailimage' => ['Gmagick', 'width'=>'int', 'height'=>'int'], + 'Gmagick::current' => ['Gmagick'], + 'Gmagick::cyclecolormapimage' => ['Gmagick', 'displace'=>'int'], + 'Gmagick::deconstructimages' => ['Gmagick'], + 'Gmagick::despeckleimage' => ['Gmagick'], + 'Gmagick::destroy' => ['bool'], + 'Gmagick::drawimage' => ['Gmagick', 'gmagickdraw'=>'gmagickdraw'], + 'Gmagick::edgeimage' => ['Gmagick', 'radius'=>'float'], + 'Gmagick::embossimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float'], + 'Gmagick::enhanceimage' => ['Gmagick'], + 'Gmagick::equalizeimage' => ['Gmagick'], + 'Gmagick::flipimage' => ['Gmagick'], + 'Gmagick::flopimage' => ['Gmagick'], + 'Gmagick::frameimage' => ['Gmagick', 'color'=>'gmagickpixel', 'width'=>'int', 'height'=>'int', 'inner_bevel'=>'int', 'outer_bevel'=>'int'], + 'Gmagick::gammaimage' => ['Gmagick', 'gamma'=>'float'], + 'Gmagick::getcopyright' => ['string'], + 'Gmagick::getfilename' => ['string'], + 'Gmagick::getimagebackgroundcolor' => ['GmagickPixel'], + 'Gmagick::getimageblueprimary' => ['array'], + 'Gmagick::getimagebordercolor' => ['GmagickPixel'], + 'Gmagick::getimagechanneldepth' => ['int', 'channel_type'=>'int'], + 'Gmagick::getimagecolors' => ['int'], + 'Gmagick::getimagecolorspace' => ['int'], + 'Gmagick::getimagecompose' => ['int'], + 'Gmagick::getimagedelay' => ['int'], + 'Gmagick::getimagedepth' => ['int'], + 'Gmagick::getimagedispose' => ['int'], + 'Gmagick::getimageextrema' => ['array'], + 'Gmagick::getimagefilename' => ['string'], + 'Gmagick::getimageformat' => ['string'], + 'Gmagick::getimagegamma' => ['float'], + 'Gmagick::getimagegreenprimary' => ['array'], + 'Gmagick::getimageheight' => ['int'], + 'Gmagick::getimagehistogram' => ['array'], + 'Gmagick::getimageindex' => ['int'], + 'Gmagick::getimageinterlacescheme' => ['int'], + 'Gmagick::getimageiterations' => ['int'], + 'Gmagick::getimagematte' => ['int'], + 'Gmagick::getimagemattecolor' => ['GmagickPixel'], + 'Gmagick::getimageprofile' => ['string', 'name'=>'string'], + 'Gmagick::getimageredprimary' => ['array'], + 'Gmagick::getimagerenderingintent' => ['int'], + 'Gmagick::getimageresolution' => ['array'], + 'Gmagick::getimagescene' => ['int'], + 'Gmagick::getimagesignature' => ['string'], + 'Gmagick::getimagetype' => ['int'], + 'Gmagick::getimageunits' => ['int'], + 'Gmagick::getimagewhitepoint' => ['array'], + 'Gmagick::getimagewidth' => ['int'], + 'Gmagick::getpackagename' => ['string'], + 'Gmagick::getquantumdepth' => ['array'], + 'Gmagick::getreleasedate' => ['string'], + 'Gmagick::getsamplingfactors' => ['array'], + 'Gmagick::getsize' => ['array'], + 'Gmagick::getversion' => ['array'], + 'Gmagick::hasnextimage' => ['bool'], + 'Gmagick::haspreviousimage' => ['bool'], + 'Gmagick::implodeimage' => ['mixed', 'radius'=>'float'], + 'Gmagick::labelimage' => ['mixed', 'label'=>'string'], + 'Gmagick::levelimage' => ['mixed', 'blackpoint'=>'float', 'gamma'=>'float', 'whitepoint'=>'float', 'channel='=>'int'], + 'Gmagick::magnifyimage' => ['mixed'], + 'Gmagick::mapimage' => ['Gmagick', 'gmagick'=>'gmagick', 'dither'=>'bool'], + 'Gmagick::medianfilterimage' => ['void', 'radius'=>'float'], + 'Gmagick::minifyimage' => ['Gmagick'], + 'Gmagick::modulateimage' => ['Gmagick', 'brightness'=>'float', 'saturation'=>'float', 'hue'=>'float'], + 'Gmagick::motionblurimage' => ['Gmagick', 'radius'=>'float', 'sigma'=>'float', 'angle'=>'float'], + 'Gmagick::newimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'background'=>'string', 'format='=>'string'], + 'Gmagick::nextimage' => ['bool'], + 'Gmagick::normalizeimage' => ['Gmagick', 'channel='=>'int'], + 'Gmagick::oilpaintimage' => ['Gmagick', 'radius'=>'float'], + 'Gmagick::previousimage' => ['bool'], + 'Gmagick::profileimage' => ['Gmagick', 'name'=>'string', 'profile'=>'string'], + 'Gmagick::quantizeimage' => ['Gmagick', 'numcolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], + 'Gmagick::quantizeimages' => ['Gmagick', 'numcolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], + 'Gmagick::queryfontmetrics' => ['array', 'draw'=>'gmagickdraw', 'text'=>'string'], + 'Gmagick::queryfonts' => ['array', 'pattern='=>'string'], + 'Gmagick::queryformats' => ['array', 'pattern='=>'string'], + 'Gmagick::radialblurimage' => ['Gmagick', 'angle'=>'float', 'channel='=>'int'], + 'Gmagick::raiseimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int', 'raise'=>'bool'], + 'Gmagick::read' => ['Gmagick', 'filename'=>'string'], + 'Gmagick::readimage' => ['Gmagick', 'filename'=>'string'], + 'Gmagick::readimageblob' => ['Gmagick', 'imagecontents'=>'string', 'filename='=>'string'], + 'Gmagick::readimagefile' => ['Gmagick', 'fp'=>'resource', 'filename='=>'string'], + 'Gmagick::reducenoiseimage' => ['Gmagick', 'radius'=>'float'], + 'Gmagick::removeimage' => ['Gmagick'], + 'Gmagick::removeimageprofile' => ['string', 'name'=>'string'], + 'Gmagick::resampleimage' => ['Gmagick', 'xresolution'=>'float', 'yresolution'=>'float', 'filter'=>'int', 'blur'=>'float'], + 'Gmagick::resizeimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'filter'=>'int', 'blur'=>'float', 'fit='=>'bool'], + 'Gmagick::rollimage' => ['Gmagick', 'x'=>'int', 'y'=>'int'], + 'Gmagick::rotateimage' => ['Gmagick', 'color'=>'mixed', 'degrees'=>'float'], + 'Gmagick::scaleimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'fit='=>'bool'], + 'Gmagick::separateimagechannel' => ['Gmagick', 'channel'=>'int'], + 'Gmagick::setCompressionQuality' => ['Gmagick', 'quality'=>'int'], + 'Gmagick::setfilename' => ['Gmagick', 'filename'=>'string'], + 'Gmagick::setimagebackgroundcolor' => ['Gmagick', 'color'=>'gmagickpixel'], + 'Gmagick::setimageblueprimary' => ['Gmagick', 'x'=>'float', 'y'=>'float'], + 'Gmagick::setimagebordercolor' => ['Gmagick', 'color'=>'gmagickpixel'], + 'Gmagick::setimagechanneldepth' => ['Gmagick', 'channel'=>'int', 'depth'=>'int'], + 'Gmagick::setimagecolorspace' => ['Gmagick', 'colorspace'=>'int'], + 'Gmagick::setimagecompose' => ['Gmagick', 'composite'=>'int'], + 'Gmagick::setimagedelay' => ['Gmagick', 'delay'=>'int'], + 'Gmagick::setimagedepth' => ['Gmagick', 'depth'=>'int'], + 'Gmagick::setimagedispose' => ['Gmagick', 'disposetype'=>'int'], + 'Gmagick::setimagefilename' => ['Gmagick', 'filename'=>'string'], + 'Gmagick::setimageformat' => ['Gmagick', 'imageformat'=>'string'], + 'Gmagick::setimagegamma' => ['Gmagick', 'gamma'=>'float'], + 'Gmagick::setimagegreenprimary' => ['Gmagick', 'x'=>'float', 'y'=>'float'], + 'Gmagick::setimageindex' => ['Gmagick', 'index'=>'int'], + 'Gmagick::setimageinterlacescheme' => ['Gmagick', 'interlace'=>'int'], + 'Gmagick::setimageiterations' => ['Gmagick', 'iterations'=>'int'], + 'Gmagick::setimageprofile' => ['Gmagick', 'name'=>'string', 'profile'=>'string'], + 'Gmagick::setimageredprimary' => ['Gmagick', 'x'=>'float', 'y'=>'float'], + 'Gmagick::setimagerenderingintent' => ['Gmagick', 'rendering_intent'=>'int'], + 'Gmagick::setimageresolution' => ['Gmagick', 'xresolution'=>'float', 'yresolution'=>'float'], + 'Gmagick::setimagescene' => ['Gmagick', 'scene'=>'int'], + 'Gmagick::setimagetype' => ['Gmagick', 'imgtype'=>'int'], + 'Gmagick::setimageunits' => ['Gmagick', 'resolution'=>'int'], + 'Gmagick::setimagewhitepoint' => ['Gmagick', 'x'=>'float', 'y'=>'float'], + 'Gmagick::setsamplingfactors' => ['Gmagick', 'factors'=>'array'], + 'Gmagick::setsize' => ['Gmagick', 'columns'=>'int', 'rows'=>'int'], + 'Gmagick::shearimage' => ['Gmagick', 'color'=>'mixed', 'xshear'=>'float', 'yshear'=>'float'], + 'Gmagick::solarizeimage' => ['Gmagick', 'threshold'=>'int'], + 'Gmagick::spreadimage' => ['Gmagick', 'radius'=>'float'], + 'Gmagick::stripimage' => ['Gmagick'], + 'Gmagick::swirlimage' => ['Gmagick', 'degrees'=>'float'], + 'Gmagick::thumbnailimage' => ['Gmagick', 'width'=>'int', 'height'=>'int', 'fit='=>'bool'], + 'Gmagick::trimimage' => ['Gmagick', 'fuzz'=>'float'], + 'Gmagick::write' => ['Gmagick', 'filename'=>'string'], + 'Gmagick::writeimage' => ['Gmagick', 'filename'=>'string', 'all_frames='=>'bool'], + 'GmagickDraw::annotate' => ['GmagickDraw', 'x'=>'float', 'y'=>'float', 'text'=>'string'], + 'GmagickDraw::arc' => ['GmagickDraw', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float', 'sd'=>'float', 'ed'=>'float'], + 'GmagickDraw::bezier' => ['GmagickDraw', 'coordinate_array'=>'array'], + 'GmagickDraw::ellipse' => ['GmagickDraw', 'ox'=>'float', 'oy'=>'float', 'rx'=>'float', 'ry'=>'float', 'start'=>'float', 'end'=>'float'], + 'GmagickDraw::getfillcolor' => ['GmagickPixel'], + 'GmagickDraw::getfillopacity' => ['float'], + 'GmagickDraw::getfont' => ['string|false'], + 'GmagickDraw::getfontsize' => ['float'], + 'GmagickDraw::getfontstyle' => ['int'], + 'GmagickDraw::getfontweight' => ['int'], + 'GmagickDraw::getstrokecolor' => ['GmagickPixel'], + 'GmagickDraw::getstrokeopacity' => ['float'], + 'GmagickDraw::getstrokewidth' => ['float'], + 'GmagickDraw::gettextdecoration' => ['int'], + 'GmagickDraw::gettextencoding' => ['string|false'], + 'GmagickDraw::line' => ['GmagickDraw', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float'], + 'GmagickDraw::point' => ['GmagickDraw', 'x'=>'float', 'y'=>'float'], + 'GmagickDraw::polygon' => ['GmagickDraw', 'coordinates'=>'array'], + 'GmagickDraw::polyline' => ['GmagickDraw', 'coordinate_array'=>'array'], + 'GmagickDraw::rectangle' => ['GmagickDraw', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float'], + 'GmagickDraw::rotate' => ['GmagickDraw', 'degrees'=>'float'], + 'GmagickDraw::roundrectangle' => ['GmagickDraw', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'rx'=>'float', 'ry'=>'float'], + 'GmagickDraw::scale' => ['GmagickDraw', 'x'=>'float', 'y'=>'float'], + 'GmagickDraw::setfillcolor' => ['GmagickDraw', 'color'=>'string'], + 'GmagickDraw::setfillopacity' => ['GmagickDraw', 'fill_opacity'=>'float'], + 'GmagickDraw::setfont' => ['GmagickDraw', 'font'=>'string'], + 'GmagickDraw::setfontsize' => ['GmagickDraw', 'pointsize'=>'float'], + 'GmagickDraw::setfontstyle' => ['GmagickDraw', 'style'=>'int'], + 'GmagickDraw::setfontweight' => ['GmagickDraw', 'weight'=>'int'], + 'GmagickDraw::setstrokecolor' => ['GmagickDraw', 'color'=>'gmagickpixel'], + 'GmagickDraw::setstrokeopacity' => ['GmagickDraw', 'stroke_opacity'=>'float'], + 'GmagickDraw::setstrokewidth' => ['GmagickDraw', 'width'=>'float'], + 'GmagickDraw::settextdecoration' => ['GmagickDraw', 'decoration'=>'int'], + 'GmagickDraw::settextencoding' => ['GmagickDraw', 'encoding'=>'string'], + 'GmagickPixel::__construct' => ['void', 'color='=>'string'], + 'GmagickPixel::getcolor' => ['mixed', 'as_array='=>'bool', 'normalize_array='=>'bool'], + 'GmagickPixel::getcolorcount' => ['int'], + 'GmagickPixel::getcolorvalue' => ['float', 'color'=>'int'], + 'GmagickPixel::setcolor' => ['GmagickPixel', 'color'=>'string'], + 'GmagickPixel::setcolorvalue' => ['GmagickPixel', 'color'=>'int', 'value'=>'float'], + 'Grpc\Call::__construct' => ['void', 'channel'=>'Grpc\Channel', 'method'=>'string', 'absolute_deadline'=>'Grpc\Timeval', 'host_override='=>'mixed'], + 'Grpc\Call::cancel' => [''], + 'Grpc\Call::getPeer' => ['string'], + 'Grpc\Call::setCredentials' => ['int', 'creds_obj'=>'Grpc\CallCredentials'], + 'Grpc\Call::startBatch' => ['object', 'batch'=>'array'], + 'Grpc\CallCredentials::createComposite' => ['Grpc\CallCredentials', 'cred1'=>'Grpc\CallCredentials', 'cred2'=>'Grpc\CallCredentials'], + 'Grpc\CallCredentials::createFromPlugin' => ['Grpc\CallCredentials', 'callback'=>'Closure'], + 'Grpc\Channel::__construct' => ['void', 'target'=>'string', 'args='=>'array'], + 'Grpc\Channel::close' => [''], + 'Grpc\Channel::getConnectivityState' => ['int', 'try_to_connect='=>'bool'], + 'Grpc\Channel::getTarget' => ['string'], + 'Grpc\Channel::watchConnectivityState' => ['bool', 'last_state'=>'int', 'deadline_obj'=>'Grpc\Timeval'], + 'Grpc\ChannelCredentials::createComposite' => ['Grpc\ChannelCredentials', 'cred1'=>'Grpc\ChannelCredentials', 'cred2'=>'Grpc\CallCredentials'], + 'Grpc\ChannelCredentials::createDefault' => ['Grpc\ChannelCredentials'], + 'Grpc\ChannelCredentials::createInsecure' => ['null'], + 'Grpc\ChannelCredentials::createSsl' => ['Grpc\ChannelCredentials', 'pem_root_certs'=>'string', 'pem_private_key='=>'string', 'pem_cert_chain='=>'string'], + 'Grpc\ChannelCredentials::setDefaultRootsPem' => ['', 'pem_roots'=>'string'], + 'Grpc\Server::__construct' => ['void', 'args'=>'array'], + 'Grpc\Server::addHttp2Port' => ['bool', 'addr'=>'string'], + 'Grpc\Server::addSecureHttp2Port' => ['bool', 'addr'=>'string', 'creds_obj'=>'Grpc\ServerCredentials'], + 'Grpc\Server::requestCall' => ['', 'tag_new'=>'int', 'tag_cancel'=>'int'], + 'Grpc\Server::start' => [''], + 'Grpc\ServerCredentials::createSsl' => ['object', 'pem_root_certs'=>'string', 'pem_private_key'=>'string', 'pem_cert_chain'=>'string'], + 'Grpc\Timeval::__construct' => ['void', 'usec'=>'int'], + 'Grpc\Timeval::add' => ['Grpc\Timeval', 'other'=>'Grpc\Timeval'], + 'Grpc\Timeval::compare' => ['int', 'a'=>'Grpc\Timeval', 'b'=>'Grpc\Timeval'], + 'Grpc\Timeval::infFuture' => ['Grpc\Timeval'], + 'Grpc\Timeval::infPast' => ['Grpc\Timeval'], + 'Grpc\Timeval::now' => ['Grpc\Timeval'], + 'Grpc\Timeval::similar' => ['bool', 'a'=>'Grpc\Timeval', 'b'=>'Grpc\Timeval', 'threshold'=>'Grpc\Timeval'], + 'Grpc\Timeval::sleepUntil' => [''], + 'Grpc\Timeval::subtract' => ['Grpc\Timeval', 'other'=>'Grpc\Timeval'], + 'Grpc\Timeval::zero' => ['Grpc\Timeval'], + 'HRTime\PerformanceCounter::getElapsedTicks' => ['int'], + 'HRTime\PerformanceCounter::getFrequency' => ['int'], + 'HRTime\PerformanceCounter::getLastElapsedTicks' => ['int'], + 'HRTime\PerformanceCounter::getTicks' => ['int'], + 'HRTime\PerformanceCounter::getTicksSince' => ['int', 'start'=>'int'], + 'HRTime\PerformanceCounter::isRunning' => ['bool'], + 'HRTime\PerformanceCounter::start' => ['void'], + 'HRTime\PerformanceCounter::stop' => ['void'], + 'HRTime\StopWatch::getElapsedTicks' => ['int'], + 'HRTime\StopWatch::getElapsedTime' => ['float', 'unit='=>'int'], + 'HRTime\StopWatch::getLastElapsedTicks' => ['int'], + 'HRTime\StopWatch::getLastElapsedTime' => ['float', 'unit='=>'int'], + 'HRTime\StopWatch::isRunning' => ['bool'], + 'HRTime\StopWatch::start' => ['void'], + 'HRTime\StopWatch::stop' => ['void'], + 'HaruAnnotation::setBorderStyle' => ['bool', 'width'=>'float', 'dash_on'=>'int', 'dash_off'=>'int'], + 'HaruAnnotation::setHighlightMode' => ['bool', 'mode'=>'int'], + 'HaruAnnotation::setIcon' => ['bool', 'icon'=>'int'], + 'HaruAnnotation::setOpened' => ['bool', 'opened'=>'bool'], + 'HaruDestination::setFit' => ['bool'], + 'HaruDestination::setFitB' => ['bool'], + 'HaruDestination::setFitBH' => ['bool', 'top'=>'float'], + 'HaruDestination::setFitBV' => ['bool', 'left'=>'float'], + 'HaruDestination::setFitH' => ['bool', 'top'=>'float'], + 'HaruDestination::setFitR' => ['bool', 'left'=>'float', 'bottom'=>'float', 'right'=>'float', 'top'=>'float'], + 'HaruDestination::setFitV' => ['bool', 'left'=>'float'], + 'HaruDestination::setXYZ' => ['bool', 'left'=>'float', 'top'=>'float', 'zoom'=>'float'], + 'HaruDoc::__construct' => ['void'], + 'HaruDoc::addPage' => ['object'], + 'HaruDoc::addPageLabel' => ['bool', 'first_page'=>'int', 'style'=>'int', 'first_num'=>'int', 'prefix='=>'string'], + 'HaruDoc::createOutline' => ['object', 'title'=>'string', 'parent_outline='=>'object', 'encoder='=>'object'], + 'HaruDoc::getCurrentEncoder' => ['object'], + 'HaruDoc::getCurrentPage' => ['object'], + 'HaruDoc::getEncoder' => ['object', 'encoding'=>'string'], + 'HaruDoc::getFont' => ['object', 'fontname'=>'string', 'encoding='=>'string'], + 'HaruDoc::getInfoAttr' => ['string', 'type'=>'int'], + 'HaruDoc::getPageLayout' => ['int'], + 'HaruDoc::getPageMode' => ['int'], + 'HaruDoc::getStreamSize' => ['int'], + 'HaruDoc::insertPage' => ['object', 'page'=>'object'], + 'HaruDoc::loadJPEG' => ['object', 'filename'=>'string'], + 'HaruDoc::loadPNG' => ['object', 'filename'=>'string', 'deferred='=>'bool'], + 'HaruDoc::loadRaw' => ['object', 'filename'=>'string', 'width'=>'int', 'height'=>'int', 'color_space'=>'int'], + 'HaruDoc::loadTTC' => ['string', 'fontfile'=>'string', 'index'=>'int', 'embed='=>'bool'], + 'HaruDoc::loadTTF' => ['string', 'fontfile'=>'string', 'embed='=>'bool'], + 'HaruDoc::loadType1' => ['string', 'afmfile'=>'string', 'pfmfile='=>'string'], + 'HaruDoc::output' => ['bool'], + 'HaruDoc::readFromStream' => ['string', 'bytes'=>'int'], + 'HaruDoc::resetError' => ['bool'], + 'HaruDoc::resetStream' => ['bool'], + 'HaruDoc::save' => ['bool', 'file'=>'string'], + 'HaruDoc::saveToStream' => ['bool'], + 'HaruDoc::setCompressionMode' => ['bool', 'mode'=>'int'], + 'HaruDoc::setCurrentEncoder' => ['bool', 'encoding'=>'string'], + 'HaruDoc::setEncryptionMode' => ['bool', 'mode'=>'int', 'key_len='=>'int'], + 'HaruDoc::setInfoAttr' => ['bool', 'type'=>'int', 'info'=>'string'], + 'HaruDoc::setInfoDateAttr' => ['bool', 'type'=>'int', 'year'=>'int', 'month'=>'int', 'day'=>'int', 'hour'=>'int', 'min'=>'int', 'sec'=>'int', 'ind'=>'string', 'off_hour'=>'int', 'off_min'=>'int'], + 'HaruDoc::setOpenAction' => ['bool', 'destination'=>'object'], + 'HaruDoc::setPageLayout' => ['bool', 'layout'=>'int'], + 'HaruDoc::setPageMode' => ['bool', 'mode'=>'int'], + 'HaruDoc::setPagesConfiguration' => ['bool', 'page_per_pages'=>'int'], + 'HaruDoc::setPassword' => ['bool', 'owner_password'=>'string', 'user_password'=>'string'], + 'HaruDoc::setPermission' => ['bool', 'permission'=>'int'], + 'HaruDoc::useCNSEncodings' => ['bool'], + 'HaruDoc::useCNSFonts' => ['bool'], + 'HaruDoc::useCNTEncodings' => ['bool'], + 'HaruDoc::useCNTFonts' => ['bool'], + 'HaruDoc::useJPEncodings' => ['bool'], + 'HaruDoc::useJPFonts' => ['bool'], + 'HaruDoc::useKREncodings' => ['bool'], + 'HaruDoc::useKRFonts' => ['bool'], + 'HaruEncoder::getByteType' => ['int', 'text'=>'string', 'index'=>'int'], + 'HaruEncoder::getType' => ['int'], + 'HaruEncoder::getUnicode' => ['int', 'character'=>'int'], + 'HaruEncoder::getWritingMode' => ['int'], + 'HaruFont::getAscent' => ['int'], + 'HaruFont::getCapHeight' => ['int'], + 'HaruFont::getDescent' => ['int'], + 'HaruFont::getEncodingName' => ['string'], + 'HaruFont::getFontName' => ['string'], + 'HaruFont::getTextWidth' => ['array', 'text'=>'string'], + 'HaruFont::getUnicodeWidth' => ['int', 'character'=>'int'], + 'HaruFont::getXHeight' => ['int'], + 'HaruFont::measureText' => ['int', 'text'=>'string', 'width'=>'float', 'font_size'=>'float', 'char_space'=>'float', 'word_space'=>'float', 'word_wrap='=>'bool'], + 'HaruImage::getBitsPerComponent' => ['int'], + 'HaruImage::getColorSpace' => ['string'], + 'HaruImage::getHeight' => ['int'], + 'HaruImage::getSize' => ['array'], + 'HaruImage::getWidth' => ['int'], + 'HaruImage::setColorMask' => ['bool', 'rmin'=>'int', 'rmax'=>'int', 'gmin'=>'int', 'gmax'=>'int', 'bmin'=>'int', 'bmax'=>'int'], + 'HaruImage::setMaskImage' => ['bool', 'mask_image'=>'object'], + 'HaruOutline::setDestination' => ['bool', 'destination'=>'object'], + 'HaruOutline::setOpened' => ['bool', 'opened'=>'bool'], + 'HaruPage::arc' => ['bool', 'x'=>'float', 'y'=>'float', 'ray'=>'float', 'ang1'=>'float', 'ang2'=>'float'], + 'HaruPage::beginText' => ['bool'], + 'HaruPage::circle' => ['bool', 'x'=>'float', 'y'=>'float', 'ray'=>'float'], + 'HaruPage::closePath' => ['bool'], + 'HaruPage::concat' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'x'=>'float', 'y'=>'float'], + 'HaruPage::createDestination' => ['object'], + 'HaruPage::createLinkAnnotation' => ['object', 'rectangle'=>'array', 'destination'=>'object'], + 'HaruPage::createTextAnnotation' => ['object', 'rectangle'=>'array', 'text'=>'string', 'encoder='=>'object'], + 'HaruPage::createURLAnnotation' => ['object', 'rectangle'=>'array', 'url'=>'string'], + 'HaruPage::curveTo' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'HaruPage::curveTo2' => ['bool', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'HaruPage::curveTo3' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'HaruPage::drawImage' => ['bool', 'image'=>'object', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], + 'HaruPage::ellipse' => ['bool', 'x'=>'float', 'y'=>'float', 'xray'=>'float', 'yray'=>'float'], + 'HaruPage::endPath' => ['bool'], + 'HaruPage::endText' => ['bool'], + 'HaruPage::eoFillStroke' => ['bool', 'close_path='=>'bool'], + 'HaruPage::eofill' => ['bool'], + 'HaruPage::fill' => ['bool'], + 'HaruPage::fillStroke' => ['bool', 'close_path='=>'bool'], + 'HaruPage::getCMYKFill' => ['array'], + 'HaruPage::getCMYKStroke' => ['array'], + 'HaruPage::getCharSpace' => ['float'], + 'HaruPage::getCurrentFont' => ['object'], + 'HaruPage::getCurrentFontSize' => ['float'], + 'HaruPage::getCurrentPos' => ['array'], + 'HaruPage::getCurrentTextPos' => ['array'], + 'HaruPage::getDash' => ['array'], + 'HaruPage::getFillingColorSpace' => ['int'], + 'HaruPage::getFlatness' => ['float'], + 'HaruPage::getGMode' => ['int'], + 'HaruPage::getGrayFill' => ['float'], + 'HaruPage::getGrayStroke' => ['float'], + 'HaruPage::getHeight' => ['float'], + 'HaruPage::getHorizontalScaling' => ['float'], + 'HaruPage::getLineCap' => ['int'], + 'HaruPage::getLineJoin' => ['int'], + 'HaruPage::getLineWidth' => ['float'], + 'HaruPage::getMiterLimit' => ['float'], + 'HaruPage::getRGBFill' => ['array'], + 'HaruPage::getRGBStroke' => ['array'], + 'HaruPage::getStrokingColorSpace' => ['int'], + 'HaruPage::getTextLeading' => ['float'], + 'HaruPage::getTextMatrix' => ['array'], + 'HaruPage::getTextRenderingMode' => ['int'], + 'HaruPage::getTextRise' => ['float'], + 'HaruPage::getTextWidth' => ['float', 'text'=>'string'], + 'HaruPage::getTransMatrix' => ['array'], + 'HaruPage::getWidth' => ['float'], + 'HaruPage::getWordSpace' => ['float'], + 'HaruPage::lineTo' => ['bool', 'x'=>'float', 'y'=>'float'], + 'HaruPage::measureText' => ['int', 'text'=>'string', 'width'=>'float', 'wordwrap='=>'bool'], + 'HaruPage::moveTextPos' => ['bool', 'x'=>'float', 'y'=>'float', 'set_leading='=>'bool'], + 'HaruPage::moveTo' => ['bool', 'x'=>'float', 'y'=>'float'], + 'HaruPage::moveToNextLine' => ['bool'], + 'HaruPage::rectangle' => ['bool', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], + 'HaruPage::setCMYKFill' => ['bool', 'c'=>'float', 'm'=>'float', 'y'=>'float', 'k'=>'float'], + 'HaruPage::setCMYKStroke' => ['bool', 'c'=>'float', 'm'=>'float', 'y'=>'float', 'k'=>'float'], + 'HaruPage::setCharSpace' => ['bool', 'char_space'=>'float'], + 'HaruPage::setDash' => ['bool', 'pattern'=>'array', 'phase'=>'int'], + 'HaruPage::setFlatness' => ['bool', 'flatness'=>'float'], + 'HaruPage::setFontAndSize' => ['bool', 'font'=>'object', 'size'=>'float'], + 'HaruPage::setGrayFill' => ['bool', 'value'=>'float'], + 'HaruPage::setGrayStroke' => ['bool', 'value'=>'float'], + 'HaruPage::setHeight' => ['bool', 'height'=>'float'], + 'HaruPage::setHorizontalScaling' => ['bool', 'scaling'=>'float'], + 'HaruPage::setLineCap' => ['bool', 'cap'=>'int'], + 'HaruPage::setLineJoin' => ['bool', 'join'=>'int'], + 'HaruPage::setLineWidth' => ['bool', 'width'=>'float'], + 'HaruPage::setMiterLimit' => ['bool', 'limit'=>'float'], + 'HaruPage::setRGBFill' => ['bool', 'r'=>'float', 'g'=>'float', 'b'=>'float'], + 'HaruPage::setRGBStroke' => ['bool', 'r'=>'float', 'g'=>'float', 'b'=>'float'], + 'HaruPage::setRotate' => ['bool', 'angle'=>'int'], + 'HaruPage::setSize' => ['bool', 'size'=>'int', 'direction'=>'int'], + 'HaruPage::setSlideShow' => ['bool', 'type'=>'int', 'disp_time'=>'float', 'trans_time'=>'float'], + 'HaruPage::setTextLeading' => ['bool', 'text_leading'=>'float'], + 'HaruPage::setTextMatrix' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'x'=>'float', 'y'=>'float'], + 'HaruPage::setTextRenderingMode' => ['bool', 'mode'=>'int'], + 'HaruPage::setTextRise' => ['bool', 'rise'=>'float'], + 'HaruPage::setWidth' => ['bool', 'width'=>'float'], + 'HaruPage::setWordSpace' => ['bool', 'word_space'=>'float'], + 'HaruPage::showText' => ['bool', 'text'=>'string'], + 'HaruPage::showTextNextLine' => ['bool', 'text'=>'string', 'word_space='=>'float', 'char_space='=>'float'], + 'HaruPage::stroke' => ['bool', 'close_path='=>'bool'], + 'HaruPage::textOut' => ['bool', 'x'=>'float', 'y'=>'float', 'text'=>'string'], + 'HaruPage::textRect' => ['bool', 'left'=>'float', 'top'=>'float', 'right'=>'float', 'bottom'=>'float', 'text'=>'string', 'align='=>'int'], + 'HttpDeflateStream::__construct' => ['void', 'flags='=>'int'], + 'HttpDeflateStream::factory' => ['HttpDeflateStream', 'flags='=>'int', 'class_name='=>'string'], + 'HttpDeflateStream::finish' => ['string', 'data='=>'string'], + 'HttpDeflateStream::flush' => ['string|false', 'data='=>'string'], + 'HttpDeflateStream::update' => ['string|false', 'data'=>'string'], + 'HttpInflateStream::__construct' => ['void', 'flags='=>'int'], + 'HttpInflateStream::factory' => ['HttpInflateStream', 'flags='=>'int', 'class_name='=>'string'], + 'HttpInflateStream::finish' => ['string', 'data='=>'string'], + 'HttpInflateStream::flush' => ['string|false', 'data='=>'string'], + 'HttpInflateStream::update' => ['string|false', 'data'=>'string'], + 'HttpMessage::__construct' => ['void', 'message='=>'string'], + 'HttpMessage::__toString' => ['string'], + 'HttpMessage::addHeaders' => ['void', 'headers'=>'array', 'append='=>'bool'], + 'HttpMessage::count' => ['int'], + 'HttpMessage::current' => ['mixed'], + 'HttpMessage::detach' => ['HttpMessage'], + 'HttpMessage::factory' => ['?HttpMessage', 'raw_message='=>'string', 'class_name='=>'string'], + 'HttpMessage::fromEnv' => ['?HttpMessage', 'message_type'=>'int', 'class_name='=>'string'], + 'HttpMessage::fromString' => ['?HttpMessage', 'raw_message='=>'string', 'class_name='=>'string'], + 'HttpMessage::getBody' => ['string'], + 'HttpMessage::getHeader' => ['?string', 'header'=>'string'], + 'HttpMessage::getHeaders' => ['array'], + 'HttpMessage::getHttpVersion' => ['string'], + 'HttpMessage::getInfo' => [''], + 'HttpMessage::getParentMessage' => ['HttpMessage'], + 'HttpMessage::getRequestMethod' => ['string|false'], + 'HttpMessage::getRequestUrl' => ['string|false'], + 'HttpMessage::getResponseCode' => ['int'], + 'HttpMessage::getResponseStatus' => ['string'], + 'HttpMessage::getType' => ['int'], + 'HttpMessage::guessContentType' => ['string|false', 'magic_file'=>'string', 'magic_mode='=>'int'], + 'HttpMessage::key' => ['int|string'], + 'HttpMessage::next' => ['void'], + 'HttpMessage::prepend' => ['void', 'message'=>'HttpMessage', 'top='=>'bool'], + 'HttpMessage::reverse' => ['HttpMessage'], + 'HttpMessage::rewind' => ['void'], + 'HttpMessage::send' => ['bool'], + 'HttpMessage::serialize' => ['string'], + 'HttpMessage::setBody' => ['void', 'body'=>'string'], + 'HttpMessage::setHeaders' => ['void', 'headers'=>'array'], + 'HttpMessage::setHttpVersion' => ['bool', 'version'=>'string'], + 'HttpMessage::setInfo' => ['', 'http_info'=>''], + 'HttpMessage::setRequestMethod' => ['bool', 'method'=>'string'], + 'HttpMessage::setRequestUrl' => ['bool', 'url'=>'string'], + 'HttpMessage::setResponseCode' => ['bool', 'code'=>'int'], + 'HttpMessage::setResponseStatus' => ['bool', 'status'=>'string'], + 'HttpMessage::setType' => ['void', 'type'=>'int'], + 'HttpMessage::toMessageTypeObject' => ['HttpRequest|HttpResponse|null'], + 'HttpMessage::toString' => ['string', 'include_parent='=>'bool'], + 'HttpMessage::unserialize' => ['void', 'serialized'=>'string'], + 'HttpMessage::valid' => ['bool'], + 'HttpQueryString::__construct' => ['void', 'global='=>'bool', 'add='=>'mixed'], + 'HttpQueryString::__toString' => ['string'], + 'HttpQueryString::factory' => ['', 'global'=>'', 'params'=>'', 'class_name'=>''], + 'HttpQueryString::get' => ['mixed', 'key='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], + 'HttpQueryString::getArray' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], + 'HttpQueryString::getBool' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], + 'HttpQueryString::getFloat' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], + 'HttpQueryString::getInt' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], + 'HttpQueryString::getObject' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], + 'HttpQueryString::getString' => ['', 'name'=>'', 'defval'=>'', 'delete'=>''], + 'HttpQueryString::mod' => ['HttpQueryString', 'params'=>'mixed'], + 'HttpQueryString::offsetExists' => ['bool', 'offset'=>'mixed'], + 'HttpQueryString::offsetGet' => ['mixed', 'offset'=>'mixed'], + 'HttpQueryString::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], + 'HttpQueryString::offsetUnset' => ['void', 'offset'=>'mixed'], + 'HttpQueryString::serialize' => ['string'], + 'HttpQueryString::set' => ['string', 'params'=>'mixed'], + 'HttpQueryString::singleton' => ['HttpQueryString', 'global='=>'bool'], + 'HttpQueryString::toArray' => ['array'], + 'HttpQueryString::toString' => ['string'], + 'HttpQueryString::unserialize' => ['void', 'serialized'=>'string'], + 'HttpQueryString::xlate' => ['bool', 'ie'=>'string', 'oe'=>'string'], + 'HttpRequest::__construct' => ['void', 'url='=>'string', 'request_method='=>'int', 'options='=>'array'], + 'HttpRequest::addBody' => ['', 'request_body_data'=>''], + 'HttpRequest::addCookies' => ['bool', 'cookies'=>'array'], + 'HttpRequest::addHeaders' => ['bool', 'headers'=>'array'], + 'HttpRequest::addPostFields' => ['bool', 'post_data'=>'array'], + 'HttpRequest::addPostFile' => ['bool', 'name'=>'string', 'file'=>'string', 'content_type='=>'string'], + 'HttpRequest::addPutData' => ['bool', 'put_data'=>'string'], + 'HttpRequest::addQueryData' => ['bool', 'query_params'=>'array'], + 'HttpRequest::addRawPostData' => ['bool', 'raw_post_data'=>'string'], + 'HttpRequest::addSslOptions' => ['bool', 'options'=>'array'], + 'HttpRequest::clearHistory' => ['void'], + 'HttpRequest::enableCookies' => ['bool'], + 'HttpRequest::encodeBody' => ['', 'fields'=>'', 'files'=>''], + 'HttpRequest::factory' => ['', 'url'=>'', 'method'=>'', 'options'=>'', 'class_name'=>''], + 'HttpRequest::flushCookies' => [''], + 'HttpRequest::get' => ['', 'url'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::getBody' => [''], + 'HttpRequest::getContentType' => ['string'], + 'HttpRequest::getCookies' => ['array'], + 'HttpRequest::getHeaders' => ['array'], + 'HttpRequest::getHistory' => ['HttpMessage'], + 'HttpRequest::getMethod' => ['int'], + 'HttpRequest::getOptions' => ['array'], + 'HttpRequest::getPostFields' => ['array'], + 'HttpRequest::getPostFiles' => ['array'], + 'HttpRequest::getPutData' => ['string'], + 'HttpRequest::getPutFile' => ['string'], + 'HttpRequest::getQueryData' => ['string'], + 'HttpRequest::getRawPostData' => ['string'], + 'HttpRequest::getRawRequestMessage' => ['string'], + 'HttpRequest::getRawResponseMessage' => ['string'], + 'HttpRequest::getRequestMessage' => ['HttpMessage'], + 'HttpRequest::getResponseBody' => ['string'], + 'HttpRequest::getResponseCode' => ['int'], + 'HttpRequest::getResponseCookies' => ['stdClass[]', 'flags='=>'int', 'allowed_extras='=>'array'], + 'HttpRequest::getResponseData' => ['array'], + 'HttpRequest::getResponseHeader' => ['mixed', 'name='=>'string'], + 'HttpRequest::getResponseInfo' => ['mixed', 'name='=>'string'], + 'HttpRequest::getResponseMessage' => ['HttpMessage'], + 'HttpRequest::getResponseStatus' => ['string'], + 'HttpRequest::getSslOptions' => ['array'], + 'HttpRequest::getUrl' => ['string'], + 'HttpRequest::head' => ['', 'url'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::methodExists' => ['', 'method'=>''], + 'HttpRequest::methodName' => ['', 'method_id'=>''], + 'HttpRequest::methodRegister' => ['', 'method_name'=>''], + 'HttpRequest::methodUnregister' => ['', 'method'=>''], + 'HttpRequest::postData' => ['', 'url'=>'', 'data'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::postFields' => ['', 'url'=>'', 'data'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::putData' => ['', 'url'=>'', 'data'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::putFile' => ['', 'url'=>'', 'file'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::putStream' => ['', 'url'=>'', 'stream'=>'', 'options'=>'', '&info'=>''], + 'HttpRequest::resetCookies' => ['bool', 'session_only='=>'bool'], + 'HttpRequest::send' => ['HttpMessage'], + 'HttpRequest::setBody' => ['bool', 'request_body_data='=>'string'], + 'HttpRequest::setContentType' => ['bool', 'content_type'=>'string'], + 'HttpRequest::setCookies' => ['bool', 'cookies='=>'array'], + 'HttpRequest::setHeaders' => ['bool', 'headers='=>'array'], + 'HttpRequest::setMethod' => ['bool', 'request_method'=>'int'], + 'HttpRequest::setOptions' => ['bool', 'options='=>'array'], + 'HttpRequest::setPostFields' => ['bool', 'post_data'=>'array'], + 'HttpRequest::setPostFiles' => ['bool', 'post_files'=>'array'], + 'HttpRequest::setPutData' => ['bool', 'put_data='=>'string'], + 'HttpRequest::setPutFile' => ['bool', 'file='=>'string'], + 'HttpRequest::setQueryData' => ['bool', 'query_data'=>'mixed'], + 'HttpRequest::setRawPostData' => ['bool', 'raw_post_data='=>'string'], + 'HttpRequest::setSslOptions' => ['bool', 'options='=>'array'], + 'HttpRequest::setUrl' => ['bool', 'url'=>'string'], + 'HttpRequestDataShare::__construct' => ['void'], + 'HttpRequestDataShare::__destruct' => ['void'], + 'HttpRequestDataShare::attach' => ['', 'request'=>'HttpRequest'], + 'HttpRequestDataShare::count' => ['int'], + 'HttpRequestDataShare::detach' => ['', 'request'=>'HttpRequest'], + 'HttpRequestDataShare::factory' => ['', 'global'=>'', 'class_name'=>''], + 'HttpRequestDataShare::reset' => [''], + 'HttpRequestDataShare::singleton' => ['', 'global'=>''], + 'HttpRequestPool::__construct' => ['void', 'request='=>'HttpRequest'], + 'HttpRequestPool::__destruct' => ['void'], + 'HttpRequestPool::attach' => ['bool', 'request'=>'HttpRequest'], + 'HttpRequestPool::count' => ['int'], + 'HttpRequestPool::current' => ['mixed'], + 'HttpRequestPool::detach' => ['bool', 'request'=>'HttpRequest'], + 'HttpRequestPool::enableEvents' => ['', 'enable'=>''], + 'HttpRequestPool::enablePipelining' => ['', 'enable'=>''], + 'HttpRequestPool::getAttachedRequests' => ['array'], + 'HttpRequestPool::getFinishedRequests' => ['array'], + 'HttpRequestPool::key' => ['int|string'], + 'HttpRequestPool::next' => ['void'], + 'HttpRequestPool::reset' => ['void'], + 'HttpRequestPool::rewind' => ['void'], + 'HttpRequestPool::send' => ['bool'], + 'HttpRequestPool::socketPerform' => ['bool'], + 'HttpRequestPool::socketSelect' => ['bool', 'timeout='=>'float'], + 'HttpRequestPool::valid' => ['bool'], + 'HttpResponse::capture' => ['void'], + 'HttpResponse::getBufferSize' => ['int'], + 'HttpResponse::getCache' => ['bool'], + 'HttpResponse::getCacheControl' => ['string'], + 'HttpResponse::getContentDisposition' => ['string'], + 'HttpResponse::getContentType' => ['string'], + 'HttpResponse::getData' => ['string'], + 'HttpResponse::getETag' => ['string'], + 'HttpResponse::getFile' => ['string'], + 'HttpResponse::getGzip' => ['bool'], + 'HttpResponse::getHeader' => ['mixed', 'name='=>'string'], + 'HttpResponse::getLastModified' => ['int'], + 'HttpResponse::getRequestBody' => ['string'], + 'HttpResponse::getRequestBodyStream' => ['resource'], + 'HttpResponse::getRequestHeaders' => ['array'], + 'HttpResponse::getStream' => ['resource'], + 'HttpResponse::getThrottleDelay' => ['float'], + 'HttpResponse::guessContentType' => ['string|false', 'magic_file'=>'string', 'magic_mode='=>'int'], + 'HttpResponse::redirect' => ['void', 'url='=>'string', 'params='=>'array', 'session='=>'bool', 'status='=>'int'], + 'HttpResponse::send' => ['bool', 'clean_ob='=>'bool'], + 'HttpResponse::setBufferSize' => ['bool', 'bytes'=>'int'], + 'HttpResponse::setCache' => ['bool', 'cache'=>'bool'], + 'HttpResponse::setCacheControl' => ['bool', 'control'=>'string', 'max_age='=>'int', 'must_revalidate='=>'bool'], + 'HttpResponse::setContentDisposition' => ['bool', 'filename'=>'string', 'inline='=>'bool'], + 'HttpResponse::setContentType' => ['bool', 'content_type'=>'string'], + 'HttpResponse::setData' => ['bool', 'data'=>'mixed'], + 'HttpResponse::setETag' => ['bool', 'etag'=>'string'], + 'HttpResponse::setFile' => ['bool', 'file'=>'string'], + 'HttpResponse::setGzip' => ['bool', 'gzip'=>'bool'], + 'HttpResponse::setHeader' => ['bool', 'name'=>'string', 'value='=>'mixed', 'replace='=>'bool'], + 'HttpResponse::setLastModified' => ['bool', 'timestamp'=>'int'], + 'HttpResponse::setStream' => ['bool', 'stream'=>'resource'], + 'HttpResponse::setThrottleDelay' => ['bool', 'seconds'=>'float'], + 'HttpResponse::status' => ['bool', 'status'=>'int'], + 'HttpUtil::buildCookie' => ['', 'cookie_array'=>''], + 'HttpUtil::buildStr' => ['', 'query'=>'', 'prefix'=>'', 'arg_sep'=>''], + 'HttpUtil::buildUrl' => ['', 'url'=>'', 'parts'=>'', 'flags'=>'', '&composed'=>''], + 'HttpUtil::chunkedDecode' => ['', 'encoded_string'=>''], + 'HttpUtil::date' => ['', 'timestamp'=>''], + 'HttpUtil::deflate' => ['', 'plain'=>'', 'flags'=>''], + 'HttpUtil::inflate' => ['', 'encoded'=>''], + 'HttpUtil::matchEtag' => ['', 'plain_etag'=>'', 'for_range'=>''], + 'HttpUtil::matchModified' => ['', 'last_modified'=>'', 'for_range'=>''], + 'HttpUtil::matchRequestHeader' => ['', 'header_name'=>'', 'header_value'=>'', 'case_sensitive'=>''], + 'HttpUtil::negotiateCharset' => ['', 'supported'=>'', '&result'=>''], + 'HttpUtil::negotiateContentType' => ['', 'supported'=>'', '&result'=>''], + 'HttpUtil::negotiateLanguage' => ['', 'supported'=>'', '&result'=>''], + 'HttpUtil::parseCookie' => ['', 'cookie_string'=>''], + 'HttpUtil::parseHeaders' => ['', 'headers_string'=>''], + 'HttpUtil::parseMessage' => ['', 'message_string'=>''], + 'HttpUtil::parseParams' => ['', 'param_string'=>'', 'flags'=>''], + 'HttpUtil::support' => ['', 'feature'=>''], + 'Imagick::__construct' => ['void', 'files='=>'string|string[]'], + 'Imagick::__toString' => ['string'], + 'Imagick::adaptiveBlurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], + 'Imagick::adaptiveResizeImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'bestfit='=>'bool'], + 'Imagick::adaptiveSharpenImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], + 'Imagick::adaptiveThresholdImage' => ['bool', 'width'=>'int', 'height'=>'int', 'offset'=>'int'], + 'Imagick::addImage' => ['bool', 'source'=>'Imagick'], + 'Imagick::addNoiseImage' => ['bool', 'noise_type'=>'int', 'channel='=>'int'], + 'Imagick::affineTransformImage' => ['bool', 'matrix'=>'ImagickDraw'], + 'Imagick::animateImages' => ['bool', 'x_server'=>'string'], + 'Imagick::annotateImage' => ['bool', 'draw_settings'=>'ImagickDraw', 'x'=>'float', 'y'=>'float', 'angle'=>'float', 'text'=>'string'], + 'Imagick::appendImages' => ['Imagick', 'stack'=>'bool'], + 'Imagick::autoGammaImage' => ['bool', 'channel='=>'int'], + 'Imagick::autoLevelImage' => ['void', 'CHANNEL='=>'string'], + 'Imagick::autoOrient' => ['bool'], + 'Imagick::averageImages' => ['Imagick'], + 'Imagick::blackThresholdImage' => ['bool', 'threshold'=>'mixed'], + 'Imagick::blueShiftImage' => ['void', 'factor='=>'float'], + 'Imagick::blurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], + 'Imagick::borderImage' => ['bool', 'bordercolor'=>'mixed', 'width'=>'int', 'height'=>'int'], + 'Imagick::brightnessContrastImage' => ['void', 'brightness'=>'string', 'contrast'=>'string', 'CHANNEL='=>'string'], + 'Imagick::charcoalImage' => ['bool', 'radius'=>'float', 'sigma'=>'float'], + 'Imagick::chopImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::clampImage' => ['void', 'CHANNEL='=>'string'], + 'Imagick::clear' => ['bool'], + 'Imagick::clipImage' => ['bool'], + 'Imagick::clipImagePath' => ['void', 'pathname'=>'string', 'inside'=>'string'], + 'Imagick::clipPathImage' => ['bool', 'pathname'=>'string', 'inside'=>'bool'], + 'Imagick::clone' => ['Imagick'], + 'Imagick::clutImage' => ['bool', 'lookup_table'=>'Imagick', 'channel='=>'float'], + 'Imagick::coalesceImages' => ['Imagick'], + 'Imagick::colorFloodfillImage' => ['bool', 'fill'=>'mixed', 'fuzz'=>'float', 'bordercolor'=>'mixed', 'x'=>'int', 'y'=>'int'], + 'Imagick::colorMatrixImage' => ['void', 'color_matrix'=>'string'], + 'Imagick::colorizeImage' => ['bool', 'colorize'=>'mixed', 'opacity'=>'mixed'], + 'Imagick::combineImages' => ['Imagick', 'channeltype'=>'int'], + 'Imagick::commentImage' => ['bool', 'comment'=>'string'], + 'Imagick::compareImageChannels' => ['array{Imagick, float}', 'image'=>'Imagick', 'channeltype'=>'int', 'metrictype'=>'int'], + 'Imagick::compareImageLayers' => ['Imagick', 'method'=>'int'], + 'Imagick::compareImages' => ['array{Imagick, float}', 'compare'=>'Imagick', 'metric'=>'int'], + 'Imagick::compositeImage' => ['bool', 'composite_object'=>'Imagick', 'composite'=>'int', 'x'=>'int', 'y'=>'int', 'channel='=>'int'], + 'Imagick::compositeImageGravity' => ['bool', 'Imagick'=>'Imagick', 'COMPOSITE_CONSTANT'=>'int', 'GRAVITY_CONSTANT'=>'int'], + 'Imagick::contrastImage' => ['bool', 'sharpen'=>'bool'], + 'Imagick::contrastStretchImage' => ['bool', 'black_point'=>'float', 'white_point'=>'float', 'channel='=>'int'], + 'Imagick::convolveImage' => ['bool', 'kernel'=>'array', 'channel='=>'int'], + 'Imagick::count' => ['void', 'mode='=>'string'], + 'Imagick::cropImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::cropThumbnailImage' => ['bool', 'width'=>'int', 'height'=>'int', 'legacy='=>'bool'], + 'Imagick::current' => ['Imagick'], + 'Imagick::cycleColormapImage' => ['bool', 'displace'=>'int'], + 'Imagick::decipherImage' => ['bool', 'passphrase'=>'string'], + 'Imagick::deconstructImages' => ['Imagick'], + 'Imagick::deleteImageArtifact' => ['bool', 'artifact'=>'string'], + 'Imagick::deleteImageProperty' => ['void', 'name'=>'string'], + 'Imagick::deskewImage' => ['bool', 'threshold'=>'float'], + 'Imagick::despeckleImage' => ['bool'], + 'Imagick::destroy' => ['bool'], + 'Imagick::displayImage' => ['bool', 'servername'=>'string'], + 'Imagick::displayImages' => ['bool', 'servername'=>'string'], + 'Imagick::distortImage' => ['bool', 'method'=>'int', 'arguments'=>'array', 'bestfit'=>'bool'], + 'Imagick::drawImage' => ['bool', 'draw'=>'ImagickDraw'], + 'Imagick::edgeImage' => ['bool', 'radius'=>'float'], + 'Imagick::embossImage' => ['bool', 'radius'=>'float', 'sigma'=>'float'], + 'Imagick::encipherImage' => ['bool', 'passphrase'=>'string'], + 'Imagick::enhanceImage' => ['bool'], + 'Imagick::equalizeImage' => ['bool'], + 'Imagick::evaluateImage' => ['bool', 'op'=>'int', 'constant'=>'float', 'channel='=>'int'], + 'Imagick::evaluateImages' => ['bool', 'EVALUATE_CONSTANT'=>'int'], + 'Imagick::exportImagePixels' => ['list', 'x'=>'int', 'y'=>'int', 'width'=>'int', 'height'=>'int', 'map'=>'string', 'storage'=>'int'], + 'Imagick::extentImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::filter' => ['void', 'ImagickKernel'=>'ImagickKernel', 'CHANNEL='=>'int'], + 'Imagick::flattenImages' => ['Imagick'], + 'Imagick::flipImage' => ['bool'], + 'Imagick::floodFillPaintImage' => ['bool', 'fill'=>'mixed', 'fuzz'=>'float', 'target'=>'mixed', 'x'=>'int', 'y'=>'int', 'invert'=>'bool', 'channel='=>'int'], + 'Imagick::flopImage' => ['bool'], + 'Imagick::forwardFourierTransformimage' => ['void', 'magnitude'=>'bool'], + 'Imagick::frameImage' => ['bool', 'matte_color'=>'mixed', 'width'=>'int', 'height'=>'int', 'inner_bevel'=>'int', 'outer_bevel'=>'int'], + 'Imagick::functionImage' => ['bool', 'function'=>'int', 'arguments'=>'array', 'channel='=>'int'], + 'Imagick::fxImage' => ['Imagick', 'expression'=>'string', 'channel='=>'int'], + 'Imagick::gammaImage' => ['bool', 'gamma'=>'float', 'channel='=>'int'], + 'Imagick::gaussianBlurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], + 'Imagick::getColorspace' => ['int'], + 'Imagick::getCompression' => ['int'], + 'Imagick::getCompressionQuality' => ['int'], + 'Imagick::getConfigureOptions' => ['string'], + 'Imagick::getCopyright' => ['string'], + 'Imagick::getFeatures' => ['string'], + 'Imagick::getFilename' => ['string'], + 'Imagick::getFont' => ['string|false'], + 'Imagick::getFormat' => ['string'], + 'Imagick::getGravity' => ['int'], + 'Imagick::getHDRIEnabled' => ['int'], + 'Imagick::getHomeURL' => ['string'], + 'Imagick::getImage' => ['Imagick'], + 'Imagick::getImageAlphaChannel' => ['int'], + 'Imagick::getImageArtifact' => ['string', 'artifact'=>'string'], + 'Imagick::getImageAttribute' => ['string', 'key'=>'string'], + 'Imagick::getImageBackgroundColor' => ['ImagickPixel'], + 'Imagick::getImageBlob' => ['string'], + 'Imagick::getImageBluePrimary' => ['array{x:float, y:float}'], + 'Imagick::getImageBorderColor' => ['ImagickPixel'], + 'Imagick::getImageChannelDepth' => ['int', 'channel'=>'int'], + 'Imagick::getImageChannelDistortion' => ['float', 'reference'=>'Imagick', 'channel'=>'int', 'metric'=>'int'], + 'Imagick::getImageChannelDistortions' => ['float', 'reference'=>'Imagick', 'metric'=>'int', 'channel='=>'int'], + 'Imagick::getImageChannelExtrema' => ['array{minima:int, maxima:int}', 'channel'=>'int'], + 'Imagick::getImageChannelKurtosis' => ['array{kurtosis:float, skewness:float}', 'channel='=>'int'], + 'Imagick::getImageChannelMean' => ['array{mean:float, standardDeviation:float}', 'channel'=>'int'], + 'Imagick::getImageChannelRange' => ['array{minima:float, maxima:float}', 'channel'=>'int'], + 'Imagick::getImageChannelStatistics' => ['array'], + 'Imagick::getImageClipMask' => ['Imagick'], + 'Imagick::getImageColormapColor' => ['ImagickPixel', 'index'=>'int'], + 'Imagick::getImageColors' => ['int'], + 'Imagick::getImageColorspace' => ['int'], + 'Imagick::getImageCompose' => ['int'], + 'Imagick::getImageCompression' => ['int'], + 'Imagick::getImageCompressionQuality' => ['int'], + 'Imagick::getImageDelay' => ['int'], + 'Imagick::getImageDepth' => ['int'], + 'Imagick::getImageDispose' => ['int'], + 'Imagick::getImageDistortion' => ['float', 'reference'=>'magickwand', 'metric'=>'int'], + 'Imagick::getImageExtrema' => ['array{min:int, max:int}'], + 'Imagick::getImageFilename' => ['string'], + 'Imagick::getImageFormat' => ['string'], + 'Imagick::getImageGamma' => ['float'], + 'Imagick::getImageGeometry' => ['array{width:int, height:int}'], + 'Imagick::getImageGravity' => ['int'], + 'Imagick::getImageGreenPrimary' => ['array{x:float, y:float}'], + 'Imagick::getImageHeight' => ['int'], + 'Imagick::getImageHistogram' => ['list'], + 'Imagick::getImageIndex' => ['int'], + 'Imagick::getImageInterlaceScheme' => ['int'], + 'Imagick::getImageInterpolateMethod' => ['int'], + 'Imagick::getImageIterations' => ['int'], + 'Imagick::getImageLength' => ['int'], + 'Imagick::getImageMagickLicense' => ['string'], + 'Imagick::getImageMatte' => ['bool'], + 'Imagick::getImageMatteColor' => ['ImagickPixel'], + 'Imagick::getImageMimeType' => ['string'], + 'Imagick::getImageOrientation' => ['int'], + 'Imagick::getImagePage' => ['array{width:int, height:int, x:int, y:int}'], + 'Imagick::getImagePixelColor' => ['ImagickPixel', 'x'=>'int', 'y'=>'int'], + 'Imagick::getImageProfile' => ['string', 'name'=>'string'], + 'Imagick::getImageProfiles' => ['array', 'pattern='=>'string', 'only_names='=>'bool'], + 'Imagick::getImageProperties' => ['array', 'pattern='=>'string', 'only_names='=>'bool'], + 'Imagick::getImageProperty' => ['string|false', 'name'=>'string'], + 'Imagick::getImageRedPrimary' => ['array{x:float, y:float}'], + 'Imagick::getImageRegion' => ['Imagick', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::getImageRenderingIntent' => ['int'], + 'Imagick::getImageResolution' => ['array{x:float, y:float}'], + 'Imagick::getImageScene' => ['int'], + 'Imagick::getImageSignature' => ['string'], + 'Imagick::getImageSize' => ['int'], + 'Imagick::getImageTicksPerSecond' => ['int'], + 'Imagick::getImageTotalInkDensity' => ['float'], + 'Imagick::getImageType' => ['int'], + 'Imagick::getImageUnits' => ['int'], + 'Imagick::getImageVirtualPixelMethod' => ['int'], + 'Imagick::getImageWhitePoint' => ['array{x:float, y:float}'], + 'Imagick::getImageWidth' => ['int'], + 'Imagick::getImagesBlob' => ['string'], + 'Imagick::getInterlaceScheme' => ['int'], + 'Imagick::getIteratorIndex' => ['int'], + 'Imagick::getNumberImages' => ['int'], + 'Imagick::getOption' => ['string', 'key'=>'string'], + 'Imagick::getPackageName' => ['string'], + 'Imagick::getPage' => ['array{width:int, height:int, x:int, y:int}'], + 'Imagick::getPixelIterator' => ['ImagickPixelIterator'], + 'Imagick::getPixelRegionIterator' => ['ImagickPixelIterator', 'x'=>'int', 'y'=>'int', 'columns'=>'int', 'rows'=>'int'], + 'Imagick::getPointSize' => ['float'], + 'Imagick::getQuantum' => ['int'], + 'Imagick::getQuantumDepth' => ['array{quantumDepthLong:int, quantumDepthString:string}'], + 'Imagick::getQuantumRange' => ['array{quantumRangeLong:int, quantumRangeString:string}'], + 'Imagick::getRegistry' => ['string|false', 'key'=>'string'], + 'Imagick::getReleaseDate' => ['string'], + 'Imagick::getResource' => ['int', 'type'=>'int'], + 'Imagick::getResourceLimit' => ['int', 'type'=>'int'], + 'Imagick::getSamplingFactors' => ['array'], + 'Imagick::getSize' => ['array{columns:int, rows: int}'], + 'Imagick::getSizeOffset' => ['int'], + 'Imagick::getVersion' => ['array{versionNumber: int, versionString:string}'], + 'Imagick::haldClutImage' => ['bool', 'clut'=>'Imagick', 'channel='=>'int'], + 'Imagick::hasNextImage' => ['bool'], + 'Imagick::hasPreviousImage' => ['bool'], + 'Imagick::identifyFormat' => ['string|false', 'embedText'=>'string'], + 'Imagick::identifyImage' => ['array', 'appendrawoutput='=>'bool'], + 'Imagick::identifyImageType' => ['int'], + 'Imagick::implodeImage' => ['bool', 'radius'=>'float'], + 'Imagick::importImagePixels' => ['bool', 'x'=>'int', 'y'=>'int', 'width'=>'int', 'height'=>'int', 'map'=>'string', 'storage'=>'int', 'pixels'=>'list'], + 'Imagick::inverseFourierTransformImage' => ['void', 'complement'=>'string', 'magnitude'=>'string'], + 'Imagick::key' => ['int|string'], + 'Imagick::labelImage' => ['bool', 'label'=>'string'], + 'Imagick::levelImage' => ['bool', 'blackpoint'=>'float', 'gamma'=>'float', 'whitepoint'=>'float', 'channel='=>'int'], + 'Imagick::linearStretchImage' => ['bool', 'blackpoint'=>'float', 'whitepoint'=>'float'], + 'Imagick::liquidRescaleImage' => ['bool', 'width'=>'int', 'height'=>'int', 'delta_x'=>'float', 'rigidity'=>'float'], + 'Imagick::listRegistry' => ['array'], + 'Imagick::localContrastImage' => ['bool', 'radius'=>'float', 'strength'=>'float'], + 'Imagick::magnifyImage' => ['bool'], + 'Imagick::mapImage' => ['bool', 'map'=>'Imagick', 'dither'=>'bool'], + 'Imagick::matteFloodfillImage' => ['bool', 'alpha'=>'float', 'fuzz'=>'float', 'bordercolor'=>'mixed', 'x'=>'int', 'y'=>'int'], + 'Imagick::medianFilterImage' => ['bool', 'radius'=>'float'], + 'Imagick::mergeImageLayers' => ['Imagick', 'layer_method'=>'int'], + 'Imagick::minifyImage' => ['bool'], + 'Imagick::modulateImage' => ['bool', 'brightness'=>'float', 'saturation'=>'float', 'hue'=>'float'], + 'Imagick::montageImage' => ['Imagick', 'draw'=>'ImagickDraw', 'tile_geometry'=>'string', 'thumbnail_geometry'=>'string', 'mode'=>'int', 'frame'=>'string'], + 'Imagick::morphImages' => ['Imagick', 'number_frames'=>'int'], + 'Imagick::morphology' => ['void', 'morphologyMethod'=>'int', 'iterations'=>'int', 'ImagickKernel'=>'ImagickKernel', 'CHANNEL='=>'string'], + 'Imagick::mosaicImages' => ['Imagick'], + 'Imagick::motionBlurImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'angle'=>'float', 'channel='=>'int'], + 'Imagick::negateImage' => ['bool', 'gray'=>'bool', 'channel='=>'int'], + 'Imagick::newImage' => ['bool', 'cols'=>'int', 'rows'=>'int', 'background'=>'mixed', 'format='=>'string'], + 'Imagick::newPseudoImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'pseudostring'=>'string'], + 'Imagick::next' => ['void'], + 'Imagick::nextImage' => ['bool'], + 'Imagick::normalizeImage' => ['bool', 'channel='=>'int'], + 'Imagick::oilPaintImage' => ['bool', 'radius'=>'float'], + 'Imagick::opaquePaintImage' => ['bool', 'target'=>'mixed', 'fill'=>'mixed', 'fuzz'=>'float', 'invert'=>'bool', 'channel='=>'int'], + 'Imagick::optimizeImageLayers' => ['bool'], + 'Imagick::orderedPosterizeImage' => ['bool', 'threshold_map'=>'string', 'channel='=>'int'], + 'Imagick::paintFloodfillImage' => ['bool', 'fill'=>'mixed', 'fuzz'=>'float', 'bordercolor'=>'mixed', 'x'=>'int', 'y'=>'int', 'channel='=>'int'], + 'Imagick::paintOpaqueImage' => ['bool', 'target'=>'mixed', 'fill'=>'mixed', 'fuzz'=>'float', 'channel='=>'int'], + 'Imagick::paintTransparentImage' => ['bool', 'target'=>'mixed', 'alpha'=>'float', 'fuzz'=>'float'], + 'Imagick::pingImage' => ['bool', 'filename'=>'string'], + 'Imagick::pingImageBlob' => ['bool', 'image'=>'string'], + 'Imagick::pingImageFile' => ['bool', 'filehandle'=>'resource', 'filename='=>'string'], + 'Imagick::polaroidImage' => ['bool', 'properties'=>'ImagickDraw', 'angle'=>'float'], + 'Imagick::posterizeImage' => ['bool', 'levels'=>'int', 'dither'=>'bool'], + 'Imagick::previewImages' => ['bool', 'preview'=>'int'], + 'Imagick::previousImage' => ['bool'], + 'Imagick::profileImage' => ['bool', 'name'=>'string', 'profile'=>'string'], + 'Imagick::quantizeImage' => ['bool', 'numbercolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], + 'Imagick::quantizeImages' => ['bool', 'numbercolors'=>'int', 'colorspace'=>'int', 'treedepth'=>'int', 'dither'=>'bool', 'measureerror'=>'bool'], + 'Imagick::queryFontMetrics' => ['array', 'properties'=>'ImagickDraw', 'text'=>'string', 'multiline='=>'bool'], + 'Imagick::queryFonts' => ['array', 'pattern='=>'string'], + 'Imagick::queryFormats' => ['list', 'pattern='=>'string'], + 'Imagick::radialBlurImage' => ['bool', 'angle'=>'float', 'channel='=>'int'], + 'Imagick::raiseImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int', 'raise'=>'bool'], + 'Imagick::randomThresholdImage' => ['bool', 'low'=>'float', 'high'=>'float', 'channel='=>'int'], + 'Imagick::readImage' => ['bool', 'filename'=>'string'], + 'Imagick::readImageBlob' => ['bool', 'image'=>'string', 'filename='=>'string'], + 'Imagick::readImageFile' => ['bool', 'filehandle'=>'resource', 'filename='=>'string'], + 'Imagick::readImages' => ['Imagick', 'filenames'=>'string'], + 'Imagick::recolorImage' => ['bool', 'matrix'=>'list'], + 'Imagick::reduceNoiseImage' => ['bool', 'radius'=>'float'], + 'Imagick::remapImage' => ['bool', 'replacement'=>'Imagick', 'dither'=>'int'], + 'Imagick::removeImage' => ['bool'], + 'Imagick::removeImageProfile' => ['string', 'name'=>'string'], + 'Imagick::render' => ['bool'], + 'Imagick::resampleImage' => ['bool', 'x_resolution'=>'float', 'y_resolution'=>'float', 'filter'=>'int', 'blur'=>'float'], + 'Imagick::resetImagePage' => ['bool', 'page'=>'string'], + 'Imagick::resetIterator' => [''], + 'Imagick::resizeImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'filter'=>'int', 'blur'=>'float', 'bestfit='=>'bool'], + 'Imagick::rewind' => ['void'], + 'Imagick::rollImage' => ['bool', 'x'=>'int', 'y'=>'int'], + 'Imagick::rotateImage' => ['bool', 'background'=>'mixed', 'degrees'=>'float'], + 'Imagick::rotationalBlurImage' => ['void', 'angle'=>'string', 'CHANNEL='=>'string'], + 'Imagick::roundCorners' => ['bool', 'x_rounding'=>'float', 'y_rounding'=>'float', 'stroke_width='=>'float', 'displace='=>'float', 'size_correction='=>'float'], + 'Imagick::roundCornersImage' => ['', 'xRounding'=>'', 'yRounding'=>'', 'strokeWidth'=>'', 'displace'=>'', 'sizeCorrection'=>''], + 'Imagick::sampleImage' => ['bool', 'columns'=>'int', 'rows'=>'int'], + 'Imagick::scaleImage' => ['bool', 'cols'=>'int', 'rows'=>'int', 'bestfit='=>'bool'], + 'Imagick::segmentImage' => ['bool', 'colorspace'=>'int', 'cluster_threshold'=>'float', 'smooth_threshold'=>'float', 'verbose='=>'bool'], + 'Imagick::selectiveBlurImage' => ['void', 'radius'=>'float', 'sigma'=>'float', 'threshold'=>'float', 'CHANNEL'=>'int'], + 'Imagick::separateImageChannel' => ['bool', 'channel'=>'int'], + 'Imagick::sepiaToneImage' => ['bool', 'threshold'=>'float'], + 'Imagick::setAntiAlias' => ['int', 'antialias'=>'bool'], + 'Imagick::setBackgroundColor' => ['bool', 'background'=>'mixed'], + 'Imagick::setColorspace' => ['bool', 'colorspace'=>'int'], + 'Imagick::setCompression' => ['bool', 'compression'=>'int'], + 'Imagick::setCompressionQuality' => ['bool', 'quality'=>'int'], + 'Imagick::setFilename' => ['bool', 'filename'=>'string'], + 'Imagick::setFirstIterator' => ['bool'], + 'Imagick::setFont' => ['bool', 'font'=>'string'], + 'Imagick::setFormat' => ['bool', 'format'=>'string'], + 'Imagick::setGravity' => ['bool', 'gravity'=>'int'], + 'Imagick::setImage' => ['bool', 'replace'=>'Imagick'], + 'Imagick::setImageAlpha' => ['bool', 'alpha'=>'float'], + 'Imagick::setImageAlphaChannel' => ['bool', 'mode'=>'int'], + 'Imagick::setImageArtifact' => ['bool', 'artifact'=>'string', 'value'=>'string'], + 'Imagick::setImageAttribute' => ['void', 'key'=>'string', 'value'=>'string'], + 'Imagick::setImageBackgroundColor' => ['bool', 'background'=>'mixed'], + 'Imagick::setImageBias' => ['bool', 'bias'=>'float'], + 'Imagick::setImageBiasQuantum' => ['void', 'bias'=>'string'], + 'Imagick::setImageBluePrimary' => ['bool', 'x'=>'float', 'y'=>'float'], + 'Imagick::setImageBorderColor' => ['bool', 'border'=>'mixed'], + 'Imagick::setImageChannelDepth' => ['bool', 'channel'=>'int', 'depth'=>'int'], + 'Imagick::setImageChannelMask' => ['', 'channel'=>'int'], + 'Imagick::setImageClipMask' => ['bool', 'clip_mask'=>'Imagick'], + 'Imagick::setImageColormapColor' => ['bool', 'index'=>'int', 'color'=>'ImagickPixel'], + 'Imagick::setImageColorspace' => ['bool', 'colorspace'=>'int'], + 'Imagick::setImageCompose' => ['bool', 'compose'=>'int'], + 'Imagick::setImageCompression' => ['bool', 'compression'=>'int'], + 'Imagick::setImageCompressionQuality' => ['bool', 'quality'=>'int'], + 'Imagick::setImageDelay' => ['bool', 'delay'=>'int'], + 'Imagick::setImageDepth' => ['bool', 'depth'=>'int'], + 'Imagick::setImageDispose' => ['bool', 'dispose'=>'int'], + 'Imagick::setImageExtent' => ['bool', 'columns'=>'int', 'rows'=>'int'], + 'Imagick::setImageFilename' => ['bool', 'filename'=>'string'], + 'Imagick::setImageFormat' => ['bool', 'format'=>'string'], + 'Imagick::setImageGamma' => ['bool', 'gamma'=>'float'], + 'Imagick::setImageGravity' => ['bool', 'gravity'=>'int'], + 'Imagick::setImageGreenPrimary' => ['bool', 'x'=>'float', 'y'=>'float'], + 'Imagick::setImageIndex' => ['bool', 'index'=>'int'], + 'Imagick::setImageInterlaceScheme' => ['bool', 'interlace_scheme'=>'int'], + 'Imagick::setImageInterpolateMethod' => ['bool', 'method'=>'int'], + 'Imagick::setImageIterations' => ['bool', 'iterations'=>'int'], + 'Imagick::setImageMatte' => ['bool', 'matte'=>'bool'], + 'Imagick::setImageMatteColor' => ['bool', 'matte'=>'mixed'], + 'Imagick::setImageOpacity' => ['bool', 'opacity'=>'float'], + 'Imagick::setImageOrientation' => ['bool', 'orientation'=>'int'], + 'Imagick::setImagePage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::setImageProfile' => ['bool', 'name'=>'string', 'profile'=>'string'], + 'Imagick::setImageProgressMonitor' => ['', 'filename'=>''], + 'Imagick::setImageProperty' => ['bool', 'name'=>'string', 'value'=>'string'], + 'Imagick::setImageRedPrimary' => ['bool', 'x'=>'float', 'y'=>'float'], + 'Imagick::setImageRenderingIntent' => ['bool', 'rendering_intent'=>'int'], + 'Imagick::setImageResolution' => ['bool', 'x_resolution'=>'float', 'y_resolution'=>'float'], + 'Imagick::setImageScene' => ['bool', 'scene'=>'int'], + 'Imagick::setImageTicksPerSecond' => ['bool', 'ticks_per_second'=>'int'], + 'Imagick::setImageType' => ['bool', 'image_type'=>'int'], + 'Imagick::setImageUnits' => ['bool', 'units'=>'int'], + 'Imagick::setImageVirtualPixelMethod' => ['bool', 'method'=>'int'], + 'Imagick::setImageWhitePoint' => ['bool', 'x'=>'float', 'y'=>'float'], + 'Imagick::setInterlaceScheme' => ['bool', 'interlace_scheme'=>'int'], + 'Imagick::setIteratorIndex' => ['bool', 'index'=>'int'], + 'Imagick::setLastIterator' => ['bool'], + 'Imagick::setOption' => ['bool', 'key'=>'string', 'value'=>'string'], + 'Imagick::setPage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::setPointSize' => ['bool', 'point_size'=>'float'], + 'Imagick::setProgressMonitor' => ['void', 'callback'=>'callable'], + 'Imagick::setRegistry' => ['void', 'key'=>'string', 'value'=>'string'], + 'Imagick::setResolution' => ['bool', 'x_resolution'=>'float', 'y_resolution'=>'float'], + 'Imagick::setResourceLimit' => ['bool', 'type'=>'int', 'limit'=>'int'], + 'Imagick::setSamplingFactors' => ['bool', 'factors'=>'list'], + 'Imagick::setSize' => ['bool', 'columns'=>'int', 'rows'=>'int'], + 'Imagick::setSizeOffset' => ['bool', 'columns'=>'int', 'rows'=>'int', 'offset'=>'int'], + 'Imagick::setType' => ['bool', 'image_type'=>'int'], + 'Imagick::shadeImage' => ['bool', 'gray'=>'bool', 'azimuth'=>'float', 'elevation'=>'float'], + 'Imagick::shadowImage' => ['bool', 'opacity'=>'float', 'sigma'=>'float', 'x'=>'int', 'y'=>'int'], + 'Imagick::sharpenImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'channel='=>'int'], + 'Imagick::shaveImage' => ['bool', 'columns'=>'int', 'rows'=>'int'], + 'Imagick::shearImage' => ['bool', 'background'=>'mixed', 'x_shear'=>'float', 'y_shear'=>'float'], + 'Imagick::sigmoidalContrastImage' => ['bool', 'sharpen'=>'bool', 'alpha'=>'float', 'beta'=>'float', 'channel='=>'int'], + 'Imagick::similarityImage' => ['Imagick', 'Imagick'=>'Imagick', '&bestMatch'=>'array', '&similarity'=>'float', 'similarity_threshold'=>'float', 'metric'=>'int'], + 'Imagick::sketchImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'angle'=>'float'], + 'Imagick::smushImages' => ['Imagick', 'stack'=>'string', 'offset'=>'string'], + 'Imagick::solarizeImage' => ['bool', 'threshold'=>'int'], + 'Imagick::sparseColorImage' => ['bool', 'sparse_method'=>'int', 'arguments'=>'array', 'channel='=>'int'], + 'Imagick::spliceImage' => ['bool', 'width'=>'int', 'height'=>'int', 'x'=>'int', 'y'=>'int'], + 'Imagick::spreadImage' => ['bool', 'radius'=>'float'], + 'Imagick::statisticImage' => ['void', 'type'=>'int', 'width'=>'int', 'height'=>'int', 'CHANNEL='=>'string'], + 'Imagick::steganoImage' => ['Imagick', 'watermark_wand'=>'Imagick', 'offset'=>'int'], + 'Imagick::stereoImage' => ['bool', 'offset_wand'=>'Imagick'], + 'Imagick::stripImage' => ['bool'], + 'Imagick::subImageMatch' => ['Imagick', 'Imagick'=>'Imagick', '&w_offset='=>'array', '&w_similarity='=>'float'], + 'Imagick::swirlImage' => ['bool', 'degrees'=>'float'], + 'Imagick::textureImage' => ['bool', 'texture_wand'=>'Imagick'], + 'Imagick::thresholdImage' => ['bool', 'threshold'=>'float', 'channel='=>'int'], + 'Imagick::thumbnailImage' => ['bool', 'columns'=>'int', 'rows'=>'int', 'bestfit='=>'bool', 'fill='=>'bool', 'legacy='=>'bool'], + 'Imagick::tintImage' => ['bool', 'tint'=>'mixed', 'opacity'=>'mixed'], + 'Imagick::transformImage' => ['Imagick', 'crop'=>'string', 'geometry'=>'string'], + 'Imagick::transformImageColorspace' => ['bool', 'colorspace'=>'int'], + 'Imagick::transparentPaintImage' => ['bool', 'target'=>'mixed', 'alpha'=>'float', 'fuzz'=>'float', 'invert'=>'bool'], + 'Imagick::transposeImage' => ['bool'], + 'Imagick::transverseImage' => ['bool'], + 'Imagick::trimImage' => ['bool', 'fuzz'=>'float'], + 'Imagick::uniqueImageColors' => ['bool'], + 'Imagick::unsharpMaskImage' => ['bool', 'radius'=>'float', 'sigma'=>'float', 'amount'=>'float', 'threshold'=>'float', 'channel='=>'int'], + 'Imagick::valid' => ['bool'], + 'Imagick::vignetteImage' => ['bool', 'blackpoint'=>'float', 'whitepoint'=>'float', 'x'=>'int', 'y'=>'int'], + 'Imagick::waveImage' => ['bool', 'amplitude'=>'float', 'length'=>'float'], + 'Imagick::whiteThresholdImage' => ['bool', 'threshold'=>'mixed'], + 'Imagick::writeImage' => ['bool', 'filename='=>'string'], + 'Imagick::writeImageFile' => ['bool', 'filehandle'=>'resource'], + 'Imagick::writeImages' => ['bool', 'filename'=>'string', 'adjoin'=>'bool'], + 'Imagick::writeImagesFile' => ['bool', 'filehandle'=>'resource'], + 'ImagickDraw::__construct' => ['void'], + 'ImagickDraw::affine' => ['bool', 'affine'=>'array'], + 'ImagickDraw::annotation' => ['bool', 'x'=>'float', 'y'=>'float', 'text'=>'string'], + 'ImagickDraw::arc' => ['bool', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float', 'sd'=>'float', 'ed'=>'float'], + 'ImagickDraw::bezier' => ['bool', 'coordinates'=>'list'], + 'ImagickDraw::circle' => ['bool', 'ox'=>'float', 'oy'=>'float', 'px'=>'float', 'py'=>'float'], + 'ImagickDraw::clear' => ['bool'], + 'ImagickDraw::clone' => ['ImagickDraw'], + 'ImagickDraw::color' => ['bool', 'x'=>'float', 'y'=>'float', 'paintmethod'=>'int'], + 'ImagickDraw::comment' => ['bool', 'comment'=>'string'], + 'ImagickDraw::composite' => ['bool', 'compose'=>'int', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float', 'compositewand'=>'Imagick'], + 'ImagickDraw::destroy' => ['bool'], + 'ImagickDraw::ellipse' => ['bool', 'ox'=>'float', 'oy'=>'float', 'rx'=>'float', 'ry'=>'float', 'start'=>'float', 'end'=>'float'], + 'ImagickDraw::getBorderColor' => ['ImagickPixel'], + 'ImagickDraw::getClipPath' => ['string|false'], + 'ImagickDraw::getClipRule' => ['int'], + 'ImagickDraw::getClipUnits' => ['int'], + 'ImagickDraw::getDensity' => ['?string'], + 'ImagickDraw::getFillColor' => ['ImagickPixel'], + 'ImagickDraw::getFillOpacity' => ['float'], + 'ImagickDraw::getFillRule' => ['int'], + 'ImagickDraw::getFont' => ['string|false'], + 'ImagickDraw::getFontFamily' => ['string|false'], + 'ImagickDraw::getFontResolution' => ['array'], + 'ImagickDraw::getFontSize' => ['float'], + 'ImagickDraw::getFontStretch' => ['int'], + 'ImagickDraw::getFontStyle' => ['int'], + 'ImagickDraw::getFontWeight' => ['int'], + 'ImagickDraw::getGravity' => ['int'], + 'ImagickDraw::getOpacity' => ['float'], + 'ImagickDraw::getStrokeAntialias' => ['bool'], + 'ImagickDraw::getStrokeColor' => ['ImagickPixel'], + 'ImagickDraw::getStrokeDashArray' => ['array'], + 'ImagickDraw::getStrokeDashOffset' => ['float'], + 'ImagickDraw::getStrokeLineCap' => ['int'], + 'ImagickDraw::getStrokeLineJoin' => ['int'], + 'ImagickDraw::getStrokeMiterLimit' => ['int'], + 'ImagickDraw::getStrokeOpacity' => ['float'], + 'ImagickDraw::getStrokeWidth' => ['float'], + 'ImagickDraw::getTextAlignment' => ['int'], + 'ImagickDraw::getTextAntialias' => ['bool'], + 'ImagickDraw::getTextDecoration' => ['int'], + 'ImagickDraw::getTextDirection' => ['bool'], + 'ImagickDraw::getTextEncoding' => ['string'], + 'ImagickDraw::getTextInterlineSpacing' => ['float'], + 'ImagickDraw::getTextInterwordSpacing' => ['float'], + 'ImagickDraw::getTextKerning' => ['float'], + 'ImagickDraw::getTextUnderColor' => ['ImagickPixel'], + 'ImagickDraw::getVectorGraphics' => ['string'], + 'ImagickDraw::line' => ['bool', 'sx'=>'float', 'sy'=>'float', 'ex'=>'float', 'ey'=>'float'], + 'ImagickDraw::matte' => ['bool', 'x'=>'float', 'y'=>'float', 'paintmethod'=>'int'], + 'ImagickDraw::pathClose' => ['bool'], + 'ImagickDraw::pathCurveToAbsolute' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToQuadraticBezierAbsolute' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToQuadraticBezierRelative' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToQuadraticBezierSmoothAbsolute' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToQuadraticBezierSmoothRelative' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToRelative' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToSmoothAbsolute' => ['bool', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathCurveToSmoothRelative' => ['bool', 'x2'=>'float', 'y2'=>'float', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathEllipticArcAbsolute' => ['bool', 'rx'=>'float', 'ry'=>'float', 'x_axis_rotation'=>'float', 'large_arc_flag'=>'bool', 'sweep_flag'=>'bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathEllipticArcRelative' => ['bool', 'rx'=>'float', 'ry'=>'float', 'x_axis_rotation'=>'float', 'large_arc_flag'=>'bool', 'sweep_flag'=>'bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathFinish' => ['bool'], + 'ImagickDraw::pathLineToAbsolute' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathLineToHorizontalAbsolute' => ['bool', 'x'=>'float'], + 'ImagickDraw::pathLineToHorizontalRelative' => ['bool', 'x'=>'float'], + 'ImagickDraw::pathLineToRelative' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathLineToVerticalAbsolute' => ['bool', 'y'=>'float'], + 'ImagickDraw::pathLineToVerticalRelative' => ['bool', 'y'=>'float'], + 'ImagickDraw::pathMoveToAbsolute' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathMoveToRelative' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::pathStart' => ['bool'], + 'ImagickDraw::point' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::polygon' => ['bool', 'coordinates'=>'list'], + 'ImagickDraw::polyline' => ['bool', 'coordinates'=>'list'], + 'ImagickDraw::pop' => ['bool'], + 'ImagickDraw::popClipPath' => ['bool'], + 'ImagickDraw::popDefs' => ['bool'], + 'ImagickDraw::popPattern' => ['bool'], + 'ImagickDraw::push' => ['bool'], + 'ImagickDraw::pushClipPath' => ['bool', 'clip_mask_id'=>'string'], + 'ImagickDraw::pushDefs' => ['bool'], + 'ImagickDraw::pushPattern' => ['bool', 'pattern_id'=>'string', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], + 'ImagickDraw::rectangle' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float'], + 'ImagickDraw::render' => ['bool'], + 'ImagickDraw::resetVectorGraphics' => ['void'], + 'ImagickDraw::rotate' => ['bool', 'degrees'=>'float'], + 'ImagickDraw::roundRectangle' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'rx'=>'float', 'ry'=>'float'], + 'ImagickDraw::scale' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::setBorderColor' => ['bool', 'color'=>'ImagickPixel|string'], + 'ImagickDraw::setClipPath' => ['bool', 'clip_mask'=>'string'], + 'ImagickDraw::setClipRule' => ['bool', 'fill_rule'=>'int'], + 'ImagickDraw::setClipUnits' => ['bool', 'clip_units'=>'int'], + 'ImagickDraw::setDensity' => ['bool', 'density_string'=>'string'], + 'ImagickDraw::setFillAlpha' => ['bool', 'opacity'=>'float'], + 'ImagickDraw::setFillColor' => ['bool', 'fill_pixel'=>'ImagickPixel|string'], + 'ImagickDraw::setFillOpacity' => ['bool', 'fillopacity'=>'float'], + 'ImagickDraw::setFillPatternURL' => ['bool', 'fill_url'=>'string'], + 'ImagickDraw::setFillRule' => ['bool', 'fill_rule'=>'int'], + 'ImagickDraw::setFont' => ['bool', 'font_name'=>'string'], + 'ImagickDraw::setFontFamily' => ['bool', 'font_family'=>'string'], + 'ImagickDraw::setFontResolution' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickDraw::setFontSize' => ['bool', 'pointsize'=>'float'], + 'ImagickDraw::setFontStretch' => ['bool', 'fontstretch'=>'int'], + 'ImagickDraw::setFontStyle' => ['bool', 'style'=>'int'], + 'ImagickDraw::setFontWeight' => ['bool', 'font_weight'=>'int'], + 'ImagickDraw::setGravity' => ['bool', 'gravity'=>'int'], + 'ImagickDraw::setOpacity' => ['void', 'opacity'=>'float'], + 'ImagickDraw::setResolution' => ['void', 'x_resolution'=>'float', 'y_resolution'=>'float'], + 'ImagickDraw::setStrokeAlpha' => ['bool', 'opacity'=>'float'], + 'ImagickDraw::setStrokeAntialias' => ['bool', 'stroke_antialias'=>'bool'], + 'ImagickDraw::setStrokeColor' => ['bool', 'stroke_pixel'=>'ImagickPixel|string'], + 'ImagickDraw::setStrokeDashArray' => ['bool', 'dasharray'=>'list'], + 'ImagickDraw::setStrokeDashOffset' => ['bool', 'dash_offset'=>'float'], + 'ImagickDraw::setStrokeLineCap' => ['bool', 'linecap'=>'int'], + 'ImagickDraw::setStrokeLineJoin' => ['bool', 'linejoin'=>'int'], + 'ImagickDraw::setStrokeMiterLimit' => ['bool', 'miterlimit'=>'int'], + 'ImagickDraw::setStrokeOpacity' => ['bool', 'stroke_opacity'=>'float'], + 'ImagickDraw::setStrokePatternURL' => ['bool', 'stroke_url'=>'string'], + 'ImagickDraw::setStrokeWidth' => ['bool', 'stroke_width'=>'float'], + 'ImagickDraw::setTextAlignment' => ['bool', 'alignment'=>'int'], + 'ImagickDraw::setTextAntialias' => ['bool', 'antialias'=>'bool'], + 'ImagickDraw::setTextDecoration' => ['bool', 'decoration'=>'int'], + 'ImagickDraw::setTextDirection' => ['bool', 'direction'=>'int'], + 'ImagickDraw::setTextEncoding' => ['bool', 'encoding'=>'string'], + 'ImagickDraw::setTextInterlineSpacing' => ['void', 'spacing'=>'float'], + 'ImagickDraw::setTextInterwordSpacing' => ['void', 'spacing'=>'float'], + 'ImagickDraw::setTextKerning' => ['void', 'kerning'=>'float'], + 'ImagickDraw::setTextUnderColor' => ['bool', 'under_color'=>'ImagickPixel|string'], + 'ImagickDraw::setVectorGraphics' => ['bool', 'xml'=>'string'], + 'ImagickDraw::setViewbox' => ['bool', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int'], + 'ImagickDraw::skewX' => ['bool', 'degrees'=>'float'], + 'ImagickDraw::skewY' => ['bool', 'degrees'=>'float'], + 'ImagickDraw::translate' => ['bool', 'x'=>'float', 'y'=>'float'], + 'ImagickKernel::addKernel' => ['void', 'ImagickKernel'=>'ImagickKernel'], + 'ImagickKernel::addUnityKernel' => ['void'], + 'ImagickKernel::fromBuiltin' => ['ImagickKernel', 'kernelType'=>'string', 'kernelString'=>'string'], + 'ImagickKernel::fromMatrix' => ['ImagickKernel', 'matrix'=>'list>', 'origin='=>'array'], + 'ImagickKernel::getMatrix' => ['list>'], + 'ImagickKernel::scale' => ['void'], + 'ImagickKernel::separate' => ['ImagickKernel[]'], + 'ImagickKernel::seperate' => ['void'], + 'ImagickPixel::__construct' => ['void', 'color='=>'string'], + 'ImagickPixel::clear' => ['bool'], + 'ImagickPixel::clone' => ['void'], + 'ImagickPixel::destroy' => ['bool'], + 'ImagickPixel::getColor' => ['array{r: int|float, g: int|float, b: int|float, a: int|float}', 'normalized='=>'0|1|2'], + 'ImagickPixel::getColorAsString' => ['string'], + 'ImagickPixel::getColorCount' => ['int'], + 'ImagickPixel::getColorQuantum' => ['mixed'], + 'ImagickPixel::getColorValue' => ['float', 'color'=>'int'], + 'ImagickPixel::getColorValueQuantum' => ['mixed'], + 'ImagickPixel::getHSL' => ['array{hue: float, saturation: float, luminosity: float}'], + 'ImagickPixel::getIndex' => ['int'], + 'ImagickPixel::isPixelSimilar' => ['bool', 'color'=>'ImagickPixel', 'fuzz'=>'float'], + 'ImagickPixel::isPixelSimilarQuantum' => ['bool', 'color'=>'string', 'fuzz='=>'string'], + 'ImagickPixel::isSimilar' => ['bool', 'color'=>'ImagickPixel', 'fuzz'=>'float'], + 'ImagickPixel::setColor' => ['bool', 'color'=>'string'], + 'ImagickPixel::setColorFromPixel' => ['bool', 'srcPixel'=>'ImagickPixel'], + 'ImagickPixel::setColorValue' => ['bool', 'color'=>'int', 'value'=>'float'], + 'ImagickPixel::setColorValueQuantum' => ['void', 'color'=>'int', 'value'=>'mixed'], + 'ImagickPixel::setHSL' => ['bool', 'hue'=>'float', 'saturation'=>'float', 'luminosity'=>'float'], + 'ImagickPixel::setIndex' => ['void', 'index'=>'int'], + 'ImagickPixel::setcolorcount' => ['void', 'colorCount'=>'string'], + 'ImagickPixelIterator::__construct' => ['void', 'wand'=>'Imagick'], + 'ImagickPixelIterator::clear' => ['bool'], + 'ImagickPixelIterator::current' => ['mixed'], + 'ImagickPixelIterator::destroy' => ['bool'], + 'ImagickPixelIterator::getCurrentIteratorRow' => ['array'], + 'ImagickPixelIterator::getIteratorRow' => ['int'], + 'ImagickPixelIterator::getNextIteratorRow' => ['array'], + 'ImagickPixelIterator::getPreviousIteratorRow' => ['array'], + 'ImagickPixelIterator::getpixeliterator' => ['', 'Imagick'=>'Imagick'], + 'ImagickPixelIterator::getpixelregioniterator' => ['', 'Imagick'=>'Imagick', 'x'=>'', 'y'=>'', 'columns'=>'', 'rows'=>''], + 'ImagickPixelIterator::key' => ['int|string'], + 'ImagickPixelIterator::newPixelIterator' => ['bool', 'wand'=>'Imagick'], + 'ImagickPixelIterator::newPixelRegionIterator' => ['bool', 'wand'=>'Imagick', 'x'=>'int', 'y'=>'int', 'columns'=>'int', 'rows'=>'int'], + 'ImagickPixelIterator::next' => ['void'], + 'ImagickPixelIterator::resetIterator' => ['bool'], + 'ImagickPixelIterator::rewind' => ['void'], + 'ImagickPixelIterator::setIteratorFirstRow' => ['bool'], + 'ImagickPixelIterator::setIteratorLastRow' => ['bool'], + 'ImagickPixelIterator::setIteratorRow' => ['bool', 'row'=>'int'], + 'ImagickPixelIterator::syncIterator' => ['bool'], + 'ImagickPixelIterator::valid' => ['bool'], + 'InfiniteIterator::__construct' => ['void', 'iterator'=>'Iterator'], + 'InfiniteIterator::current' => ['mixed'], + 'InfiniteIterator::getInnerIterator' => ['Iterator'], + 'InfiniteIterator::key' => ['bool|float|int|string'], + 'InfiniteIterator::next' => ['void'], + 'InfiniteIterator::rewind' => ['void'], + 'InfiniteIterator::valid' => ['bool'], + 'IntlBreakIterator::__construct' => ['void'], + 'IntlBreakIterator::createCharacterInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlBreakIterator::createCodePointInstance' => ['IntlCodePointBreakIterator'], + 'IntlBreakIterator::createLineInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlBreakIterator::createSentenceInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlBreakIterator::createTitleInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlBreakIterator::createWordInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlBreakIterator::current' => ['int'], + 'IntlBreakIterator::first' => ['int'], + 'IntlBreakIterator::following' => ['int', 'offset'=>'int'], + 'IntlBreakIterator::getErrorCode' => ['int'], + 'IntlBreakIterator::getErrorMessage' => ['string'], + 'IntlBreakIterator::getLocale' => ['string', 'locale_type'=>'string'], + 'IntlBreakIterator::getPartsIterator' => ['IntlPartsIterator', 'key_type='=>'int'], + 'IntlBreakIterator::getText' => ['?string'], + 'IntlBreakIterator::isBoundary' => ['bool', 'offset'=>'int'], + 'IntlBreakIterator::last' => ['int'], + 'IntlBreakIterator::next' => ['int', 'offset='=>'?int'], + 'IntlBreakIterator::preceding' => ['int', 'offset'=>'int'], + 'IntlBreakIterator::previous' => ['int'], + 'IntlBreakIterator::setText' => ['?bool', 'text'=>'string'], + 'IntlCalendar::__construct' => ['void'], + 'IntlCalendar::add' => ['bool', 'field'=>'int', 'amount'=>'int'], + 'IntlCalendar::after' => ['bool', 'other'=>'IntlCalendar'], + 'IntlCalendar::before' => ['bool', 'other'=>'IntlCalendar'], + 'IntlCalendar::clear' => ['bool', 'field='=>'?int'], + 'IntlCalendar::createInstance' => ['IntlCalendar', 'timeZone='=>'mixed', 'locale='=>'string'], + 'IntlCalendar::equals' => ['bool', 'other'=>'IntlCalendar'], + 'IntlCalendar::fieldDifference' => ['int', 'when'=>'float', 'field'=>'int'], + 'IntlCalendar::fromDateTime' => ['IntlCalendar', 'dateTime'=>'DateTime|string'], + 'IntlCalendar::get' => ['int', 'field'=>'int'], + 'IntlCalendar::getActualMaximum' => ['int', 'field'=>'int'], + 'IntlCalendar::getActualMinimum' => ['int', 'field'=>'int'], + 'IntlCalendar::getAvailableLocales' => ['array'], + 'IntlCalendar::getDayOfWeekType' => ['int', 'dayOfWeek'=>'int'], + 'IntlCalendar::getErrorCode' => ['int'], + 'IntlCalendar::getErrorMessage' => ['string'], + 'IntlCalendar::getFirstDayOfWeek' => ['int'], + 'IntlCalendar::getGreatestMinimum' => ['int', 'field'=>'int'], + 'IntlCalendar::getKeywordValuesForLocale' => ['Iterator|false', 'key'=>'string', 'locale'=>'string', 'commonlyUsed'=>'bool'], + 'IntlCalendar::getLeastMaximum' => ['int', 'field'=>'int'], + 'IntlCalendar::getLocale' => ['string', 'localeType'=>'int'], + 'IntlCalendar::getMaximum' => ['int|false', 'field'=>'int'], + 'IntlCalendar::getMinimalDaysInFirstWeek' => ['int'], + 'IntlCalendar::getMinimum' => ['int', 'field'=>'int'], + 'IntlCalendar::getNow' => ['float'], + 'IntlCalendar::getRepeatedWallTimeOption' => ['int'], + 'IntlCalendar::getSkippedWallTimeOption' => ['int'], + 'IntlCalendar::getTime' => ['float'], + 'IntlCalendar::getTimeZone' => ['IntlTimeZone'], + 'IntlCalendar::getType' => ['string'], + 'IntlCalendar::getWeekendTransition' => ['int', 'dayOfWeek'=>'string'], + 'IntlCalendar::inDaylightTime' => ['bool'], + 'IntlCalendar::isEquivalentTo' => ['bool', 'other'=>'IntlCalendar'], + 'IntlCalendar::isLenient' => ['bool'], + 'IntlCalendar::isSet' => ['bool', 'field'=>'int'], + 'IntlCalendar::isWeekend' => ['bool', 'date='=>'?float'], + 'IntlCalendar::roll' => ['bool', 'field'=>'int', 'amountOrUpOrDown'=>'mixed'], + 'IntlCalendar::set' => ['bool', 'field'=>'int', 'value'=>'int'], + 'IntlCalendar::set\'1' => ['bool', 'year'=>'int', 'month'=>'int', 'dayOfMonth='=>'int', 'hour='=>'int', 'minute='=>'int', 'second='=>'int'], + 'IntlCalendar::setFirstDayOfWeek' => ['bool', 'dayOfWeek'=>'int'], + 'IntlCalendar::setLenient' => ['bool', 'isLenient'=>'string'], + 'IntlCalendar::setMinimalDaysInFirstWeek' => ['bool', 'minimalDays'=>'int'], + 'IntlCalendar::setRepeatedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], + 'IntlCalendar::setSkippedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], + 'IntlCalendar::setTime' => ['bool', 'date'=>'float'], + 'IntlCalendar::setTimeZone' => ['bool', 'timeZone'=>'mixed'], + 'IntlCalendar::toDateTime' => ['DateTime|false'], + 'IntlChar::charAge' => ['array', 'char'=>'int|string'], + 'IntlChar::charDigitValue' => ['int', 'codepoint'=>'mixed'], + 'IntlChar::charDirection' => ['int', 'codepoint'=>'mixed'], + 'IntlChar::charFromName' => ['?int', 'name'=>'string', 'namechoice='=>'int'], + 'IntlChar::charMirror' => ['mixed', 'codepoint'=>'mixed'], + 'IntlChar::charName' => ['string', 'char'=>'int|string', 'namechoice='=>'int'], + 'IntlChar::charType' => ['int', 'codepoint'=>'mixed'], + 'IntlChar::chr' => ['string', 'codepoint'=>'mixed'], + 'IntlChar::digit' => ['int|false', 'char'=>'int|string', 'radix='=>'int'], + 'IntlChar::enumCharNames' => ['void', 'start'=>'mixed', 'limit'=>'mixed', 'callback'=>'callable', 'nameChoice='=>'int'], + 'IntlChar::enumCharTypes' => ['void', 'cb='=>'callable'], + 'IntlChar::foldCase' => ['int|string', 'char'=>'int|string', 'options='=>'int'], + 'IntlChar::forDigit' => ['int', 'digit'=>'int', 'radix'=>'int'], + 'IntlChar::getBidiPairedBracket' => ['mixed', 'codepoint'=>'mixed'], + 'IntlChar::getBlockCode' => ['int', 'char'=>'int|string'], + 'IntlChar::getCombiningClass' => ['int', 'codepoint'=>'mixed'], + 'IntlChar::getFC_NFKC_Closure' => ['string', 'char'=>'int|string'], + 'IntlChar::getIntPropertyMaxValue' => ['int', 'property'=>'int'], + 'IntlChar::getIntPropertyMinValue' => ['int', 'property'=>'int'], + 'IntlChar::getIntPropertyValue' => ['int', 'char'=>'int|string', 'property'=>'int'], + 'IntlChar::getNumericValue' => ['float', 'char'=>'int|string'], + 'IntlChar::getPropertyEnum' => ['int', 'alias'=>'string'], + 'IntlChar::getPropertyName' => ['string|false', 'property'=>'int', 'namechoice='=>'int'], + 'IntlChar::getPropertyValueEnum' => ['int', 'property'=>'int', 'name'=>'string'], + 'IntlChar::getPropertyValueName' => ['string|false', 'prop'=>'int', 'value'=>'int', 'namechoice='=>'int'], + 'IntlChar::getUnicodeVersion' => ['array'], + 'IntlChar::hasBinaryProperty' => ['bool', 'char'=>'int|string', 'property'=>'int'], + 'IntlChar::isIDIgnorable' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isIDPart' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isIDStart' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isISOControl' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isJavaIDPart' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isJavaIDStart' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isJavaSpaceChar' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isMirrored' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isUAlphabetic' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isULowercase' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isUUppercase' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isUWhiteSpace' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isWhitespace' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isalnum' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isalpha' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isbase' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isblank' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::iscntrl' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isdefined' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isdigit' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isgraph' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::islower' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isprint' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::ispunct' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isspace' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::istitle' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isupper' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::isxdigit' => ['bool', 'codepoint'=>'mixed'], + 'IntlChar::ord' => ['int', 'character'=>'mixed'], + 'IntlChar::tolower' => ['mixed', 'codepoint'=>'mixed'], + 'IntlChar::totitle' => ['mixed', 'codepoint'=>'mixed'], + 'IntlChar::toupper' => ['mixed', 'codepoint'=>'mixed'], + 'IntlCodePointBreakIterator::__construct' => ['void'], + 'IntlCodePointBreakIterator::createCharacterInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlCodePointBreakIterator::createCodePointInstance' => ['IntlCodePointBreakIterator'], + 'IntlCodePointBreakIterator::createLineInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlCodePointBreakIterator::createSentenceInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlCodePointBreakIterator::createTitleInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlCodePointBreakIterator::createWordInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlCodePointBreakIterator::current' => ['int'], + 'IntlCodePointBreakIterator::first' => ['int'], + 'IntlCodePointBreakIterator::following' => ['int', 'offset'=>'string'], + 'IntlCodePointBreakIterator::getErrorCode' => ['int'], + 'IntlCodePointBreakIterator::getErrorMessage' => ['string'], + 'IntlCodePointBreakIterator::getLastCodePoint' => ['int'], + 'IntlCodePointBreakIterator::getLocale' => ['string', 'locale_type'=>'string'], + 'IntlCodePointBreakIterator::getPartsIterator' => ['IntlPartsIterator', 'key_type='=>'string'], + 'IntlCodePointBreakIterator::getText' => ['?string'], + 'IntlCodePointBreakIterator::isBoundary' => ['bool', 'offset'=>'string'], + 'IntlCodePointBreakIterator::last' => ['int'], + 'IntlCodePointBreakIterator::next' => ['int', 'offset='=>'string'], + 'IntlCodePointBreakIterator::preceding' => ['int', 'offset'=>'string'], + 'IntlCodePointBreakIterator::previous' => ['int'], + 'IntlCodePointBreakIterator::setText' => ['?bool', 'text'=>'string'], + 'IntlDateFormatter::__construct' => ['void', 'locale'=>'?string', 'datetype'=>'null|int', 'timetype'=>'null|int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + 'IntlDateFormatter::create' => ['?IntlDateFormatter', 'locale'=>'?string', 'datetype'=>'null|int', 'timetype'=>'null|int', 'timezone='=>'IntlTimeZone|DateTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'?string'], + 'IntlDateFormatter::format' => ['string|false', 'value'=>'IntlCalendar|DateTime|array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int}|array{tm_sec: int, tm_min: int, tm_hour: int, tm_mday: int, tm_mon: int, tm_year: int, tm_wday: int, tm_yday: int, tm_isdst: int}|string|int|float'], + 'IntlDateFormatter::formatObject' => ['string|false', 'object'=>'IntlCalendar|DateTime', 'format='=>'array{0: int, 1: int}|int|string|null', 'locale='=>'?string'], + 'IntlDateFormatter::getCalendar' => ['int'], + 'IntlDateFormatter::getCalendarObject' => ['IntlCalendar'], + 'IntlDateFormatter::getDateType' => ['int'], + 'IntlDateFormatter::getErrorCode' => ['int'], + 'IntlDateFormatter::getErrorMessage' => ['string'], + 'IntlDateFormatter::getLocale' => ['string', 'which='=>'int'], + 'IntlDateFormatter::getPattern' => ['string'], + 'IntlDateFormatter::getTimeType' => ['int'], + 'IntlDateFormatter::getTimeZone' => ['IntlTimeZone|false'], + 'IntlDateFormatter::getTimeZoneId' => ['string'], + 'IntlDateFormatter::isLenient' => ['bool'], + 'IntlDateFormatter::localtime' => ['array', 'value'=>'string', '&rw_position='=>'int'], + 'IntlDateFormatter::parse' => ['int|float', 'value'=>'string', '&rw_position='=>'int'], + 'IntlDateFormatter::setCalendar' => ['bool', 'which'=>'IntlCalendar|int|null'], + 'IntlDateFormatter::setLenient' => ['bool', 'lenient'=>'bool'], + 'IntlDateFormatter::setPattern' => ['bool', 'pattern'=>'string'], + 'IntlDateFormatter::setTimeZone' => ['null|false', 'zone'=>'IntlTimeZone|DateTimeZone|string|null'], + 'IntlException::__clone' => ['void'], + 'IntlException::__construct' => ['void'], + 'IntlException::__toString' => ['string'], + 'IntlException::__wakeup' => ['void'], + 'IntlException::getCode' => ['int'], + 'IntlException::getFile' => ['string'], + 'IntlException::getLine' => ['int'], + 'IntlException::getMessage' => ['string'], + 'IntlException::getPrevious' => ['?Throwable'], + 'IntlException::getTrace' => ['list\',args?:array}>'], + 'IntlException::getTraceAsString' => ['string'], + 'IntlGregorianCalendar::__construct' => ['void'], + 'IntlGregorianCalendar::add' => ['bool', 'field'=>'int', 'amount'=>'int'], + 'IntlGregorianCalendar::after' => ['bool', 'other'=>'IntlCalendar'], + 'IntlGregorianCalendar::before' => ['bool', 'other'=>'IntlCalendar'], + 'IntlGregorianCalendar::clear' => ['bool', 'field='=>'?int'], + 'IntlGregorianCalendar::createInstance' => ['IntlGregorianCalendar', 'timeZone='=>'mixed', 'locale='=>'string'], + 'IntlGregorianCalendar::equals' => ['bool', 'other'=>'IntlCalendar'], + 'IntlGregorianCalendar::fieldDifference' => ['int', 'when'=>'float', 'field'=>'int'], + 'IntlGregorianCalendar::fromDateTime' => ['IntlCalendar', 'dateTime'=>'DateTime|string'], + 'IntlGregorianCalendar::get' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getActualMaximum' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getActualMinimum' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getAvailableLocales' => ['array'], + 'IntlGregorianCalendar::getDayOfWeekType' => ['int', 'dayOfWeek'=>'int'], + 'IntlGregorianCalendar::getErrorCode' => ['int'], + 'IntlGregorianCalendar::getErrorMessage' => ['string'], + 'IntlGregorianCalendar::getFirstDayOfWeek' => ['int'], + 'IntlGregorianCalendar::getGreatestMinimum' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getGregorianChange' => ['float'], + 'IntlGregorianCalendar::getKeywordValuesForLocale' => ['Iterator', 'key'=>'string', 'locale'=>'string', 'commonlyUsed'=>'bool'], + 'IntlGregorianCalendar::getLeastMaximum' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getLocale' => ['string', 'localeType'=>'int'], + 'IntlGregorianCalendar::getMaximum' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getMinimalDaysInFirstWeek' => ['int'], + 'IntlGregorianCalendar::getMinimum' => ['int', 'field'=>'int'], + 'IntlGregorianCalendar::getNow' => ['float'], + 'IntlGregorianCalendar::getRepeatedWallTimeOption' => ['int'], + 'IntlGregorianCalendar::getSkippedWallTimeOption' => ['int'], + 'IntlGregorianCalendar::getTime' => ['float'], + 'IntlGregorianCalendar::getTimeZone' => ['IntlTimeZone'], + 'IntlGregorianCalendar::getType' => ['string'], + 'IntlGregorianCalendar::getWeekendTransition' => ['int', 'dayOfWeek'=>'string'], + 'IntlGregorianCalendar::inDaylightTime' => ['bool'], + 'IntlGregorianCalendar::isEquivalentTo' => ['bool', 'other'=>'IntlCalendar'], + 'IntlGregorianCalendar::isLeapYear' => ['bool', 'year'=>'int'], + 'IntlGregorianCalendar::isLenient' => ['bool'], + 'IntlGregorianCalendar::isSet' => ['bool', 'field'=>'int'], + 'IntlGregorianCalendar::isWeekend' => ['bool', 'date='=>'float'], + 'IntlGregorianCalendar::roll' => ['bool', 'field'=>'int', 'amountOrUpOrDown'=>'mixed'], + 'IntlGregorianCalendar::set' => ['bool', 'field'=>'int', 'value'=>'int'], + 'IntlGregorianCalendar::set\'1' => ['bool', 'year'=>'int', 'month'=>'int', 'dayOfMonth='=>'int', 'hour='=>'int', 'minute='=>'int', 'second='=>'int'], + 'IntlGregorianCalendar::setFirstDayOfWeek' => ['bool', 'dayOfWeek'=>'int'], + 'IntlGregorianCalendar::setGregorianChange' => ['bool', 'date'=>'float'], + 'IntlGregorianCalendar::setLenient' => ['bool', 'isLenient'=>'string'], + 'IntlGregorianCalendar::setMinimalDaysInFirstWeek' => ['bool', 'minimalDays'=>'int'], + 'IntlGregorianCalendar::setRepeatedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], + 'IntlGregorianCalendar::setSkippedWallTimeOption' => ['bool', 'wallTimeOption'=>'int'], + 'IntlGregorianCalendar::setTime' => ['bool', 'date'=>'float'], + 'IntlGregorianCalendar::setTimeZone' => ['bool', 'timeZone'=>'mixed'], + 'IntlGregorianCalendar::toDateTime' => ['DateTime'], + 'IntlIterator::__construct' => ['void'], + 'IntlIterator::current' => ['mixed'], + 'IntlIterator::key' => ['string'], + 'IntlIterator::next' => ['void'], + 'IntlIterator::rewind' => ['void'], + 'IntlIterator::valid' => ['bool'], + 'IntlPartsIterator::getBreakIterator' => ['IntlBreakIterator'], + 'IntlRuleBasedBreakIterator::__construct' => ['void', 'rules'=>'string', 'areCompiled='=>'string'], + 'IntlRuleBasedBreakIterator::createCharacterInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlRuleBasedBreakIterator::createCodePointInstance' => ['IntlCodePointBreakIterator'], + 'IntlRuleBasedBreakIterator::createLineInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlRuleBasedBreakIterator::createSentenceInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlRuleBasedBreakIterator::createTitleInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlRuleBasedBreakIterator::createWordInstance' => ['?IntlRuleBasedBreakIterator', 'locale='=>'?string'], + 'IntlRuleBasedBreakIterator::current' => ['int'], + 'IntlRuleBasedBreakIterator::first' => ['int'], + 'IntlRuleBasedBreakIterator::following' => ['int', 'offset'=>'int'], + 'IntlRuleBasedBreakIterator::getBinaryRules' => ['string'], + 'IntlRuleBasedBreakIterator::getErrorCode' => ['int'], + 'IntlRuleBasedBreakIterator::getErrorMessage' => ['string'], + 'IntlRuleBasedBreakIterator::getLocale' => ['string', 'locale_type'=>'string'], + 'IntlRuleBasedBreakIterator::getPartsIterator' => ['IntlPartsIterator', 'key_type='=>'int'], + 'IntlRuleBasedBreakIterator::getRuleStatus' => ['int'], + 'IntlRuleBasedBreakIterator::getRuleStatusVec' => ['array'], + 'IntlRuleBasedBreakIterator::getRules' => ['string'], + 'IntlRuleBasedBreakIterator::getText' => ['?string'], + 'IntlRuleBasedBreakIterator::isBoundary' => ['bool', 'offset'=>'int'], + 'IntlRuleBasedBreakIterator::last' => ['int'], + 'IntlRuleBasedBreakIterator::next' => ['int', 'offset='=>'?int'], + 'IntlRuleBasedBreakIterator::preceding' => ['int', 'offset'=>'int'], + 'IntlRuleBasedBreakIterator::previous' => ['int'], + 'IntlRuleBasedBreakIterator::setText' => ['?bool', 'text'=>'string'], + 'IntlTimeZone::countEquivalentIDs' => ['int|false', 'zoneId'=>'string'], + 'IntlTimeZone::createDefault' => ['IntlTimeZone'], + 'IntlTimeZone::createEnumeration' => ['IntlIterator|false', 'countryOrRawOffset='=>'mixed'], + 'IntlTimeZone::createTimeZone' => ['IntlTimeZone|false', 'zoneId'=>'string'], + 'IntlTimeZone::createTimeZoneIDEnumeration' => ['IntlIterator|false', 'zoneType'=>'int', 'region='=>'string', 'rawOffset='=>'int'], + 'IntlTimeZone::fromDateTimeZone' => ['?IntlTimeZone', 'zoneId'=>'DateTimeZone'], + 'IntlTimeZone::getCanonicalID' => ['string|false', 'zoneId'=>'string', '&w_isSystemID='=>'bool'], + 'IntlTimeZone::getDSTSavings' => ['int'], + 'IntlTimeZone::getDisplayName' => ['string|false', 'isDaylight='=>'bool', 'style='=>'int', 'locale='=>'string'], + 'IntlTimeZone::getEquivalentID' => ['string|false', 'zoneId'=>'string', 'index'=>'int'], + 'IntlTimeZone::getErrorCode' => ['int'], + 'IntlTimeZone::getErrorMessage' => ['string'], + 'IntlTimeZone::getGMT' => ['IntlTimeZone'], + 'IntlTimeZone::getID' => ['string'], + 'IntlTimeZone::getIDForWindowsID' => ['string', 'timezone'=>'string', 'region='=>'string'], + 'IntlTimeZone::getOffset' => ['int', 'date'=>'float', 'local'=>'bool', '&w_rawOffset'=>'int', '&w_dstOffset'=>'int'], + 'IntlTimeZone::getRawOffset' => ['int'], + 'IntlTimeZone::getRegion' => ['string|false', 'zoneId'=>'string'], + 'IntlTimeZone::getTZDataVersion' => ['string'], + 'IntlTimeZone::getUnknown' => ['IntlTimeZone'], + 'IntlTimeZone::getWindowsID' => ['string|false', 'timezone'=>'string'], + 'IntlTimeZone::hasSameRules' => ['bool', 'otherTimeZone'=>'IntlTimeZone'], + 'IntlTimeZone::toDateTimeZone' => ['DateTimeZone|false'], + 'IntlTimeZone::useDaylightTime' => ['bool'], + 'InvalidArgumentException::__clone' => ['void'], + 'InvalidArgumentException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'InvalidArgumentException::__toString' => ['string'], + 'InvalidArgumentException::getCode' => ['int'], + 'InvalidArgumentException::getFile' => ['string'], + 'InvalidArgumentException::getLine' => ['int'], + 'InvalidArgumentException::getMessage' => ['string'], + 'InvalidArgumentException::getPrevious' => ['?Throwable'], + 'InvalidArgumentException::getTrace' => ['list\',args?:array}>'], + 'InvalidArgumentException::getTraceAsString' => ['string'], + 'Iterator::current' => ['mixed'], + 'Iterator::key' => ['mixed'], + 'Iterator::next' => ['void'], + 'Iterator::rewind' => ['void'], + 'Iterator::valid' => ['bool'], + 'IteratorAggregate::getIterator' => ['Traversable'], + 'IteratorIterator::__construct' => ['void', 'it'=>'Traversable'], + 'IteratorIterator::current' => ['mixed'], + 'IteratorIterator::getInnerIterator' => ['Iterator'], + 'IteratorIterator::key' => ['mixed'], + 'IteratorIterator::next' => ['void'], + 'IteratorIterator::rewind' => ['void'], + 'IteratorIterator::valid' => ['bool'], + 'JavaException::getCause' => ['object'], + 'JsonIncrementalParser::__construct' => ['void', 'depth'=>'', 'options'=>''], + 'JsonIncrementalParser::get' => ['', 'options'=>''], + 'JsonIncrementalParser::getError' => [''], + 'JsonIncrementalParser::parse' => ['', 'json'=>''], + 'JsonIncrementalParser::parseFile' => ['', 'filename'=>''], + 'JsonIncrementalParser::reset' => [''], + 'JsonSerializable::jsonSerialize' => ['mixed'], + 'Judy::__construct' => ['void', 'judy_type'=>'int'], + 'Judy::__destruct' => ['void'], + 'Judy::byCount' => ['int', 'nth_index'=>'int'], + 'Judy::count' => ['int', 'index_start='=>'int', 'index_end='=>'int'], + 'Judy::first' => ['mixed', 'index='=>'mixed'], + 'Judy::firstEmpty' => ['mixed', 'index='=>'mixed'], + 'Judy::free' => ['int'], + 'Judy::getType' => ['int'], + 'Judy::last' => ['mixed', 'index='=>'string'], + 'Judy::lastEmpty' => ['mixed', 'index='=>'int'], + 'Judy::memoryUsage' => ['int'], + 'Judy::next' => ['mixed', 'index'=>'mixed'], + 'Judy::nextEmpty' => ['mixed', 'index'=>'mixed'], + 'Judy::offsetExists' => ['bool', 'offset'=>'mixed'], + 'Judy::offsetGet' => ['mixed', 'offset'=>'mixed'], + 'Judy::offsetSet' => ['bool', 'offset'=>'mixed', 'value'=>'mixed'], + 'Judy::offsetUnset' => ['bool', 'offset'=>'mixed'], + 'Judy::prev' => ['mixed', 'index'=>'mixed'], + 'Judy::prevEmpty' => ['mixed', 'index'=>'mixed'], + 'Judy::size' => ['int'], + 'KTaglib_ID3v2_AttachedPictureFrame::getDescription' => ['string'], + 'KTaglib_ID3v2_AttachedPictureFrame::getMimeType' => ['string'], + 'KTaglib_ID3v2_AttachedPictureFrame::getType' => ['int'], + 'KTaglib_ID3v2_AttachedPictureFrame::savePicture' => ['bool', 'filename'=>'string'], + 'KTaglib_ID3v2_AttachedPictureFrame::setMimeType' => ['string', 'type'=>'string'], + 'KTaglib_ID3v2_AttachedPictureFrame::setPicture' => ['', 'filename'=>'string'], + 'KTaglib_ID3v2_AttachedPictureFrame::setType' => ['', 'type'=>'int'], + 'KTaglib_ID3v2_Frame::__toString' => ['string'], + 'KTaglib_ID3v2_Frame::getDescription' => ['string'], + 'KTaglib_ID3v2_Frame::getMimeType' => ['string'], + 'KTaglib_ID3v2_Frame::getSize' => ['int'], + 'KTaglib_ID3v2_Frame::getType' => ['int'], + 'KTaglib_ID3v2_Frame::savePicture' => ['bool', 'filename'=>'string'], + 'KTaglib_ID3v2_Frame::setMimeType' => ['string', 'type'=>'string'], + 'KTaglib_ID3v2_Frame::setPicture' => ['void', 'filename'=>'string'], + 'KTaglib_ID3v2_Frame::setType' => ['void', 'type'=>'int'], + 'KTaglib_ID3v2_Tag::addFrame' => ['bool', 'frame'=>'KTaglib_ID3v2_Frame'], + 'KTaglib_ID3v2_Tag::getFrameList' => ['array'], + 'KTaglib_MPEG_AudioProperties::getBitrate' => ['int'], + 'KTaglib_MPEG_AudioProperties::getChannels' => ['int'], + 'KTaglib_MPEG_AudioProperties::getLayer' => ['int'], + 'KTaglib_MPEG_AudioProperties::getLength' => ['int'], + 'KTaglib_MPEG_AudioProperties::getSampleBitrate' => ['int'], + 'KTaglib_MPEG_AudioProperties::getVersion' => ['int'], + 'KTaglib_MPEG_AudioProperties::isCopyrighted' => ['bool'], + 'KTaglib_MPEG_AudioProperties::isOriginal' => ['bool'], + 'KTaglib_MPEG_AudioProperties::isProtectionEnabled' => ['bool'], + 'KTaglib_MPEG_File::getAudioProperties' => ['KTaglib_MPEG_File'], + 'KTaglib_MPEG_File::getID3v1Tag' => ['KTaglib_ID3v1_Tag', 'create='=>'bool'], + 'KTaglib_MPEG_File::getID3v2Tag' => ['KTaglib_ID3v2_Tag', 'create='=>'bool'], + 'KTaglib_Tag::getAlbum' => ['string'], + 'KTaglib_Tag::getArtist' => ['string'], + 'KTaglib_Tag::getComment' => ['string'], + 'KTaglib_Tag::getGenre' => ['string'], + 'KTaglib_Tag::getTitle' => ['string'], + 'KTaglib_Tag::getTrack' => ['int'], + 'KTaglib_Tag::getYear' => ['int'], + 'KTaglib_Tag::isEmpty' => ['bool'], + 'Lapack::eigenValues' => ['array', 'a'=>'array', 'left='=>'array', 'right='=>'array'], + 'Lapack::identity' => ['array', 'n'=>'int'], + 'Lapack::leastSquaresByFactorisation' => ['array', 'a'=>'array', 'b'=>'array'], + 'Lapack::leastSquaresBySVD' => ['array', 'a'=>'array', 'b'=>'array'], + 'Lapack::pseudoInverse' => ['array', 'a'=>'array'], + 'Lapack::singularValues' => ['array', 'a'=>'array'], + 'Lapack::solveLinearEquation' => ['array', 'a'=>'array', 'b'=>'array'], + 'LengthException::__clone' => ['void'], + 'LengthException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'LengthException::__toString' => ['string'], + 'LengthException::getCode' => ['int'], + 'LengthException::getFile' => ['string'], + 'LengthException::getLine' => ['int'], + 'LengthException::getMessage' => ['string'], + 'LengthException::getPrevious' => ['?Throwable'], + 'LengthException::getTrace' => ['list\',args?:array}>'], + 'LengthException::getTraceAsString' => ['string'], + 'LevelDB::__construct' => ['void', 'name'=>'string', 'options='=>'array', 'read_options='=>'array', 'write_options='=>'array'], + 'LevelDB::close' => [''], + 'LevelDB::compactRange' => ['', 'start'=>'', 'limit'=>''], + 'LevelDB::delete' => ['bool', 'key'=>'string', 'write_options='=>'array'], + 'LevelDB::destroy' => ['', 'name'=>'', 'options='=>'array'], + 'LevelDB::get' => ['bool|string', 'key'=>'string', 'read_options='=>'array'], + 'LevelDB::getApproximateSizes' => ['', 'start'=>'', 'limit'=>''], + 'LevelDB::getIterator' => ['LevelDBIterator', 'options='=>'array'], + 'LevelDB::getProperty' => ['mixed', 'name'=>'string'], + 'LevelDB::getSnapshot' => ['LevelDBSnapshot'], + 'LevelDB::put' => ['', 'key'=>'string', 'value'=>'string', 'write_options='=>'array'], + 'LevelDB::repair' => ['', 'name'=>'', 'options='=>'array'], + 'LevelDB::set' => ['', 'key'=>'string', 'value'=>'string', 'write_options='=>'array'], + 'LevelDB::write' => ['', 'batch'=>'LevelDBWriteBatch', 'write_options='=>'array'], + 'LevelDBIterator::__construct' => ['void', 'db'=>'LevelDB', 'read_options='=>'array'], + 'LevelDBIterator::current' => ['mixed'], + 'LevelDBIterator::destroy' => [''], + 'LevelDBIterator::getError' => [''], + 'LevelDBIterator::key' => ['int|string'], + 'LevelDBIterator::last' => [''], + 'LevelDBIterator::next' => ['void'], + 'LevelDBIterator::prev' => [''], + 'LevelDBIterator::rewind' => ['void'], + 'LevelDBIterator::seek' => ['', 'key'=>''], + 'LevelDBIterator::valid' => ['bool'], + 'LevelDBSnapshot::__construct' => ['void', 'db'=>'LevelDB'], + 'LevelDBSnapshot::release' => [''], + 'LevelDBWriteBatch::__construct' => ['void', 'name'=>'', 'options='=>'array', 'read_options='=>'array', 'write_options='=>'array'], + 'LevelDBWriteBatch::clear' => [''], + 'LevelDBWriteBatch::delete' => ['', 'key'=>'', 'write_options='=>'array'], + 'LevelDBWriteBatch::put' => ['', 'key'=>'', 'value'=>'', 'write_options='=>'array'], + 'LevelDBWriteBatch::set' => ['', 'key'=>'', 'value'=>'', 'write_options='=>'array'], + 'LimitIterator::__construct' => ['void', 'iterator'=>'Iterator', 'offset='=>'int', 'count='=>'int'], + 'LimitIterator::current' => ['mixed'], + 'LimitIterator::getInnerIterator' => ['Iterator'], + 'LimitIterator::getPosition' => ['int'], + 'LimitIterator::key' => ['mixed'], + 'LimitIterator::next' => ['void'], + 'LimitIterator::rewind' => ['void'], + 'LimitIterator::seek' => ['int', 'position'=>'int'], + 'LimitIterator::valid' => ['bool'], + 'Locale::acceptFromHttp' => ['string|false', 'header'=>'string'], + 'Locale::canonicalize' => ['string', 'locale'=>'string'], + 'Locale::composeLocale' => ['string', 'subtags'=>'array'], + 'Locale::filterMatches' => ['?bool', 'languageTag'=>'string', 'locale'=>'string', 'canonicalize='=>'bool'], + 'Locale::getAllVariants' => ['array', 'locale'=>'string'], + 'Locale::getDefault' => ['string'], + 'Locale::getDisplayLanguage' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'Locale::getDisplayName' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'Locale::getDisplayRegion' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'Locale::getDisplayScript' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'Locale::getDisplayVariant' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'Locale::getKeywords' => ['array|false', 'locale'=>'string'], + 'Locale::getPrimaryLanguage' => ['string', 'locale'=>'string'], + 'Locale::getRegion' => ['string', 'locale'=>'string'], + 'Locale::getScript' => ['string', 'locale'=>'string'], + 'Locale::lookup' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'string'], + 'Locale::parseLocale' => ['array', 'locale'=>'string'], + 'Locale::setDefault' => ['bool', 'locale'=>'string'], + 'LogicException::__clone' => ['void'], + 'LogicException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'LogicException::__toString' => ['string'], + 'LogicException::getCode' => ['int'], + 'LogicException::getFile' => ['string'], + 'LogicException::getLine' => ['int'], + 'LogicException::getMessage' => ['string'], + 'LogicException::getPrevious' => ['?Throwable'], + 'LogicException::getTrace' => ['list\',args?:array}>'], + 'LogicException::getTraceAsString' => ['string'], + 'Lua::__call' => ['mixed', 'lua_func'=>'callable', 'args='=>'array', 'use_self='=>'int'], + 'Lua::__construct' => ['void', 'lua_script_file'=>'string'], + 'Lua::assign' => ['?Lua', 'name'=>'string', 'value'=>'mixed'], + 'Lua::call' => ['mixed', 'lua_func'=>'callable', 'args='=>'array', 'use_self='=>'int'], + 'Lua::eval' => ['mixed', 'statements'=>'string'], + 'Lua::getVersion' => ['string'], + 'Lua::include' => ['mixed', 'file'=>'string'], + 'Lua::registerCallback' => ['Lua|null|false', 'name'=>'string', 'function'=>'callable'], + 'LuaClosure::__invoke' => ['void', 'arg'=>'mixed', '...args='=>'mixed'], + 'Memcache::add' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'Memcache::addServer' => ['bool', 'host'=>'string', 'port='=>'int', 'persistent='=>'bool', 'weight='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable', 'timeoutms='=>'int'], + 'Memcache::append' => [''], + 'Memcache::cas' => [''], + 'Memcache::close' => ['bool'], + 'Memcache::connect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], + 'Memcache::decrement' => ['int', 'key'=>'string', 'value='=>'int'], + 'Memcache::delete' => ['bool', 'key'=>'string', 'timeout='=>'int'], + 'Memcache::findServer' => [''], + 'Memcache::flush' => ['bool'], + 'Memcache::get' => ['string|array|false', 'key'=>'string', 'flags='=>'array', 'keys='=>'array'], + 'Memcache::get\'1' => ['array', 'key'=>'string[]', 'flags='=>'int[]'], + 'Memcache::getExtendedStats' => ['false|array>', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], + 'Memcache::getServerStatus' => ['int', 'host'=>'string', 'port='=>'int'], + 'Memcache::getStats' => ['array', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], + 'Memcache::getVersion' => ['string'], + 'Memcache::increment' => ['int', 'key'=>'string', 'value='=>'int'], + 'Memcache::pconnect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], + 'Memcache::prepend' => ['string'], + 'Memcache::replace' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'Memcache::set' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'Memcache::setCompressThreshold' => ['bool', 'threshold'=>'int', 'min_savings='=>'float'], + 'Memcache::setFailureCallback' => [''], + 'Memcache::setServerParams' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable'], + 'MemcachePool::add' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'MemcachePool::addServer' => ['bool', 'host'=>'string', 'port='=>'int', 'persistent='=>'bool', 'weight='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'?callable', 'timeoutms='=>'int'], + 'MemcachePool::append' => [''], + 'MemcachePool::cas' => [''], + 'MemcachePool::close' => ['bool'], + 'MemcachePool::connect' => ['bool', 'host'=>'string', 'port'=>'int', 'timeout='=>'int'], + 'MemcachePool::decrement' => ['int|false', 'key'=>'', 'value='=>'int|mixed'], + 'MemcachePool::delete' => ['bool', 'key'=>'', 'timeout='=>'int|mixed'], + 'MemcachePool::findServer' => [''], + 'MemcachePool::flush' => ['bool'], + 'MemcachePool::get' => ['array|string|false', 'key'=>'array|string', '&flags='=>'array|int'], + 'MemcachePool::getExtendedStats' => ['false|array>', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], + 'MemcachePool::getServerStatus' => ['int', 'host'=>'string', 'port='=>'int'], + 'MemcachePool::getStats' => ['array|false', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], + 'MemcachePool::getVersion' => ['string|false'], + 'MemcachePool::increment' => ['int|false', 'key'=>'', 'value='=>'int|mixed'], + 'MemcachePool::prepend' => ['string'], + 'MemcachePool::replace' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'MemcachePool::set' => ['bool', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'MemcachePool::setCompressThreshold' => ['bool', 'thresold'=>'int', 'min_saving='=>'float'], + 'MemcachePool::setFailureCallback' => [''], + 'MemcachePool::setServerParams' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'?callable'], + 'Memcached::__construct' => ['void', 'persistent_id='=>'?string', 'callback='=>'?callable', 'connection_str='=>'?string'], + 'Memcached::add' => ['bool', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::addByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::addServer' => ['bool', 'host'=>'string', 'port'=>'int', 'weight='=>'int'], + 'Memcached::addServers' => ['bool', 'servers'=>'array'], + 'Memcached::append' => ['?bool', 'key'=>'string', 'value'=>'string'], + 'Memcached::appendByKey' => ['?bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'string'], + 'Memcached::cas' => ['bool', 'cas_token'=>'string|int|float', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::casByKey' => ['bool', 'cas_token'=>'string|int|float', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::decrement' => ['int|false', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], + 'Memcached::decrementByKey' => ['int|false', 'server_key'=>'string', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], + 'Memcached::delete' => ['bool', 'key'=>'string', 'time='=>'int'], + 'Memcached::deleteByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'time='=>'int'], + 'Memcached::deleteMulti' => ['array', 'keys'=>'array', 'time='=>'int'], + 'Memcached::deleteMultiByKey' => ['array', 'server_key'=>'string', 'keys'=>'array', 'time='=>'int'], + 'Memcached::fetch' => ['array|false'], + 'Memcached::fetchAll' => ['array|false'], + 'Memcached::flush' => ['bool', 'delay='=>'int'], + 'Memcached::flushBuffers' => ['bool'], + 'Memcached::get' => ['mixed|false', 'key'=>'string', 'cache_cb='=>'?callable', 'get_flags='=>'int'], + 'Memcached::getAllKeys' => ['array|false'], + 'Memcached::getByKey' => ['mixed|false', 'server_key'=>'string', 'key'=>'string', 'cache_cb='=>'?callable', 'get_flags='=>'int'], + 'Memcached::getDelayed' => ['bool', 'keys'=>'array', 'with_cas='=>'bool', 'value_cb='=>'?callable'], + 'Memcached::getDelayedByKey' => ['bool', 'server_key'=>'string', 'keys'=>'array', 'with_cas='=>'bool', 'value_cb='=>'?callable'], + 'Memcached::getLastDisconnectedServer' => ['array|false'], + 'Memcached::getLastErrorCode' => ['int'], + 'Memcached::getLastErrorErrno' => ['int'], + 'Memcached::getLastErrorMessage' => ['string'], + 'Memcached::getMulti' => ['array|false', 'keys'=>'array', 'get_flags='=>'int'], + 'Memcached::getMultiByKey' => ['array|false', 'server_key'=>'string', 'keys'=>'array', 'get_flags='=>'int'], + 'Memcached::getOption' => ['mixed|false', 'option'=>'int'], + 'Memcached::getResultCode' => ['int'], + 'Memcached::getResultMessage' => ['string'], + 'Memcached::getServerByKey' => ['array', 'server_key'=>'string'], + 'Memcached::getServerList' => ['array'], + 'Memcached::getStats' => ['false|array>', 'type='=>'?string'], + 'Memcached::getVersion' => ['array'], + 'Memcached::increment' => ['int|false', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], + 'Memcached::incrementByKey' => ['int|false', 'server_key'=>'string', 'key'=>'string', 'offset='=>'int', 'initial_value='=>'int', 'expiry='=>'int'], + 'Memcached::isPersistent' => ['bool'], + 'Memcached::isPristine' => ['bool'], + 'Memcached::prepend' => ['?bool', 'key'=>'string', 'value'=>'string'], + 'Memcached::prependByKey' => ['?bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'string'], + 'Memcached::quit' => ['bool'], + 'Memcached::replace' => ['bool', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::replaceByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::resetServerList' => ['bool'], + 'Memcached::set' => ['bool', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::setBucket' => ['bool', 'host_map'=>'array', 'forward_map'=>'?array', 'replicas'=>'int'], + 'Memcached::setByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'value'=>'mixed', 'expiration='=>'int'], + 'Memcached::setEncodingKey' => ['bool', 'key'=>'string'], + 'Memcached::setMulti' => ['bool', 'items'=>'array', 'expiration='=>'int'], + 'Memcached::setMultiByKey' => ['bool', 'server_key'=>'string', 'items'=>'array', 'expiration='=>'int'], + 'Memcached::setOption' => ['bool', 'option'=>'int', 'value'=>'mixed'], + 'Memcached::setOptions' => ['bool', 'options'=>'array'], + 'Memcached::setSaslAuthData' => ['bool', 'username'=>'string', 'password'=>'string'], + 'Memcached::touch' => ['bool', 'key'=>'string', 'expiration='=>'int'], + 'Memcached::touchByKey' => ['bool', 'server_key'=>'string', 'key'=>'string', 'expiration='=>'int'], + 'MessageFormatter::__construct' => ['void', 'locale'=>'string', 'pattern'=>'string'], + 'MessageFormatter::create' => ['MessageFormatter', 'locale'=>'string', 'pattern'=>'string'], + 'MessageFormatter::format' => ['false|string', 'args'=>'array'], + 'MessageFormatter::formatMessage' => ['false|string', 'locale'=>'string', 'pattern'=>'string', 'args'=>'array'], + 'MessageFormatter::getErrorCode' => ['int'], + 'MessageFormatter::getErrorMessage' => ['string'], + 'MessageFormatter::getLocale' => ['string'], + 'MessageFormatter::getPattern' => ['string'], + 'MessageFormatter::parse' => ['array|false', 'value'=>'string'], + 'MessageFormatter::parseMessage' => ['array|false', 'locale'=>'string', 'pattern'=>'string', 'source'=>'string'], + 'MessageFormatter::setPattern' => ['bool', 'pattern'=>'string'], + 'Mongo::__construct' => ['void', 'server='=>'string', 'options='=>'array', 'driver_options='=>'array'], + 'Mongo::__get' => ['MongoDB', 'dbname'=>'string'], + 'Mongo::__toString' => ['string'], + 'Mongo::close' => ['bool'], + 'Mongo::connect' => ['bool'], + 'Mongo::connectUtil' => ['bool'], + 'Mongo::dropDB' => ['array', 'db'=>'mixed'], + 'Mongo::forceError' => ['bool'], + 'Mongo::getConnections' => ['array'], + 'Mongo::getHosts' => ['array'], + 'Mongo::getPoolSize' => ['int'], + 'Mongo::getReadPreference' => ['array'], + 'Mongo::getSlave' => ['?string'], + 'Mongo::getSlaveOkay' => ['bool'], + 'Mongo::getWriteConcern' => ['array'], + 'Mongo::killCursor' => ['', 'server_hash'=>'string', 'id'=>'MongoInt64|int'], + 'Mongo::lastError' => ['?array'], + 'Mongo::listDBs' => ['array'], + 'Mongo::pairConnect' => ['bool'], + 'Mongo::pairPersistConnect' => ['bool', 'username='=>'string', 'password='=>'string'], + 'Mongo::persistConnect' => ['bool', 'username='=>'string', 'password='=>'string'], + 'Mongo::poolDebug' => ['array'], + 'Mongo::prevError' => ['array'], + 'Mongo::resetError' => ['array'], + 'Mongo::selectCollection' => ['MongoCollection', 'db'=>'string', 'collection'=>'string'], + 'Mongo::selectDB' => ['MongoDB', 'name'=>'string'], + 'Mongo::setPoolSize' => ['bool', 'size'=>'int'], + 'Mongo::setReadPreference' => ['bool', 'readPreference'=>'string', 'tags='=>'array'], + 'Mongo::setSlaveOkay' => ['bool', 'ok='=>'bool'], + 'Mongo::switchSlave' => ['string'], + 'MongoBinData::__construct' => ['void', 'data'=>'string', 'type='=>'int'], + 'MongoBinData::__toString' => ['string'], + 'MongoClient::__construct' => ['void', 'server='=>'string', 'options='=>'array', 'driver_options='=>'array'], + 'MongoClient::__get' => ['MongoDB', 'dbname'=>'string'], + 'MongoClient::__toString' => ['string'], + 'MongoClient::close' => ['bool', 'connection='=>'bool|string'], + 'MongoClient::connect' => ['bool'], + 'MongoClient::dropDB' => ['array', 'db'=>'mixed'], + 'MongoClient::getConnections' => ['array'], + 'MongoClient::getHosts' => ['array'], + 'MongoClient::getReadPreference' => ['array'], + 'MongoClient::getWriteConcern' => ['array'], + 'MongoClient::killCursor' => ['bool', 'server_hash'=>'string', 'id'=>'int|MongoInt64'], + 'MongoClient::listDBs' => ['array'], + 'MongoClient::selectCollection' => ['MongoCollection', 'db'=>'string', 'collection'=>'string'], + 'MongoClient::selectDB' => ['MongoDB', 'name'=>'string'], + 'MongoClient::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags='=>'array'], + 'MongoClient::setWriteConcern' => ['bool', 'w'=>'mixed', 'wtimeout='=>'int'], + 'MongoClient::switchSlave' => ['string'], + 'MongoCode::__construct' => ['void', 'code'=>'string', 'scope='=>'array'], + 'MongoCode::__toString' => ['string'], + 'MongoCollection::__construct' => ['void', 'db'=>'MongoDB', 'name'=>'string'], + 'MongoCollection::__get' => ['MongoCollection', 'name'=>'string'], + 'MongoCollection::__toString' => ['string'], + 'MongoCollection::aggregate' => ['array', 'op'=>'array', 'op='=>'array', '...args='=>'array'], + 'MongoCollection::aggregate\'1' => ['array', 'pipeline'=>'array', 'options='=>'array'], + 'MongoCollection::aggregateCursor' => ['MongoCommandCursor', 'command'=>'array', 'options='=>'array'], + 'MongoCollection::batchInsert' => ['array|bool', 'a'=>'array', 'options='=>'array'], + 'MongoCollection::count' => ['int', 'query='=>'array', 'limit='=>'int', 'skip='=>'int'], + 'MongoCollection::createDBRef' => ['array', 'a'=>'array'], + 'MongoCollection::createIndex' => ['array', 'keys'=>'array', 'options='=>'array'], + 'MongoCollection::deleteIndex' => ['array', 'keys'=>'string|array'], + 'MongoCollection::deleteIndexes' => ['array'], + 'MongoCollection::distinct' => ['array|false', 'key'=>'string', 'query='=>'array'], + 'MongoCollection::drop' => ['array'], + 'MongoCollection::ensureIndex' => ['bool', 'keys'=>'array', 'options='=>'array'], + 'MongoCollection::find' => ['MongoCursor', 'query='=>'array', 'fields='=>'array'], + 'MongoCollection::findAndModify' => ['array', 'query'=>'array', 'update='=>'array', 'fields='=>'array', 'options='=>'array'], + 'MongoCollection::findOne' => ['?array', 'query='=>'array', 'fields='=>'array'], + 'MongoCollection::getDBRef' => ['array', 'ref'=>'array'], + 'MongoCollection::getIndexInfo' => ['array'], + 'MongoCollection::getName' => ['string'], + 'MongoCollection::getReadPreference' => ['array'], + 'MongoCollection::getSlaveOkay' => ['bool'], + 'MongoCollection::getWriteConcern' => ['array'], + 'MongoCollection::group' => ['array', 'keys'=>'mixed', 'initial'=>'array', 'reduce'=>'MongoCode', 'options='=>'array'], + 'MongoCollection::insert' => ['bool|array', 'a'=>'array|object', 'options='=>'array'], + 'MongoCollection::parallelCollectionScan' => ['MongoCommandCursor[]', 'num_cursors'=>'int'], + 'MongoCollection::remove' => ['bool|array', 'criteria='=>'array', 'options='=>'array'], + 'MongoCollection::save' => ['bool|array', 'a'=>'array|object', 'options='=>'array'], + 'MongoCollection::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags='=>'array'], + 'MongoCollection::setSlaveOkay' => ['bool', 'ok='=>'bool'], + 'MongoCollection::setWriteConcern' => ['bool', 'w'=>'mixed', 'wtimeout='=>'int'], + 'MongoCollection::toIndexString' => ['string', 'keys'=>'mixed'], + 'MongoCollection::update' => ['bool', 'criteria'=>'array', 'newobj'=>'array', 'options='=>'array'], + 'MongoCollection::validate' => ['array', 'scan_data='=>'bool'], + 'MongoCommandCursor::__construct' => ['void', 'connection'=>'MongoClient', 'ns'=>'string', 'command'=>'array'], + 'MongoCommandCursor::batchSize' => ['MongoCommandCursor', 'batchSize'=>'int'], + 'MongoCommandCursor::createFromDocument' => ['MongoCommandCursor', 'connection'=>'MongoClient', 'hash'=>'string', 'document'=>'array'], + 'MongoCommandCursor::current' => ['array'], + 'MongoCommandCursor::dead' => ['bool'], + 'MongoCommandCursor::getReadPreference' => ['array'], + 'MongoCommandCursor::info' => ['array'], + 'MongoCommandCursor::key' => ['int'], + 'MongoCommandCursor::next' => ['void'], + 'MongoCommandCursor::rewind' => ['array'], + 'MongoCommandCursor::setReadPreference' => ['MongoCommandCursor', 'read_preference'=>'string', 'tags='=>'array'], + 'MongoCommandCursor::timeout' => ['MongoCommandCursor', 'ms'=>'int'], + 'MongoCommandCursor::valid' => ['bool'], + 'MongoCursor::__construct' => ['void', 'connection'=>'MongoClient', 'ns'=>'string', 'query='=>'array', 'fields='=>'array'], + 'MongoCursor::addOption' => ['MongoCursor', 'key'=>'string', 'value'=>'mixed'], + 'MongoCursor::awaitData' => ['MongoCursor', 'wait='=>'bool'], + 'MongoCursor::batchSize' => ['MongoCursor', 'num'=>'int'], + 'MongoCursor::count' => ['int', 'foundonly='=>'bool'], + 'MongoCursor::current' => ['array'], + 'MongoCursor::dead' => ['bool'], + 'MongoCursor::doQuery' => ['void'], + 'MongoCursor::explain' => ['array'], + 'MongoCursor::fields' => ['MongoCursor', 'f'=>'array'], + 'MongoCursor::getNext' => ['array'], + 'MongoCursor::getReadPreference' => ['array'], + 'MongoCursor::hasNext' => ['bool'], + 'MongoCursor::hint' => ['MongoCursor', 'key_pattern'=>'string|array|object'], + 'MongoCursor::immortal' => ['MongoCursor', 'liveforever='=>'bool'], + 'MongoCursor::info' => ['array'], + 'MongoCursor::key' => ['string'], + 'MongoCursor::limit' => ['MongoCursor', 'num'=>'int'], + 'MongoCursor::maxTimeMS' => ['MongoCursor', 'ms'=>'int'], + 'MongoCursor::next' => ['array'], + 'MongoCursor::partial' => ['MongoCursor', 'okay='=>'bool'], + 'MongoCursor::reset' => ['void'], + 'MongoCursor::rewind' => ['void'], + 'MongoCursor::setFlag' => ['MongoCursor', 'flag'=>'int', 'set='=>'bool'], + 'MongoCursor::setReadPreference' => ['MongoCursor', 'read_preference'=>'string', 'tags='=>'array'], + 'MongoCursor::skip' => ['MongoCursor', 'num'=>'int'], + 'MongoCursor::slaveOkay' => ['MongoCursor', 'okay='=>'bool'], + 'MongoCursor::snapshot' => ['MongoCursor'], + 'MongoCursor::sort' => ['MongoCursor', 'fields'=>'array'], + 'MongoCursor::tailable' => ['MongoCursor', 'tail='=>'bool'], + 'MongoCursor::timeout' => ['MongoCursor', 'ms'=>'int'], + 'MongoCursor::valid' => ['bool'], + 'MongoCursorException::__clone' => ['void'], + 'MongoCursorException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'MongoCursorException::__toString' => ['string'], + 'MongoCursorException::__wakeup' => ['void'], + 'MongoCursorException::getCode' => ['int'], + 'MongoCursorException::getFile' => ['string'], + 'MongoCursorException::getHost' => ['string'], + 'MongoCursorException::getLine' => ['int'], + 'MongoCursorException::getMessage' => ['string'], + 'MongoCursorException::getPrevious' => ['Exception|Throwable'], + 'MongoCursorException::getTrace' => ['list\',args?:array}>'], + 'MongoCursorException::getTraceAsString' => ['string'], + 'MongoCursorInterface::__construct' => ['void'], + 'MongoCursorInterface::batchSize' => ['MongoCursorInterface', 'batchSize'=>'int'], + 'MongoCursorInterface::current' => ['mixed'], + 'MongoCursorInterface::dead' => ['bool'], + 'MongoCursorInterface::getReadPreference' => ['array'], + 'MongoCursorInterface::info' => ['array'], + 'MongoCursorInterface::key' => ['int|string'], + 'MongoCursorInterface::next' => ['void'], + 'MongoCursorInterface::rewind' => ['void'], + 'MongoCursorInterface::setReadPreference' => ['MongoCursorInterface', 'read_preference'=>'string', 'tags='=>'array'], + 'MongoCursorInterface::timeout' => ['MongoCursorInterface', 'ms'=>'int'], + 'MongoCursorInterface::valid' => ['bool'], + 'MongoDB::__construct' => ['void', 'conn'=>'MongoClient', 'name'=>'string'], + 'MongoDB::__get' => ['MongoCollection', 'name'=>'string'], + 'MongoDB::__toString' => ['string'], + 'MongoDB::authenticate' => ['array', 'username'=>'string', 'password'=>'string'], + 'MongoDB::command' => ['array', 'command'=>'array'], + 'MongoDB::createCollection' => ['MongoCollection', 'name'=>'string', 'capped='=>'bool', 'size='=>'int', 'max='=>'int'], + 'MongoDB::createDBRef' => ['array', 'collection'=>'string', 'a'=>'mixed'], + 'MongoDB::drop' => ['array'], + 'MongoDB::dropCollection' => ['array', 'coll'=>'MongoCollection|string'], + 'MongoDB::execute' => ['array', 'code'=>'MongoCode|string', 'args='=>'array'], + 'MongoDB::forceError' => ['bool'], + 'MongoDB::getCollectionInfo' => ['array', 'options='=>'array'], + 'MongoDB::getCollectionNames' => ['array', 'options='=>'array'], + 'MongoDB::getDBRef' => ['array', 'ref'=>'array'], + 'MongoDB::getGridFS' => ['MongoGridFS', 'prefix='=>'string'], + 'MongoDB::getProfilingLevel' => ['int'], + 'MongoDB::getReadPreference' => ['array'], + 'MongoDB::getSlaveOkay' => ['bool'], + 'MongoDB::getWriteConcern' => ['array'], + 'MongoDB::lastError' => ['array'], + 'MongoDB::listCollections' => ['array'], + 'MongoDB::prevError' => ['array'], + 'MongoDB::repair' => ['array', 'preserve_cloned_files='=>'bool', 'backup_original_files='=>'bool'], + 'MongoDB::resetError' => ['array'], + 'MongoDB::selectCollection' => ['MongoCollection', 'name'=>'string'], + 'MongoDB::setProfilingLevel' => ['int', 'level'=>'int'], + 'MongoDB::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags='=>'array'], + 'MongoDB::setSlaveOkay' => ['bool', 'ok='=>'bool'], + 'MongoDB::setWriteConcern' => ['bool', 'w'=>'mixed', 'wtimeout='=>'int'], + 'MongoDBRef::create' => ['array', 'collection'=>'string', 'id'=>'mixed', 'database='=>'string'], + 'MongoDBRef::get' => ['?array', 'db'=>'MongoDB', 'ref'=>'array'], + 'MongoDBRef::isRef' => ['bool', 'ref'=>'mixed'], + 'MongoDB\BSON\Binary::__construct' => ['void', 'data' => 'string', 'type' => 'int'], + 'MongoDB\BSON\Binary::getData' => ['string'], + 'MongoDB\BSON\Binary::getType' => ['int'], + 'MongoDB\BSON\Binary::__toString' => ['string'], + 'MongoDB\BSON\Binary::serialize' => ['string'], + 'MongoDB\BSON\Binary::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Binary::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\BinaryInterface::getData' => ['string'], + 'MongoDB\BSON\BinaryInterface::getType' => ['int'], + 'MongoDB\BSON\BinaryInterface::__toString' => ['string'], + 'MongoDB\BSON\DBPointer::__toString' => ['string'], + 'MongoDB\BSON\DBPointer::serialize' => ['string'], + 'MongoDB\BSON\DBPointer::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\DBPointer::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\Decimal128::__construct' => ['void', 'value' => 'string'], + 'MongoDB\BSON\Decimal128::__toString' => ['string'], + 'MongoDB\BSON\Decimal128::serialize' => ['string'], + 'MongoDB\BSON\Decimal128::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Decimal128::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\Decimal128Interface::__toString' => ['string'], + 'MongoDB\BSON\Int64::__toString' => ['string'], + 'MongoDB\BSON\Int64::serialize' => ['string'], + 'MongoDB\BSON\Int64::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Int64::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\Javascript::__construct' => ['void', 'code' => 'string', 'scope=' => 'object|array|null'], + 'MongoDB\BSON\Javascript::getCode' => ['string'], + 'MongoDB\BSON\Javascript::getScope' => ['?object'], + 'MongoDB\BSON\Javascript::__toString' => ['string'], + 'MongoDB\BSON\Javascript::serialize' => ['string'], + 'MongoDB\BSON\Javascript::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Javascript::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\JavascriptInterface::getCode' => ['string'], + 'MongoDB\BSON\JavascriptInterface::getScope' => ['?object'], + 'MongoDB\BSON\JavascriptInterface::__toString' => ['string'], + 'MongoDB\BSON\MaxKey::serialize' => ['string'], + 'MongoDB\BSON\MaxKey::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\MaxKey::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\MinKey::serialize' => ['string'], + 'MongoDB\BSON\MinKey::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\MinKey::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\ObjectId::__construct' => ['void', 'id=' => '?string'], + 'MongoDB\BSON\ObjectId::getTimestamp' => ['int'], + 'MongoDB\BSON\ObjectId::__toString' => ['string'], + 'MongoDB\BSON\ObjectId::serialize' => ['string'], + 'MongoDB\BSON\ObjectId::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\ObjectId::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\ObjectIdInterface::getTimestamp' => ['int'], + 'MongoDB\BSON\ObjectIdInterface::__toString' => ['string'], + 'MongoDB\BSON\Regex::__construct' => ['void', 'pattern' => 'string', 'flags=' => 'string'], + 'MongoDB\BSON\Regex::getPattern' => ['string'], + 'MongoDB\BSON\Regex::getFlags' => ['string'], + 'MongoDB\BSON\Regex::__toString' => ['string'], + 'MongoDB\BSON\Regex::serialize' => ['string'], + 'MongoDB\BSON\Regex::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Regex::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\RegexInterface::getPattern' => ['string'], + 'MongoDB\BSON\RegexInterface::getFlags' => ['string'], + 'MongoDB\BSON\RegexInterface::__toString' => ['string'], + 'MongoDB\BSON\Serializable::bsonSerialize' => ['object|array'], + 'MongoDB\BSON\Symbol::__toString' => ['string'], + 'MongoDB\BSON\Symbol::serialize' => ['string'], + 'MongoDB\BSON\Symbol::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Symbol::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\Timestamp::__construct' => ['void', 'increment' => 'string|int', 'timestamp' => 'string|int'], + 'MongoDB\BSON\Timestamp::getTimestamp' => ['int'], + 'MongoDB\BSON\Timestamp::getIncrement' => ['int'], + 'MongoDB\BSON\Timestamp::__toString' => ['string'], + 'MongoDB\BSON\Timestamp::serialize' => ['string'], + 'MongoDB\BSON\Timestamp::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Timestamp::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\TimestampInterface::getTimestamp' => ['int'], + 'MongoDB\BSON\TimestampInterface::getIncrement' => ['int'], + 'MongoDB\BSON\TimestampInterface::__toString' => ['string'], + 'MongoDB\BSON\UTCDateTime::__construct' => ['void', 'milliseconds=' => 'DateTimeInterface|string|int|float|null'], + 'MongoDB\BSON\UTCDateTime::toDateTime' => ['DateTime'], + 'MongoDB\BSON\UTCDateTime::__toString' => ['string'], + 'MongoDB\BSON\UTCDateTime::serialize' => ['string'], + 'MongoDB\BSON\UTCDateTime::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\UTCDateTime::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\UTCDateTimeInterface::toDateTime' => ['DateTime'], + 'MongoDB\BSON\UTCDateTimeInterface::__toString' => ['string'], + 'MongoDB\BSON\Undefined::__toString' => ['string'], + 'MongoDB\BSON\Undefined::serialize' => ['string'], + 'MongoDB\BSON\Undefined::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\BSON\Undefined::jsonSerialize' => ['mixed'], + 'MongoDB\BSON\Unserializable::bsonUnserialize' => ['void', 'data' => 'array'], + 'MongoDB\Driver\BulkWrite::__construct' => ['void', 'options=' => '?array'], + 'MongoDB\Driver\BulkWrite::count' => ['int'], + 'MongoDB\Driver\BulkWrite::delete' => ['void', 'filter' => 'object|array', 'deleteOptions=' => '?array'], + 'MongoDB\Driver\BulkWrite::insert' => ['mixed', 'document' => 'object|array'], + 'MongoDB\Driver\BulkWrite::update' => ['void', 'filter' => 'object|array', 'newObj' => 'object|array', 'updateOptions=' => '?array'], + 'MongoDB\Driver\ClientEncryption::__construct' => ['void', 'options' => 'array'], + 'MongoDB\Driver\ClientEncryption::addKeyAltName' => ['?object', 'keyId' => 'MongoDB\BSON\Binary', 'keyAltName' => 'string'], + 'MongoDB\Driver\ClientEncryption::createDataKey' => ['MongoDB\BSON\Binary', 'kmsProvider' => 'string', 'options=' => '?array'], + 'MongoDB\Driver\ClientEncryption::decrypt' => ['mixed', 'value' => 'MongoDB\BSON\Binary'], + 'MongoDB\Driver\ClientEncryption::deleteKey' => ['object', 'keyId' => 'MongoDB\BSON\Binary'], + 'MongoDB\Driver\ClientEncryption::encrypt' => ['MongoDB\BSON\Binary', 'value' => 'mixed', 'options=' => '?array'], + 'MongoDB\Driver\ClientEncryption::getKey' => ['?object', 'keyId' => 'MongoDB\BSON\Binary'], + 'MongoDB\Driver\ClientEncryption::getKeyByAltName' => ['?object', 'keyAltName' => 'string'], + 'MongoDB\Driver\ClientEncryption::getKeys' => ['MongoDB\Driver\Cursor'], + 'MongoDB\Driver\ClientEncryption::removeKeyAltName' => ['?object', 'keyId' => 'MongoDB\BSON\Binary', 'keyAltName' => 'string'], + 'MongoDB\Driver\ClientEncryption::rewrapManyDataKey' => ['object', 'filter' => 'object|array', 'options=' => '?array'], + 'MongoDB\Driver\Command::__construct' => ['void', 'document' => 'object|array', 'commandOptions=' => '?array'], + 'MongoDB\Driver\Cursor::current' => ['object|array|null'], + 'MongoDB\Driver\Cursor::getId' => ['MongoDB\Driver\CursorId'], + 'MongoDB\Driver\Cursor::getServer' => ['MongoDB\Driver\Server'], + 'MongoDB\Driver\Cursor::isDead' => ['bool'], + 'MongoDB\Driver\Cursor::key' => ['?int'], + 'MongoDB\Driver\Cursor::next' => ['void'], + 'MongoDB\Driver\Cursor::rewind' => ['void'], + 'MongoDB\Driver\Cursor::setTypeMap' => ['void', 'typemap' => 'array'], + 'MongoDB\Driver\Cursor::toArray' => ['array'], + 'MongoDB\Driver\Cursor::valid' => ['bool'], + 'MongoDB\Driver\CursorId::__toString' => ['string'], + 'MongoDB\Driver\CursorId::serialize' => ['string'], + 'MongoDB\Driver\CursorId::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\Driver\CursorInterface::getId' => ['MongoDB\Driver\CursorId'], + 'MongoDB\Driver\CursorInterface::getServer' => ['MongoDB\Driver\Server'], + 'MongoDB\Driver\CursorInterface::isDead' => ['bool'], + 'MongoDB\Driver\CursorInterface::setTypeMap' => ['void', 'typemap' => 'array'], + 'MongoDB\Driver\CursorInterface::toArray' => ['array'], + 'MongoDB\Driver\Exception\AuthenticationException::__toString' => ['string'], + 'MongoDB\Driver\Exception\BulkWriteException::__toString' => ['string'], + 'MongoDB\Driver\Exception\CommandException::getResultDocument' => ['object'], + 'MongoDB\Driver\Exception\CommandException::__toString' => ['string'], + 'MongoDB\Driver\Exception\ConnectionException::__toString' => ['string'], + 'MongoDB\Driver\Exception\ConnectionTimeoutException::__toString' => ['string'], + 'MongoDB\Driver\Exception\EncryptionException::__toString' => ['string'], + 'MongoDB\Driver\Exception\Exception::__toString' => ['string'], + 'MongoDB\Driver\Exception\ExecutionTimeoutException::__toString' => ['string'], + 'MongoDB\Driver\Exception\InvalidArgumentException::__toString' => ['string'], + 'MongoDB\Driver\Exception\LogicException::__toString' => ['string'], + 'MongoDB\Driver\Exception\RuntimeException::hasErrorLabel' => ['bool', 'errorLabel' => 'string'], + 'MongoDB\Driver\Exception\RuntimeException::__toString' => ['string'], + 'MongoDB\Driver\Exception\SSLConnectionException::__toString' => ['string'], + 'MongoDB\Driver\Exception\ServerException::__toString' => ['string'], + 'MongoDB\Driver\Exception\UnexpectedValueException::__toString' => ['string'], + 'MongoDB\Driver\Exception\WriteException::getWriteResult' => ['MongoDB\Driver\WriteResult'], + 'MongoDB\Driver\Exception\WriteException::__toString' => ['string'], + 'MongoDB\Driver\Manager::__construct' => ['void', 'uri=' => '?string', 'uriOptions=' => '?array', 'driverOptions=' => '?array'], + 'MongoDB\Driver\Manager::addSubscriber' => ['void', 'subscriber' => 'MongoDB\Driver\Monitoring\Subscriber'], + 'MongoDB\Driver\Manager::createClientEncryption' => ['MongoDB\Driver\ClientEncryption', 'options' => 'array'], + 'MongoDB\Driver\Manager::executeBulkWrite' => ['MongoDB\Driver\WriteResult', 'namespace' => 'string', 'bulk' => 'MongoDB\Driver\BulkWrite', 'options=' => 'MongoDB\Driver\WriteConcern|array|null'], + 'MongoDB\Driver\Manager::executeCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], + 'MongoDB\Driver\Manager::executeQuery' => ['MongoDB\Driver\Cursor', 'namespace' => 'string', 'query' => 'MongoDB\Driver\Query', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], + 'MongoDB\Driver\Manager::executeReadCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], + 'MongoDB\Driver\Manager::executeReadWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], + 'MongoDB\Driver\Manager::executeWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], + 'MongoDB\Driver\Manager::getEncryptedFieldsMap' => ['object|array|null'], + 'MongoDB\Driver\Manager::getReadConcern' => ['MongoDB\Driver\ReadConcern'], + 'MongoDB\Driver\Manager::getReadPreference' => ['MongoDB\Driver\ReadPreference'], + 'MongoDB\Driver\Manager::getServers' => ['array'], + 'MongoDB\Driver\Manager::getWriteConcern' => ['MongoDB\Driver\WriteConcern'], + 'MongoDB\Driver\Manager::removeSubscriber' => ['void', 'subscriber' => 'MongoDB\Driver\Monitoring\Subscriber'], + 'MongoDB\Driver\Manager::selectServer' => ['MongoDB\Driver\Server', 'readPreference=' => '?MongoDB\Driver\ReadPreference'], + 'MongoDB\Driver\Manager::startSession' => ['MongoDB\Driver\Session', 'options=' => '?array'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getCommandName' => ['string'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getDurationMicros' => ['int'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getError' => ['Exception'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getOperationId' => ['string'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getReply' => ['object'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getRequestId' => ['string'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getServer' => ['MongoDB\Driver\Server'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getServiceId' => ['?MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\CommandFailedEvent::getServerConnectionId' => ['?int'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getCommand' => ['object'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getCommandName' => ['string'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getDatabaseName' => ['string'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getOperationId' => ['string'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getRequestId' => ['string'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getServer' => ['MongoDB\Driver\Server'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getServiceId' => ['?MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\CommandStartedEvent::getServerConnectionId' => ['?int'], + 'MongoDB\Driver\Monitoring\CommandSubscriber::commandStarted' => ['void', 'event' => 'MongoDB\Driver\Monitoring\CommandStartedEvent'], + 'MongoDB\Driver\Monitoring\CommandSubscriber::commandSucceeded' => ['void', 'event' => 'MongoDB\Driver\Monitoring\CommandSucceededEvent'], + 'MongoDB\Driver\Monitoring\CommandSubscriber::commandFailed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\CommandFailedEvent'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getCommandName' => ['string'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getDurationMicros' => ['int'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getOperationId' => ['string'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getReply' => ['object'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getRequestId' => ['string'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getServer' => ['MongoDB\Driver\Server'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getServiceId' => ['?MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\CommandSucceededEvent::getServerConnectionId' => ['?int'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::serverChanged' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerChangedEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::serverClosed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerClosedEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::serverOpening' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerOpeningEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatFailed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatStarted' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::serverHeartbeatSucceeded' => ['void', 'event' => 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::topologyChanged' => ['void', 'event' => 'MongoDB\Driver\Monitoring\TopologyChangedEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::topologyClosed' => ['void', 'event' => 'MongoDB\Driver\Monitoring\TopologyClosedEvent'], + 'MongoDB\Driver\Monitoring\SDAMSubscriber::topologyOpening' => ['void', 'event' => 'MongoDB\Driver\Monitoring\TopologyOpeningEvent'], + 'MongoDB\Driver\Monitoring\ServerChangedEvent::getPort' => ['int'], + 'MongoDB\Driver\Monitoring\ServerChangedEvent::getHost' => ['string'], + 'MongoDB\Driver\Monitoring\ServerChangedEvent::getNewDescription' => ['MongoDB\Driver\ServerDescription'], + 'MongoDB\Driver\Monitoring\ServerChangedEvent::getPreviousDescription' => ['MongoDB\Driver\ServerDescription'], + 'MongoDB\Driver\Monitoring\ServerChangedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\ServerClosedEvent::getPort' => ['int'], + 'MongoDB\Driver\Monitoring\ServerClosedEvent::getHost' => ['string'], + 'MongoDB\Driver\Monitoring\ServerClosedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getDurationMicros' => ['int'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getError' => ['Exception'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getPort' => ['int'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::getHost' => ['string'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatFailedEvent::isAwaited' => ['bool'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getPort' => ['int'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::getHost' => ['string'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatStartedEvent::isAwaited' => ['bool'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getDurationMicros' => ['int'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getReply' => ['object'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getPort' => ['int'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::getHost' => ['string'], + 'MongoDB\Driver\Monitoring\ServerHeartbeatSucceededEvent::isAwaited' => ['bool'], + 'MongoDB\Driver\Monitoring\ServerOpeningEvent::getPort' => ['int'], + 'MongoDB\Driver\Monitoring\ServerOpeningEvent::getHost' => ['string'], + 'MongoDB\Driver\Monitoring\ServerOpeningEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\TopologyChangedEvent::getNewDescription' => ['MongoDB\Driver\TopologyDescription'], + 'MongoDB\Driver\Monitoring\TopologyChangedEvent::getPreviousDescription' => ['MongoDB\Driver\TopologyDescription'], + 'MongoDB\Driver\Monitoring\TopologyChangedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\TopologyClosedEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Monitoring\TopologyOpeningEvent::getTopologyId' => ['MongoDB\BSON\ObjectId'], + 'MongoDB\Driver\Query::__construct' => ['void', 'filter' => 'object|array', 'queryOptions=' => '?array'], + 'MongoDB\Driver\ReadConcern::__construct' => ['void', 'level=' => '?string'], + 'MongoDB\Driver\ReadConcern::getLevel' => ['?string'], + 'MongoDB\Driver\ReadConcern::isDefault' => ['bool'], + 'MongoDB\Driver\ReadConcern::bsonSerialize' => ['object|array'], + 'MongoDB\Driver\ReadConcern::serialize' => ['string'], + 'MongoDB\Driver\ReadConcern::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\Driver\ReadPreference::__construct' => ['void', 'mode' => 'string|int', 'tagSets=' => '?array', 'options=' => '?array'], + 'MongoDB\Driver\ReadPreference::getHedge' => ['?object'], + 'MongoDB\Driver\ReadPreference::getMaxStalenessSeconds' => ['int'], + 'MongoDB\Driver\ReadPreference::getMode' => ['int'], + 'MongoDB\Driver\ReadPreference::getModeString' => ['string'], + 'MongoDB\Driver\ReadPreference::getTagSets' => ['array'], + 'MongoDB\Driver\ReadPreference::bsonSerialize' => ['object|array'], + 'MongoDB\Driver\ReadPreference::serialize' => ['string'], + 'MongoDB\Driver\ReadPreference::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\Driver\Server::executeBulkWrite' => ['MongoDB\Driver\WriteResult', 'namespace' => 'string', 'bulkWrite' => 'MongoDB\Driver\BulkWrite', 'options=' => 'MongoDB\Driver\WriteConcern|array|null'], + 'MongoDB\Driver\Server::executeCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], + 'MongoDB\Driver\Server::executeQuery' => ['MongoDB\Driver\Cursor', 'namespace' => 'string', 'query' => 'MongoDB\Driver\Query', 'options=' => 'MongoDB\Driver\ReadPreference|array|null'], + 'MongoDB\Driver\Server::executeReadCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], + 'MongoDB\Driver\Server::executeReadWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], + 'MongoDB\Driver\Server::executeWriteCommand' => ['MongoDB\Driver\Cursor', 'db' => 'string', 'command' => 'MongoDB\Driver\Command', 'options=' => '?array'], + 'MongoDB\Driver\Server::getHost' => ['string'], + 'MongoDB\Driver\Server::getInfo' => ['array'], + 'MongoDB\Driver\Server::getLatency' => ['?int'], + 'MongoDB\Driver\Server::getPort' => ['int'], + 'MongoDB\Driver\Server::getServerDescription' => ['MongoDB\Driver\ServerDescription'], + 'MongoDB\Driver\Server::getTags' => ['array'], + 'MongoDB\Driver\Server::getType' => ['int'], + 'MongoDB\Driver\Server::isArbiter' => ['bool'], + 'MongoDB\Driver\Server::isHidden' => ['bool'], + 'MongoDB\Driver\Server::isPassive' => ['bool'], + 'MongoDB\Driver\Server::isPrimary' => ['bool'], + 'MongoDB\Driver\Server::isSecondary' => ['bool'], + 'MongoDB\Driver\ServerApi::__construct' => ['void', 'version' => 'string', 'strict=' => '?bool', 'deprecationErrors=' => '?bool'], + 'MongoDB\Driver\ServerApi::bsonSerialize' => ['object|array'], + 'MongoDB\Driver\ServerApi::serialize' => ['string'], + 'MongoDB\Driver\ServerApi::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\Driver\ServerDescription::getHelloResponse' => ['array'], + 'MongoDB\Driver\ServerDescription::getHost' => ['string'], + 'MongoDB\Driver\ServerDescription::getLastUpdateTime' => ['int'], + 'MongoDB\Driver\ServerDescription::getPort' => ['int'], + 'MongoDB\Driver\ServerDescription::getRoundTripTime' => ['?int'], + 'MongoDB\Driver\ServerDescription::getType' => ['string'], + 'MongoDB\Driver\Session::abortTransaction' => ['void'], + 'MongoDB\Driver\Session::advanceClusterTime' => ['void', 'clusterTime' => 'object|array'], + 'MongoDB\Driver\Session::advanceOperationTime' => ['void', 'operationTime' => 'MongoDB\BSON\TimestampInterface'], + 'MongoDB\Driver\Session::commitTransaction' => ['void'], + 'MongoDB\Driver\Session::endSession' => ['void'], + 'MongoDB\Driver\Session::getClusterTime' => ['?object'], + 'MongoDB\Driver\Session::getLogicalSessionId' => ['object'], + 'MongoDB\Driver\Session::getOperationTime' => ['?MongoDB\BSON\Timestamp'], + 'MongoDB\Driver\Session::getServer' => ['?MongoDB\Driver\Server'], + 'MongoDB\Driver\Session::getTransactionOptions' => ['?array'], + 'MongoDB\Driver\Session::getTransactionState' => ['string'], + 'MongoDB\Driver\Session::isDirty' => ['bool'], + 'MongoDB\Driver\Session::isInTransaction' => ['bool'], + 'MongoDB\Driver\Session::startTransaction' => ['void', 'options=' => '?array'], + 'MongoDB\Driver\TopologyDescription::getServers' => ['array'], + 'MongoDB\Driver\TopologyDescription::getType' => ['string'], + 'MongoDB\Driver\TopologyDescription::hasReadableServer' => ['bool', 'readPreference=' => '?MongoDB\Driver\ReadPreference'], + 'MongoDB\Driver\TopologyDescription::hasWritableServer' => ['bool'], + 'MongoDB\Driver\WriteConcern::__construct' => ['void', 'w' => 'string|int', 'wtimeout=' => '?int', 'journal=' => '?bool'], + 'MongoDB\Driver\WriteConcern::getJournal' => ['?bool'], + 'MongoDB\Driver\WriteConcern::getW' => ['string|int|null'], + 'MongoDB\Driver\WriteConcern::getWtimeout' => ['int'], + 'MongoDB\Driver\WriteConcern::isDefault' => ['bool'], + 'MongoDB\Driver\WriteConcern::bsonSerialize' => ['object|array'], + 'MongoDB\Driver\WriteConcern::serialize' => ['string'], + 'MongoDB\Driver\WriteConcern::unserialize' => ['void', 'serialized' => 'string'], + 'MongoDB\Driver\WriteConcernError::getCode' => ['int'], + 'MongoDB\Driver\WriteConcernError::getInfo' => ['?object'], + 'MongoDB\Driver\WriteConcernError::getMessage' => ['string'], + 'MongoDB\Driver\WriteError::getCode' => ['int'], + 'MongoDB\Driver\WriteError::getIndex' => ['int'], + 'MongoDB\Driver\WriteError::getInfo' => ['?object'], + 'MongoDB\Driver\WriteError::getMessage' => ['string'], + 'MongoDB\Driver\WriteResult::getInsertedCount' => ['?int'], + 'MongoDB\Driver\WriteResult::getMatchedCount' => ['?int'], + 'MongoDB\Driver\WriteResult::getModifiedCount' => ['?int'], + 'MongoDB\Driver\WriteResult::getDeletedCount' => ['?int'], + 'MongoDB\Driver\WriteResult::getUpsertedCount' => ['?int'], + 'MongoDB\Driver\WriteResult::getServer' => ['MongoDB\Driver\Server'], + 'MongoDB\Driver\WriteResult::getUpsertedIds' => ['array'], + 'MongoDB\Driver\WriteResult::getWriteConcernError' => ['?MongoDB\Driver\WriteConcernError'], + 'MongoDB\Driver\WriteResult::getWriteErrors' => ['array'], + 'MongoDB\Driver\WriteResult::isAcknowledged' => ['bool'], + 'MongoDate::__construct' => ['void', 'second='=>'int', 'usecond='=>'int'], + 'MongoDate::__toString' => ['string'], + 'MongoDate::toDateTime' => ['DateTime'], + 'MongoDeleteBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'write_options='=>'array'], + 'MongoException::__clone' => ['void'], + 'MongoException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'MongoException::__toString' => ['string'], + 'MongoException::__wakeup' => ['void'], + 'MongoException::getCode' => ['int'], + 'MongoException::getFile' => ['string'], + 'MongoException::getLine' => ['int'], + 'MongoException::getMessage' => ['string'], + 'MongoException::getPrevious' => ['Exception|Throwable'], + 'MongoException::getTrace' => ['list\',args?:array}>'], + 'MongoException::getTraceAsString' => ['string'], + 'MongoGridFS::__construct' => ['void', 'db'=>'MongoDB', 'prefix='=>'string', 'chunks='=>'mixed'], + 'MongoGridFS::__get' => ['MongoCollection', 'name'=>'string'], + 'MongoGridFS::__toString' => ['string'], + 'MongoGridFS::aggregate' => ['array', 'pipeline'=>'array', 'op'=>'array', 'pipelineOperators'=>'array'], + 'MongoGridFS::aggregateCursor' => ['MongoCommandCursor', 'pipeline'=>'array', 'options'=>'array'], + 'MongoGridFS::batchInsert' => ['mixed', 'a'=>'array', 'options='=>'array'], + 'MongoGridFS::count' => ['int', 'query='=>'stdClass|array'], + 'MongoGridFS::createDBRef' => ['array', 'a'=>'array'], + 'MongoGridFS::createIndex' => ['array', 'keys'=>'array', 'options='=>'array'], + 'MongoGridFS::delete' => ['bool', 'id'=>'mixed'], + 'MongoGridFS::deleteIndex' => ['array', 'keys'=>'array|string'], + 'MongoGridFS::deleteIndexes' => ['array'], + 'MongoGridFS::distinct' => ['array|bool', 'key'=>'string', 'query='=>'?array'], + 'MongoGridFS::drop' => ['array'], + 'MongoGridFS::ensureIndex' => ['bool', 'keys'=>'array', 'options='=>'array'], + 'MongoGridFS::find' => ['MongoGridFSCursor', 'query='=>'array', 'fields='=>'array'], + 'MongoGridFS::findAndModify' => ['array', 'query'=>'array', 'update='=>'?array', 'fields='=>'?array', 'options='=>'?array'], + 'MongoGridFS::findOne' => ['?MongoGridFSFile', 'query='=>'mixed', 'fields='=>'mixed'], + 'MongoGridFS::get' => ['?MongoGridFSFile', 'id'=>'mixed'], + 'MongoGridFS::getDBRef' => ['array', 'ref'=>'array'], + 'MongoGridFS::getIndexInfo' => ['array'], + 'MongoGridFS::getName' => ['string'], + 'MongoGridFS::getReadPreference' => ['array'], + 'MongoGridFS::getSlaveOkay' => ['bool'], + 'MongoGridFS::group' => ['array', 'keys'=>'mixed', 'initial'=>'array', 'reduce'=>'MongoCode', 'condition='=>'array'], + 'MongoGridFS::insert' => ['array|bool', 'a'=>'array|object', 'options='=>'array'], + 'MongoGridFS::put' => ['mixed', 'filename'=>'string', 'extra='=>'array'], + 'MongoGridFS::remove' => ['bool', 'criteria='=>'array', 'options='=>'array'], + 'MongoGridFS::save' => ['array|bool', 'a'=>'array|object', 'options='=>'array'], + 'MongoGridFS::setReadPreference' => ['bool', 'read_preference'=>'string', 'tags'=>'array'], + 'MongoGridFS::setSlaveOkay' => ['bool', 'ok='=>'bool'], + 'MongoGridFS::storeBytes' => ['mixed', 'bytes'=>'string', 'extra='=>'array', 'options='=>'array'], + 'MongoGridFS::storeFile' => ['mixed', 'filename'=>'string', 'extra='=>'array', 'options='=>'array'], + 'MongoGridFS::storeUpload' => ['mixed', 'name'=>'string', 'filename='=>'string'], + 'MongoGridFS::toIndexString' => ['string', 'keys'=>'mixed'], + 'MongoGridFS::update' => ['bool', 'criteria'=>'array', 'newobj'=>'array', 'options='=>'array'], + 'MongoGridFS::validate' => ['array', 'scan_data='=>'bool'], + 'MongoGridFSCursor::__construct' => ['void', 'gridfs'=>'MongoGridFS', 'connection'=>'resource', 'ns'=>'string', 'query'=>'array', 'fields'=>'array'], + 'MongoGridFSCursor::addOption' => ['MongoCursor', 'key'=>'string', 'value'=>'mixed'], + 'MongoGridFSCursor::awaitData' => ['MongoCursor', 'wait='=>'bool'], + 'MongoGridFSCursor::batchSize' => ['MongoCursor', 'batchSize'=>'int'], + 'MongoGridFSCursor::count' => ['int', 'all='=>'bool'], + 'MongoGridFSCursor::current' => ['MongoGridFSFile'], + 'MongoGridFSCursor::dead' => ['bool'], + 'MongoGridFSCursor::doQuery' => ['void'], + 'MongoGridFSCursor::explain' => ['array'], + 'MongoGridFSCursor::fields' => ['MongoCursor', 'f'=>'array'], + 'MongoGridFSCursor::getNext' => ['MongoGridFSFile'], + 'MongoGridFSCursor::getReadPreference' => ['array'], + 'MongoGridFSCursor::hasNext' => ['bool'], + 'MongoGridFSCursor::hint' => ['MongoCursor', 'key_pattern'=>'mixed'], + 'MongoGridFSCursor::immortal' => ['MongoCursor', 'liveForever='=>'bool'], + 'MongoGridFSCursor::info' => ['array'], + 'MongoGridFSCursor::key' => ['string'], + 'MongoGridFSCursor::limit' => ['MongoCursor', 'num'=>'int'], + 'MongoGridFSCursor::maxTimeMS' => ['MongoCursor', 'ms'=>'int'], + 'MongoGridFSCursor::next' => ['void'], + 'MongoGridFSCursor::partial' => ['MongoCursor', 'okay='=>'bool'], + 'MongoGridFSCursor::reset' => ['void'], + 'MongoGridFSCursor::rewind' => ['void'], + 'MongoGridFSCursor::setFlag' => ['MongoCursor', 'flag'=>'int', 'set='=>'bool'], + 'MongoGridFSCursor::setReadPreference' => ['MongoCursor', 'read_preference'=>'string', 'tags'=>'array'], + 'MongoGridFSCursor::skip' => ['MongoCursor', 'num'=>'int'], + 'MongoGridFSCursor::slaveOkay' => ['MongoCursor', 'okay='=>'bool'], + 'MongoGridFSCursor::snapshot' => ['MongoCursor'], + 'MongoGridFSCursor::sort' => ['MongoCursor', 'fields'=>'array'], + 'MongoGridFSCursor::tailable' => ['MongoCursor', 'tail='=>'bool'], + 'MongoGridFSCursor::timeout' => ['MongoCursor', 'ms'=>'int'], + 'MongoGridFSCursor::valid' => ['bool'], + 'MongoGridFSFile::getBytes' => ['string'], + 'MongoGridFSFile::getFilename' => ['string'], + 'MongoGridFSFile::getResource' => ['resource'], + 'MongoGridFSFile::getSize' => ['int'], + 'MongoGridFSFile::write' => ['int', 'filename='=>'string'], + 'MongoGridfsFile::__construct' => ['void', 'gridfs'=>'MongoGridFS', 'file'=>'array'], + 'MongoId::__construct' => ['void', 'id='=>'string|MongoId'], + 'MongoId::__set_state' => ['MongoId', 'props'=>'array'], + 'MongoId::__toString' => ['string'], + 'MongoId::getHostname' => ['string'], + 'MongoId::getInc' => ['int'], + 'MongoId::getPID' => ['int'], + 'MongoId::getTimestamp' => ['int'], + 'MongoId::isValid' => ['bool', 'value'=>'mixed'], + 'MongoInsertBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'write_options='=>'array'], + 'MongoInt32::__construct' => ['void', 'value'=>'string'], + 'MongoInt32::__toString' => ['string'], + 'MongoInt64::__construct' => ['void', 'value'=>'string'], + 'MongoInt64::__toString' => ['string'], + 'MongoLog::getCallback' => ['callable'], + 'MongoLog::getLevel' => ['int'], + 'MongoLog::getModule' => ['int'], + 'MongoLog::setCallback' => ['void', 'log_function'=>'callable'], + 'MongoLog::setLevel' => ['void', 'level'=>'int'], + 'MongoLog::setModule' => ['void', 'module'=>'int'], + 'MongoPool::getSize' => ['int'], + 'MongoPool::info' => ['array'], + 'MongoPool::setSize' => ['bool', 'size'=>'int'], + 'MongoRegex::__construct' => ['void', 'regex'=>'string'], + 'MongoRegex::__toString' => ['string'], + 'MongoResultException::__clone' => ['void'], + 'MongoResultException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'MongoResultException::__toString' => ['string'], + 'MongoResultException::__wakeup' => ['void'], + 'MongoResultException::getCode' => ['int'], + 'MongoResultException::getDocument' => ['array'], + 'MongoResultException::getFile' => ['string'], + 'MongoResultException::getLine' => ['int'], + 'MongoResultException::getMessage' => ['string'], + 'MongoResultException::getPrevious' => ['Exception|Throwable'], + 'MongoResultException::getTrace' => ['list\',args?:array}>'], + 'MongoResultException::getTraceAsString' => ['string'], + 'MongoTimestamp::__construct' => ['void', 'second='=>'int', 'inc='=>'int'], + 'MongoTimestamp::__toString' => ['string'], + 'MongoUpdateBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'write_options='=>'array'], + 'MongoUpdateBatch::add' => ['bool', 'item'=>'array'], + 'MongoUpdateBatch::execute' => ['array', 'write_options'=>'array'], + 'MongoWriteBatch::__construct' => ['void', 'collection'=>'MongoCollection', 'batch_type'=>'string', 'write_options'=>'array'], + 'MongoWriteBatch::add' => ['bool', 'item'=>'array'], + 'MongoWriteBatch::execute' => ['array', 'write_options'=>'array'], + 'MongoWriteConcernException::__clone' => ['void'], + 'MongoWriteConcernException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'MongoWriteConcernException::__toString' => ['string'], + 'MongoWriteConcernException::__wakeup' => ['void'], + 'MongoWriteConcernException::getCode' => ['int'], + 'MongoWriteConcernException::getDocument' => ['array'], + 'MongoWriteConcernException::getFile' => ['string'], + 'MongoWriteConcernException::getLine' => ['int'], + 'MongoWriteConcernException::getMessage' => ['string'], + 'MongoWriteConcernException::getPrevious' => ['Exception|Throwable'], + 'MongoWriteConcernException::getTrace' => ['list\',args?:array}>'], + 'MongoWriteConcernException::getTraceAsString' => ['string'], + 'MultipleIterator::__construct' => ['void', 'flags='=>'int'], + 'MultipleIterator::attachIterator' => ['void', 'iterator'=>'Iterator', 'infos='=>'string'], + 'MultipleIterator::containsIterator' => ['bool', 'iterator'=>'Iterator'], + 'MultipleIterator::countIterators' => ['int'], + 'MultipleIterator::current' => ['array|false'], + 'MultipleIterator::detachIterator' => ['void', 'iterator'=>'Iterator'], + 'MultipleIterator::getFlags' => ['int'], + 'MultipleIterator::key' => ['array'], + 'MultipleIterator::next' => ['void'], + 'MultipleIterator::rewind' => ['void'], + 'MultipleIterator::setFlags' => ['void', 'flags'=>'int'], + 'MultipleIterator::valid' => ['bool'], + 'Mutex::create' => ['long', 'lock='=>'bool'], + 'Mutex::destroy' => ['bool', 'mutex'=>'long'], + 'Mutex::lock' => ['bool', 'mutex'=>'long'], + 'Mutex::trylock' => ['bool', 'mutex'=>'long'], + 'Mutex::unlock' => ['bool', 'mutex'=>'long', 'destroy='=>'bool'], + 'MysqlndUhConnection::__construct' => ['void'], + 'MysqlndUhConnection::changeUser' => ['bool', 'connection'=>'mysqlnd_connection', 'user'=>'string', 'password'=>'string', 'database'=>'string', 'silent'=>'bool', 'passwd_len'=>'int'], + 'MysqlndUhConnection::charsetName' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::close' => ['bool', 'connection'=>'mysqlnd_connection', 'close_type'=>'int'], + 'MysqlndUhConnection::connect' => ['bool', 'connection'=>'mysqlnd_connection', 'host'=>'string', 'use'=>'string', 'password'=>'string', 'database'=>'string', 'port'=>'int', 'socket'=>'string', 'mysql_flags'=>'int'], + 'MysqlndUhConnection::endPSession' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::escapeString' => ['string', 'connection'=>'mysqlnd_connection', 'escape_string'=>'string'], + 'MysqlndUhConnection::getAffectedRows' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getErrorNumber' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getErrorString' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getFieldCount' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getHostInformation' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getLastInsertId' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getLastMessage' => ['void', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getProtocolInformation' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getServerInformation' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getServerStatistics' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getServerVersion' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getSqlstate' => ['string', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getStatistics' => ['array', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getThreadId' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::getWarningCount' => ['int', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::init' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::killConnection' => ['bool', 'connection'=>'mysqlnd_connection', 'pid'=>'int'], + 'MysqlndUhConnection::listFields' => ['array', 'connection'=>'mysqlnd_connection', 'table'=>'string', 'achtung_wild'=>'string'], + 'MysqlndUhConnection::listMethod' => ['void', 'connection'=>'mysqlnd_connection', 'query'=>'string', 'achtung_wild'=>'string', 'par1'=>'string'], + 'MysqlndUhConnection::moreResults' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::nextResult' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::ping' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::query' => ['bool', 'connection'=>'mysqlnd_connection', 'query'=>'string'], + 'MysqlndUhConnection::queryReadResultsetHeader' => ['bool', 'connection'=>'mysqlnd_connection', 'mysqlnd_stmt'=>'mysqlnd_statement'], + 'MysqlndUhConnection::reapQuery' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::refreshServer' => ['bool', 'connection'=>'mysqlnd_connection', 'options'=>'int'], + 'MysqlndUhConnection::restartPSession' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::selectDb' => ['bool', 'connection'=>'mysqlnd_connection', 'database'=>'string'], + 'MysqlndUhConnection::sendClose' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::sendQuery' => ['bool', 'connection'=>'mysqlnd_connection', 'query'=>'string'], + 'MysqlndUhConnection::serverDumpDebugInformation' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::setAutocommit' => ['bool', 'connection'=>'mysqlnd_connection', 'mode'=>'int'], + 'MysqlndUhConnection::setCharset' => ['bool', 'connection'=>'mysqlnd_connection', 'charset'=>'string'], + 'MysqlndUhConnection::setClientOption' => ['bool', 'connection'=>'mysqlnd_connection', 'option'=>'int', 'value'=>'int'], + 'MysqlndUhConnection::setServerOption' => ['void', 'connection'=>'mysqlnd_connection', 'option'=>'int'], + 'MysqlndUhConnection::shutdownServer' => ['void', 'MYSQLND_UH_RES_MYSQLND_NAME'=>'string', 'level'=>'string'], + 'MysqlndUhConnection::simpleCommand' => ['bool', 'connection'=>'mysqlnd_connection', 'command'=>'int', 'arg'=>'string', 'ok_packet'=>'int', 'silent'=>'bool', 'ignore_upsert_status'=>'bool'], + 'MysqlndUhConnection::simpleCommandHandleResponse' => ['bool', 'connection'=>'mysqlnd_connection', 'ok_packet'=>'int', 'silent'=>'bool', 'command'=>'int', 'ignore_upsert_status'=>'bool'], + 'MysqlndUhConnection::sslSet' => ['bool', 'connection'=>'mysqlnd_connection', 'key'=>'string', 'cert'=>'string', 'ca'=>'string', 'capath'=>'string', 'cipher'=>'string'], + 'MysqlndUhConnection::stmtInit' => ['resource', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::storeResult' => ['resource', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::txCommit' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::txRollback' => ['bool', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhConnection::useResult' => ['resource', 'connection'=>'mysqlnd_connection'], + 'MysqlndUhPreparedStatement::__construct' => ['void'], + 'MysqlndUhPreparedStatement::execute' => ['bool', 'statement'=>'mysqlnd_prepared_statement'], + 'MysqlndUhPreparedStatement::prepare' => ['bool', 'statement'=>'mysqlnd_prepared_statement', 'query'=>'string'], + 'NoRewindIterator::__construct' => ['void', 'iterator'=>'Iterator'], + 'NoRewindIterator::current' => ['mixed'], + 'NoRewindIterator::getInnerIterator' => ['Iterator'], + 'NoRewindIterator::key' => ['mixed'], + 'NoRewindIterator::next' => ['void'], + 'NoRewindIterator::rewind' => ['void'], + 'NoRewindIterator::valid' => ['bool'], + 'Normalizer::isNormalized' => ['bool', 'string'=>'string', 'form='=>'int'], + 'Normalizer::normalize' => ['string|false', 'string'=>'string', 'form='=>'int'], + 'NumberFormatter::__construct' => ['void', 'locale'=>'string', 'style'=>'int', 'pattern='=>'string'], + 'NumberFormatter::create' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'string'], + 'NumberFormatter::format' => ['string|false', 'num'=>'', 'type='=>'int'], + 'NumberFormatter::formatCurrency' => ['string|false', 'num'=>'float', 'currency'=>'string'], + 'NumberFormatter::getAttribute' => ['int|false', 'attr'=>'int'], + 'NumberFormatter::getErrorCode' => ['int'], + 'NumberFormatter::getErrorMessage' => ['string'], + 'NumberFormatter::getLocale' => ['string', 'type='=>'int'], + 'NumberFormatter::getPattern' => ['string|false'], + 'NumberFormatter::getSymbol' => ['string|false', 'attr'=>'int'], + 'NumberFormatter::getTextAttribute' => ['string|false', 'attr'=>'int'], + 'NumberFormatter::parse' => ['float|false', 'string'=>'string', 'type='=>'int', '&rw_position='=>'int'], + 'NumberFormatter::parseCurrency' => ['float|false', 'string'=>'string', '&w_currency'=>'string', '&rw_position='=>'int'], + 'NumberFormatter::setAttribute' => ['bool', 'attr'=>'int', 'value'=>''], + 'NumberFormatter::setPattern' => ['bool', 'pattern'=>'string'], + 'NumberFormatter::setSymbol' => ['bool', 'attr'=>'int', 'symbol'=>'string'], + 'NumberFormatter::setTextAttribute' => ['bool', 'attr'=>'int', 'value'=>'string'], + 'OAuth::__construct' => ['void', 'consumer_key'=>'string', 'consumer_secret'=>'string', 'signature_method='=>'string', 'auth_type='=>'int'], + 'OAuth::disableDebug' => ['bool'], + 'OAuth::disableRedirects' => ['bool'], + 'OAuth::disableSSLChecks' => ['bool'], + 'OAuth::enableDebug' => ['bool'], + 'OAuth::enableRedirects' => ['bool'], + 'OAuth::enableSSLChecks' => ['bool'], + 'OAuth::fetch' => ['mixed', 'protected_resource_url'=>'string', 'extra_parameters='=>'array', 'http_method='=>'string', 'http_headers='=>'array'], + 'OAuth::generateSignature' => ['string', 'http_method'=>'string', 'url'=>'string', 'extra_parameters='=>'mixed'], + 'OAuth::getAccessToken' => ['array|false', 'access_token_url'=>'string', 'auth_session_handle='=>'string', 'verifier_token='=>'string', 'http_method='=>'string'], + 'OAuth::getCAPath' => ['array'], + 'OAuth::getLastResponse' => ['string'], + 'OAuth::getLastResponseHeaders' => ['string|false'], + 'OAuth::getLastResponseInfo' => ['array'], + 'OAuth::getRequestHeader' => ['string|false', 'http_method'=>'string', 'url'=>'string', 'extra_parameters='=>'mixed'], + 'OAuth::getRequestToken' => ['array|false', 'request_token_url'=>'string', 'callback_url='=>'string', 'http_method='=>'string'], + 'OAuth::setAuthType' => ['bool', 'auth_type'=>'int'], + 'OAuth::setCAPath' => ['mixed', 'ca_path='=>'string', 'ca_info='=>'string'], + 'OAuth::setNonce' => ['mixed', 'nonce'=>'string'], + 'OAuth::setRSACertificate' => ['mixed', 'cert'=>'string'], + 'OAuth::setRequestEngine' => ['void', 'reqengine'=>'int'], + 'OAuth::setSSLChecks' => ['bool', 'sslcheck'=>'int'], + 'OAuth::setTimeout' => ['void', 'timeout'=>'int'], + 'OAuth::setTimestamp' => ['mixed', 'timestamp'=>'string'], + 'OAuth::setToken' => ['bool', 'token'=>'string', 'token_secret'=>'string'], + 'OAuth::setVersion' => ['bool', 'version'=>'string'], + 'OAuthProvider::__construct' => ['void', 'params_array='=>'array'], + 'OAuthProvider::addRequiredParameter' => ['bool', 'req_params'=>'string'], + 'OAuthProvider::callTimestampNonceHandler' => ['void'], + 'OAuthProvider::callconsumerHandler' => ['void'], + 'OAuthProvider::calltokenHandler' => ['void'], + 'OAuthProvider::checkOAuthRequest' => ['void', 'uri='=>'string', 'method='=>'string'], + 'OAuthProvider::consumerHandler' => ['void', 'callback_function'=>'callable'], + 'OAuthProvider::generateToken' => ['string', 'size'=>'int', 'strong='=>'bool'], + 'OAuthProvider::is2LeggedEndpoint' => ['void', 'params_array'=>'mixed'], + 'OAuthProvider::isRequestTokenEndpoint' => ['void', 'will_issue_request_token'=>'bool'], + 'OAuthProvider::removeRequiredParameter' => ['bool', 'req_params'=>'string'], + 'OAuthProvider::reportProblem' => ['string', 'oauthexception'=>'string', 'send_headers='=>'bool'], + 'OAuthProvider::setParam' => ['bool', 'param_key'=>'string', 'param_val='=>'mixed'], + 'OAuthProvider::setRequestTokenPath' => ['bool', 'path'=>'string'], + 'OAuthProvider::timestampNonceHandler' => ['void', 'callback_function'=>'callable'], + 'OAuthProvider::tokenHandler' => ['void', 'callback_function'=>'callable'], + 'OCICollection::append' => ['bool', 'value'=>'mixed'], + 'OCICollection::assign' => ['bool', 'from'=>'OCI_Collection'], + 'OCICollection::assignElem' => ['bool', 'index'=>'int', 'value'=>'mixed'], + 'OCICollection::free' => ['bool'], + 'OCICollection::getElem' => ['mixed', 'index'=>'int'], + 'OCICollection::max' => ['int|false'], + 'OCICollection::size' => ['int|false'], + 'OCICollection::trim' => ['bool', 'num'=>'int'], + 'OCILob::append' => ['bool', 'lob_from'=>'OCILob'], + 'OCILob::close' => ['bool'], + 'OCILob::eof' => ['bool'], + 'OCILob::erase' => ['int|false', 'offset='=>'int', 'length='=>'int'], + 'OCILob::export' => ['bool', 'filename'=>'string', 'start='=>'int', 'length='=>'int'], + 'OCILob::flush' => ['bool', 'flag='=>'int'], + 'OCILob::free' => ['bool'], + 'OCILob::getbuffering' => ['bool'], + 'OCILob::import' => ['bool', 'filename'=>'string'], + 'OCILob::load' => ['string|false'], + 'OCILob::read' => ['string|false', 'length'=>'int'], + 'OCILob::rewind' => ['bool'], + 'OCILob::save' => ['bool', 'data'=>'string', 'offset='=>'int'], + 'OCILob::savefile' => ['bool', 'filename'=>''], + 'OCILob::seek' => ['bool', 'offset'=>'int', 'whence='=>'int'], + 'OCILob::setbuffering' => ['bool', 'on_off'=>'bool'], + 'OCILob::size' => ['int|false'], + 'OCILob::tell' => ['int|false'], + 'OCILob::truncate' => ['bool', 'length='=>'int'], + 'OCILob::write' => ['int|false', 'data'=>'string', 'length='=>'int'], + 'OCILob::writeTemporary' => ['bool', 'data'=>'string', 'lob_type='=>'int'], + 'OCILob::writetofile' => ['bool', 'filename'=>'', 'start'=>'', 'length'=>''], + 'OutOfBoundsException::__clone' => ['void'], + 'OutOfBoundsException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'OutOfBoundsException::__toString' => ['string'], + 'OutOfBoundsException::getCode' => ['int'], + 'OutOfBoundsException::getFile' => ['string'], + 'OutOfBoundsException::getLine' => ['int'], + 'OutOfBoundsException::getMessage' => ['string'], + 'OutOfBoundsException::getPrevious' => ['?Throwable'], + 'OutOfBoundsException::getTrace' => ['list\',args?:array}>'], + 'OutOfBoundsException::getTraceAsString' => ['string'], + 'OutOfRangeException::__clone' => ['void'], + 'OutOfRangeException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'OutOfRangeException::__toString' => ['string'], + 'OutOfRangeException::getCode' => ['int'], + 'OutOfRangeException::getFile' => ['string'], + 'OutOfRangeException::getLine' => ['int'], + 'OutOfRangeException::getMessage' => ['string'], + 'OutOfRangeException::getPrevious' => ['?Throwable'], + 'OutOfRangeException::getTrace' => ['list\',args?:array}>'], + 'OutOfRangeException::getTraceAsString' => ['string'], + 'OuterIterator::current' => ['mixed'], + 'OuterIterator::getInnerIterator' => ['Iterator'], + 'OuterIterator::key' => ['int|string'], + 'OuterIterator::next' => ['void'], + 'OuterIterator::rewind' => ['void'], + 'OuterIterator::valid' => ['bool'], + 'OverflowException::__clone' => ['void'], + 'OverflowException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'OverflowException::__toString' => ['string'], + 'OverflowException::getCode' => ['int'], + 'OverflowException::getFile' => ['string'], + 'OverflowException::getLine' => ['int'], + 'OverflowException::getMessage' => ['string'], + 'OverflowException::getPrevious' => ['?Throwable'], + 'OverflowException::getTrace' => ['list\',args?:array}>'], + 'OverflowException::getTraceAsString' => ['string'], + 'OwsrequestObj::__construct' => ['void'], + 'OwsrequestObj::addParameter' => ['int', 'name'=>'string', 'value'=>'string'], + 'OwsrequestObj::getName' => ['string', 'index'=>'int'], + 'OwsrequestObj::getValue' => ['string', 'index'=>'int'], + 'OwsrequestObj::getValueByName' => ['string', 'name'=>'string'], + 'OwsrequestObj::loadParams' => ['int'], + 'OwsrequestObj::setParameter' => ['int', 'name'=>'string', 'value'=>'string'], + 'PDF_activate_item' => ['bool', 'pdfdoc'=>'resource', 'id'=>'int'], + 'PDF_add_launchlink' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string'], + 'PDF_add_locallink' => ['bool', 'pdfdoc'=>'resource', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'page'=>'int', 'dest'=>'string'], + 'PDF_add_nameddest' => ['bool', 'pdfdoc'=>'resource', 'name'=>'string', 'optlist'=>'string'], + 'PDF_add_note' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'contents'=>'string', 'title'=>'string', 'icon'=>'string', 'open'=>'int'], + 'PDF_add_pdflink' => ['bool', 'pdfdoc'=>'resource', 'bottom_left_x'=>'float', 'bottom_left_y'=>'float', 'up_right_x'=>'float', 'up_right_y'=>'float', 'filename'=>'string', 'page'=>'int', 'dest'=>'string'], + 'PDF_add_table_cell' => ['int', 'pdfdoc'=>'resource', 'table'=>'int', 'column'=>'int', 'row'=>'int', 'text'=>'string', 'optlist'=>'string'], + 'PDF_add_textflow' => ['int', 'pdfdoc'=>'resource', 'textflow'=>'int', 'text'=>'string', 'optlist'=>'string'], + 'PDF_add_thumbnail' => ['bool', 'pdfdoc'=>'resource', 'image'=>'int'], + 'PDF_add_weblink' => ['bool', 'pdfdoc'=>'resource', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'url'=>'string'], + 'PDF_arc' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], + 'PDF_arcn' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], + 'PDF_attach_file' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string', 'description'=>'string', 'author'=>'string', 'mimetype'=>'string', 'icon'=>'string'], + 'PDF_begin_document' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'optlist'=>'string'], + 'PDF_begin_font' => ['bool', 'pdfdoc'=>'resource', 'filename'=>'string', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float', 'optlist'=>'string'], + 'PDF_begin_glyph' => ['bool', 'pdfdoc'=>'resource', 'glyphname'=>'string', 'wx'=>'float', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float'], + 'PDF_begin_item' => ['int', 'pdfdoc'=>'resource', 'tag'=>'string', 'optlist'=>'string'], + 'PDF_begin_layer' => ['bool', 'pdfdoc'=>'resource', 'layer'=>'int'], + 'PDF_begin_page' => ['bool', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float'], + 'PDF_begin_page_ext' => ['bool', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], + 'PDF_begin_pattern' => ['int', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'xstep'=>'float', 'ystep'=>'float', 'painttype'=>'int'], + 'PDF_begin_template' => ['int', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float'], + 'PDF_begin_template_ext' => ['int', 'pdfdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], + 'PDF_circle' => ['bool', 'pdfdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'r'=>'float'], + 'PDF_clip' => ['bool', 'p'=>'resource'], + 'PDF_close' => ['bool', 'p'=>'resource'], + 'PDF_close_image' => ['bool', 'p'=>'resource', 'image'=>'int'], + 'PDF_close_pdi' => ['bool', 'p'=>'resource', 'doc'=>'int'], + 'PDF_close_pdi_page' => ['bool', 'p'=>'resource', 'page'=>'int'], + 'PDF_closepath' => ['bool', 'p'=>'resource'], + 'PDF_closepath_fill_stroke' => ['bool', 'p'=>'resource'], + 'PDF_closepath_stroke' => ['bool', 'p'=>'resource'], + 'PDF_concat' => ['bool', 'p'=>'resource', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], + 'PDF_continue_text' => ['bool', 'p'=>'resource', 'text'=>'string'], + 'PDF_create_3dview' => ['int', 'pdfdoc'=>'resource', 'username'=>'string', 'optlist'=>'string'], + 'PDF_create_action' => ['int', 'pdfdoc'=>'resource', 'type'=>'string', 'optlist'=>'string'], + 'PDF_create_annotation' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'type'=>'string', 'optlist'=>'string'], + 'PDF_create_bookmark' => ['int', 'pdfdoc'=>'resource', 'text'=>'string', 'optlist'=>'string'], + 'PDF_create_field' => ['bool', 'pdfdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'name'=>'string', 'type'=>'string', 'optlist'=>'string'], + 'PDF_create_fieldgroup' => ['bool', 'pdfdoc'=>'resource', 'name'=>'string', 'optlist'=>'string'], + 'PDF_create_gstate' => ['int', 'pdfdoc'=>'resource', 'optlist'=>'string'], + 'PDF_create_pvf' => ['bool', 'pdfdoc'=>'resource', 'filename'=>'string', 'data'=>'string', 'optlist'=>'string'], + 'PDF_create_textflow' => ['int', 'pdfdoc'=>'resource', 'text'=>'string', 'optlist'=>'string'], + 'PDF_curveto' => ['bool', 'p'=>'resource', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'PDF_define_layer' => ['int', 'pdfdoc'=>'resource', 'name'=>'string', 'optlist'=>'string'], + 'PDF_delete' => ['bool', 'pdfdoc'=>'resource'], + 'PDF_delete_pvf' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string'], + 'PDF_delete_table' => ['bool', 'pdfdoc'=>'resource', 'table'=>'int', 'optlist'=>'string'], + 'PDF_delete_textflow' => ['bool', 'pdfdoc'=>'resource', 'textflow'=>'int'], + 'PDF_encoding_set_char' => ['bool', 'pdfdoc'=>'resource', 'encoding'=>'string', 'slot'=>'int', 'glyphname'=>'string', 'uv'=>'int'], + 'PDF_end_document' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], + 'PDF_end_font' => ['bool', 'pdfdoc'=>'resource'], + 'PDF_end_glyph' => ['bool', 'pdfdoc'=>'resource'], + 'PDF_end_item' => ['bool', 'pdfdoc'=>'resource', 'id'=>'int'], + 'PDF_end_layer' => ['bool', 'pdfdoc'=>'resource'], + 'PDF_end_page' => ['bool', 'p'=>'resource'], + 'PDF_end_page_ext' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], + 'PDF_end_pattern' => ['bool', 'p'=>'resource'], + 'PDF_end_template' => ['bool', 'p'=>'resource'], + 'PDF_endpath' => ['bool', 'p'=>'resource'], + 'PDF_fill' => ['bool', 'p'=>'resource'], + 'PDF_fill_imageblock' => ['int', 'pdfdoc'=>'resource', 'page'=>'int', 'blockname'=>'string', 'image'=>'int', 'optlist'=>'string'], + 'PDF_fill_pdfblock' => ['int', 'pdfdoc'=>'resource', 'page'=>'int', 'blockname'=>'string', 'contents'=>'int', 'optlist'=>'string'], + 'PDF_fill_stroke' => ['bool', 'p'=>'resource'], + 'PDF_fill_textblock' => ['int', 'pdfdoc'=>'resource', 'page'=>'int', 'blockname'=>'string', 'text'=>'string', 'optlist'=>'string'], + 'PDF_findfont' => ['int', 'p'=>'resource', 'fontname'=>'string', 'encoding'=>'string', 'embed'=>'int'], + 'PDF_fit_image' => ['bool', 'pdfdoc'=>'resource', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], + 'PDF_fit_pdi_page' => ['bool', 'pdfdoc'=>'resource', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], + 'PDF_fit_table' => ['string', 'pdfdoc'=>'resource', 'table'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], + 'PDF_fit_textflow' => ['string', 'pdfdoc'=>'resource', 'textflow'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], + 'PDF_fit_textline' => ['bool', 'pdfdoc'=>'resource', 'text'=>'string', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], + 'PDF_get_apiname' => ['string', 'pdfdoc'=>'resource'], + 'PDF_get_buffer' => ['string', 'p'=>'resource'], + 'PDF_get_errmsg' => ['string', 'pdfdoc'=>'resource'], + 'PDF_get_errnum' => ['int', 'pdfdoc'=>'resource'], + 'PDF_get_majorversion' => ['int'], + 'PDF_get_minorversion' => ['int'], + 'PDF_get_parameter' => ['string', 'p'=>'resource', 'key'=>'string', 'modifier'=>'float'], + 'PDF_get_pdi_parameter' => ['string', 'p'=>'resource', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], + 'PDF_get_pdi_value' => ['float', 'p'=>'resource', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], + 'PDF_get_value' => ['float', 'p'=>'resource', 'key'=>'string', 'modifier'=>'float'], + 'PDF_info_font' => ['float', 'pdfdoc'=>'resource', 'font'=>'int', 'keyword'=>'string', 'optlist'=>'string'], + 'PDF_info_matchbox' => ['float', 'pdfdoc'=>'resource', 'boxname'=>'string', 'num'=>'int', 'keyword'=>'string'], + 'PDF_info_table' => ['float', 'pdfdoc'=>'resource', 'table'=>'int', 'keyword'=>'string'], + 'PDF_info_textflow' => ['float', 'pdfdoc'=>'resource', 'textflow'=>'int', 'keyword'=>'string'], + 'PDF_info_textline' => ['float', 'pdfdoc'=>'resource', 'text'=>'string', 'keyword'=>'string', 'optlist'=>'string'], + 'PDF_initgraphics' => ['bool', 'p'=>'resource'], + 'PDF_lineto' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float'], + 'PDF_load_3ddata' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'optlist'=>'string'], + 'PDF_load_font' => ['int', 'pdfdoc'=>'resource', 'fontname'=>'string', 'encoding'=>'string', 'optlist'=>'string'], + 'PDF_load_iccprofile' => ['int', 'pdfdoc'=>'resource', 'profilename'=>'string', 'optlist'=>'string'], + 'PDF_load_image' => ['int', 'pdfdoc'=>'resource', 'imagetype'=>'string', 'filename'=>'string', 'optlist'=>'string'], + 'PDF_makespotcolor' => ['int', 'p'=>'resource', 'spotname'=>'string'], + 'PDF_moveto' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float'], + 'PDF_new' => ['resource'], + 'PDF_open_ccitt' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'width'=>'int', 'height'=>'int', 'bitreverse'=>'int', 'k'=>'int', 'blackls1'=>'int'], + 'PDF_open_file' => ['bool', 'p'=>'resource', 'filename'=>'string'], + 'PDF_open_image' => ['int', 'p'=>'resource', 'imagetype'=>'string', 'source'=>'string', 'data'=>'string', 'length'=>'int', 'width'=>'int', 'height'=>'int', 'components'=>'int', 'bpc'=>'int', 'params'=>'string'], + 'PDF_open_image_file' => ['int', 'p'=>'resource', 'imagetype'=>'string', 'filename'=>'string', 'stringparam'=>'string', 'intparam'=>'int'], + 'PDF_open_memory_image' => ['int', 'p'=>'resource', 'image'=>'resource'], + 'PDF_open_pdi' => ['int', 'pdfdoc'=>'resource', 'filename'=>'string', 'optlist'=>'string', 'length'=>'int'], + 'PDF_open_pdi_document' => ['int', 'p'=>'resource', 'filename'=>'string', 'optlist'=>'string'], + 'PDF_open_pdi_page' => ['int', 'p'=>'resource', 'doc'=>'int', 'pagenumber'=>'int', 'optlist'=>'string'], + 'PDF_pcos_get_number' => ['float', 'p'=>'resource', 'doc'=>'int', 'path'=>'string'], + 'PDF_pcos_get_stream' => ['string', 'p'=>'resource', 'doc'=>'int', 'optlist'=>'string', 'path'=>'string'], + 'PDF_pcos_get_string' => ['string', 'p'=>'resource', 'doc'=>'int', 'path'=>'string'], + 'PDF_place_image' => ['bool', 'pdfdoc'=>'resource', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'scale'=>'float'], + 'PDF_place_pdi_page' => ['bool', 'pdfdoc'=>'resource', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'sx'=>'float', 'sy'=>'float'], + 'PDF_process_pdi' => ['int', 'pdfdoc'=>'resource', 'doc'=>'int', 'page'=>'int', 'optlist'=>'string'], + 'PDF_rect' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], + 'PDF_restore' => ['bool', 'p'=>'resource'], + 'PDF_resume_page' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], + 'PDF_rotate' => ['bool', 'p'=>'resource', 'phi'=>'float'], + 'PDF_save' => ['bool', 'p'=>'resource'], + 'PDF_scale' => ['bool', 'p'=>'resource', 'sx'=>'float', 'sy'=>'float'], + 'PDF_set_border_color' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDF_set_border_dash' => ['bool', 'pdfdoc'=>'resource', 'black'=>'float', 'white'=>'float'], + 'PDF_set_border_style' => ['bool', 'pdfdoc'=>'resource', 'style'=>'string', 'width'=>'float'], + 'PDF_set_gstate' => ['bool', 'pdfdoc'=>'resource', 'gstate'=>'int'], + 'PDF_set_info' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'string'], + 'PDF_set_layer_dependency' => ['bool', 'pdfdoc'=>'resource', 'type'=>'string', 'optlist'=>'string'], + 'PDF_set_parameter' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'string'], + 'PDF_set_text_pos' => ['bool', 'p'=>'resource', 'x'=>'float', 'y'=>'float'], + 'PDF_set_value' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'float'], + 'PDF_setcolor' => ['bool', 'p'=>'resource', 'fstype'=>'string', 'colorspace'=>'string', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float'], + 'PDF_setdash' => ['bool', 'pdfdoc'=>'resource', 'b'=>'float', 'w'=>'float'], + 'PDF_setdashpattern' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], + 'PDF_setflat' => ['bool', 'pdfdoc'=>'resource', 'flatness'=>'float'], + 'PDF_setfont' => ['bool', 'pdfdoc'=>'resource', 'font'=>'int', 'fontsize'=>'float'], + 'PDF_setgray' => ['bool', 'p'=>'resource', 'g'=>'float'], + 'PDF_setgray_fill' => ['bool', 'p'=>'resource', 'g'=>'float'], + 'PDF_setgray_stroke' => ['bool', 'p'=>'resource', 'g'=>'float'], + 'PDF_setlinecap' => ['bool', 'p'=>'resource', 'linecap'=>'int'], + 'PDF_setlinejoin' => ['bool', 'p'=>'resource', 'value'=>'int'], + 'PDF_setlinewidth' => ['bool', 'p'=>'resource', 'width'=>'float'], + 'PDF_setmatrix' => ['bool', 'p'=>'resource', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], + 'PDF_setmiterlimit' => ['bool', 'pdfdoc'=>'resource', 'miter'=>'float'], + 'PDF_setrgbcolor' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDF_setrgbcolor_fill' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDF_setrgbcolor_stroke' => ['bool', 'p'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDF_shading' => ['int', 'pdfdoc'=>'resource', 'shtype'=>'string', 'x0'=>'float', 'y0'=>'float', 'x1'=>'float', 'y1'=>'float', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float', 'optlist'=>'string'], + 'PDF_shading_pattern' => ['int', 'pdfdoc'=>'resource', 'shading'=>'int', 'optlist'=>'string'], + 'PDF_shfill' => ['bool', 'pdfdoc'=>'resource', 'shading'=>'int'], + 'PDF_show' => ['bool', 'pdfdoc'=>'resource', 'text'=>'string'], + 'PDF_show_boxed' => ['int', 'p'=>'resource', 'text'=>'string', 'left'=>'float', 'top'=>'float', 'width'=>'float', 'height'=>'float', 'mode'=>'string', 'feature'=>'string'], + 'PDF_show_xy' => ['bool', 'p'=>'resource', 'text'=>'string', 'x'=>'float', 'y'=>'float'], + 'PDF_skew' => ['bool', 'p'=>'resource', 'alpha'=>'float', 'beta'=>'float'], + 'PDF_stringwidth' => ['float', 'p'=>'resource', 'text'=>'string', 'font'=>'int', 'fontsize'=>'float'], + 'PDF_stroke' => ['bool', 'p'=>'resource'], + 'PDF_suspend_page' => ['bool', 'pdfdoc'=>'resource', 'optlist'=>'string'], + 'PDF_translate' => ['bool', 'p'=>'resource', 'tx'=>'float', 'ty'=>'float'], + 'PDF_utf16_to_utf8' => ['string', 'pdfdoc'=>'resource', 'utf16string'=>'string'], + 'PDF_utf32_to_utf16' => ['string', 'pdfdoc'=>'resource', 'utf32string'=>'string', 'ordering'=>'string'], + 'PDF_utf8_to_utf16' => ['string', 'pdfdoc'=>'resource', 'utf8string'=>'string', 'ordering'=>'string'], + 'PDFlib::activate_item' => ['bool', 'id'=>''], + 'PDFlib::add_launchlink' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string'], + 'PDFlib::add_locallink' => ['bool', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'page'=>'int', 'dest'=>'string'], + 'PDFlib::add_nameddest' => ['bool', 'name'=>'string', 'optlist'=>'string'], + 'PDFlib::add_note' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'contents'=>'string', 'title'=>'string', 'icon'=>'string', 'open'=>'int'], + 'PDFlib::add_pdflink' => ['bool', 'bottom_left_x'=>'float', 'bottom_left_y'=>'float', 'up_right_x'=>'float', 'up_right_y'=>'float', 'filename'=>'string', 'page'=>'int', 'dest'=>'string'], + 'PDFlib::add_table_cell' => ['int', 'table'=>'int', 'column'=>'int', 'row'=>'int', 'text'=>'string', 'optlist'=>'string'], + 'PDFlib::add_textflow' => ['int', 'textflow'=>'int', 'text'=>'string', 'optlist'=>'string'], + 'PDFlib::add_thumbnail' => ['bool', 'image'=>'int'], + 'PDFlib::add_weblink' => ['bool', 'lowerleftx'=>'float', 'lowerlefty'=>'float', 'upperrightx'=>'float', 'upperrighty'=>'float', 'url'=>'string'], + 'PDFlib::arc' => ['bool', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], + 'PDFlib::arcn' => ['bool', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'alpha'=>'float', 'beta'=>'float'], + 'PDFlib::attach_file' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string', 'description'=>'string', 'author'=>'string', 'mimetype'=>'string', 'icon'=>'string'], + 'PDFlib::begin_document' => ['int', 'filename'=>'string', 'optlist'=>'string'], + 'PDFlib::begin_font' => ['bool', 'filename'=>'string', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float', 'optlist'=>'string'], + 'PDFlib::begin_glyph' => ['bool', 'glyphname'=>'string', 'wx'=>'float', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float'], + 'PDFlib::begin_item' => ['int', 'tag'=>'string', 'optlist'=>'string'], + 'PDFlib::begin_layer' => ['bool', 'layer'=>'int'], + 'PDFlib::begin_page' => ['bool', 'width'=>'float', 'height'=>'float'], + 'PDFlib::begin_page_ext' => ['bool', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], + 'PDFlib::begin_pattern' => ['int', 'width'=>'float', 'height'=>'float', 'xstep'=>'float', 'ystep'=>'float', 'painttype'=>'int'], + 'PDFlib::begin_template' => ['int', 'width'=>'float', 'height'=>'float'], + 'PDFlib::begin_template_ext' => ['int', 'width'=>'float', 'height'=>'float', 'optlist'=>'string'], + 'PDFlib::circle' => ['bool', 'x'=>'float', 'y'=>'float', 'r'=>'float'], + 'PDFlib::clip' => ['bool'], + 'PDFlib::close' => ['bool'], + 'PDFlib::close_image' => ['bool', 'image'=>'int'], + 'PDFlib::close_pdi' => ['bool', 'doc'=>'int'], + 'PDFlib::close_pdi_page' => ['bool', 'page'=>'int'], + 'PDFlib::closepath' => ['bool'], + 'PDFlib::closepath_fill_stroke' => ['bool'], + 'PDFlib::closepath_stroke' => ['bool'], + 'PDFlib::concat' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], + 'PDFlib::continue_text' => ['bool', 'text'=>'string'], + 'PDFlib::create_3dview' => ['int', 'username'=>'string', 'optlist'=>'string'], + 'PDFlib::create_action' => ['int', 'type'=>'string', 'optlist'=>'string'], + 'PDFlib::create_annotation' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'type'=>'string', 'optlist'=>'string'], + 'PDFlib::create_bookmark' => ['int', 'text'=>'string', 'optlist'=>'string'], + 'PDFlib::create_field' => ['bool', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'name'=>'string', 'type'=>'string', 'optlist'=>'string'], + 'PDFlib::create_fieldgroup' => ['bool', 'name'=>'string', 'optlist'=>'string'], + 'PDFlib::create_gstate' => ['int', 'optlist'=>'string'], + 'PDFlib::create_pvf' => ['bool', 'filename'=>'string', 'data'=>'string', 'optlist'=>'string'], + 'PDFlib::create_textflow' => ['int', 'text'=>'string', 'optlist'=>'string'], + 'PDFlib::curveto' => ['bool', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'PDFlib::define_layer' => ['int', 'name'=>'string', 'optlist'=>'string'], + 'PDFlib::delete' => ['bool'], + 'PDFlib::delete_pvf' => ['int', 'filename'=>'string'], + 'PDFlib::delete_table' => ['bool', 'table'=>'int', 'optlist'=>'string'], + 'PDFlib::delete_textflow' => ['bool', 'textflow'=>'int'], + 'PDFlib::encoding_set_char' => ['bool', 'encoding'=>'string', 'slot'=>'int', 'glyphname'=>'string', 'uv'=>'int'], + 'PDFlib::end_document' => ['bool', 'optlist'=>'string'], + 'PDFlib::end_font' => ['bool'], + 'PDFlib::end_glyph' => ['bool'], + 'PDFlib::end_item' => ['bool', 'id'=>'int'], + 'PDFlib::end_layer' => ['bool'], + 'PDFlib::end_page' => ['bool', 'p'=>''], + 'PDFlib::end_page_ext' => ['bool', 'optlist'=>'string'], + 'PDFlib::end_pattern' => ['bool', 'p'=>''], + 'PDFlib::end_template' => ['bool', 'p'=>''], + 'PDFlib::endpath' => ['bool', 'p'=>''], + 'PDFlib::fill' => ['bool'], + 'PDFlib::fill_imageblock' => ['int', 'page'=>'int', 'blockname'=>'string', 'image'=>'int', 'optlist'=>'string'], + 'PDFlib::fill_pdfblock' => ['int', 'page'=>'int', 'blockname'=>'string', 'contents'=>'int', 'optlist'=>'string'], + 'PDFlib::fill_stroke' => ['bool'], + 'PDFlib::fill_textblock' => ['int', 'page'=>'int', 'blockname'=>'string', 'text'=>'string', 'optlist'=>'string'], + 'PDFlib::findfont' => ['int', 'fontname'=>'string', 'encoding'=>'string', 'embed'=>'int'], + 'PDFlib::fit_image' => ['bool', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], + 'PDFlib::fit_pdi_page' => ['bool', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], + 'PDFlib::fit_table' => ['string', 'table'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], + 'PDFlib::fit_textflow' => ['string', 'textflow'=>'int', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'optlist'=>'string'], + 'PDFlib::fit_textline' => ['bool', 'text'=>'string', 'x'=>'float', 'y'=>'float', 'optlist'=>'string'], + 'PDFlib::get_apiname' => ['string'], + 'PDFlib::get_buffer' => ['string'], + 'PDFlib::get_errmsg' => ['string'], + 'PDFlib::get_errnum' => ['int'], + 'PDFlib::get_majorversion' => ['int'], + 'PDFlib::get_minorversion' => ['int'], + 'PDFlib::get_parameter' => ['string', 'key'=>'string', 'modifier'=>'float'], + 'PDFlib::get_pdi_parameter' => ['string', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], + 'PDFlib::get_pdi_value' => ['float', 'key'=>'string', 'doc'=>'int', 'page'=>'int', 'reserved'=>'int'], + 'PDFlib::get_value' => ['float', 'key'=>'string', 'modifier'=>'float'], + 'PDFlib::info_font' => ['float', 'font'=>'int', 'keyword'=>'string', 'optlist'=>'string'], + 'PDFlib::info_matchbox' => ['float', 'boxname'=>'string', 'num'=>'int', 'keyword'=>'string'], + 'PDFlib::info_table' => ['float', 'table'=>'int', 'keyword'=>'string'], + 'PDFlib::info_textflow' => ['float', 'textflow'=>'int', 'keyword'=>'string'], + 'PDFlib::info_textline' => ['float', 'text'=>'string', 'keyword'=>'string', 'optlist'=>'string'], + 'PDFlib::initgraphics' => ['bool'], + 'PDFlib::lineto' => ['bool', 'x'=>'float', 'y'=>'float'], + 'PDFlib::load_3ddata' => ['int', 'filename'=>'string', 'optlist'=>'string'], + 'PDFlib::load_font' => ['int', 'fontname'=>'string', 'encoding'=>'string', 'optlist'=>'string'], + 'PDFlib::load_iccprofile' => ['int', 'profilename'=>'string', 'optlist'=>'string'], + 'PDFlib::load_image' => ['int', 'imagetype'=>'string', 'filename'=>'string', 'optlist'=>'string'], + 'PDFlib::makespotcolor' => ['int', 'spotname'=>'string'], + 'PDFlib::moveto' => ['bool', 'x'=>'float', 'y'=>'float'], + 'PDFlib::open_ccitt' => ['int', 'filename'=>'string', 'width'=>'int', 'height'=>'int', 'BitReverse'=>'int', 'k'=>'int', 'Blackls1'=>'int'], + 'PDFlib::open_file' => ['bool', 'filename'=>'string'], + 'PDFlib::open_image' => ['int', 'imagetype'=>'string', 'source'=>'string', 'data'=>'string', 'length'=>'int', 'width'=>'int', 'height'=>'int', 'components'=>'int', 'bpc'=>'int', 'params'=>'string'], + 'PDFlib::open_image_file' => ['int', 'imagetype'=>'string', 'filename'=>'string', 'stringparam'=>'string', 'intparam'=>'int'], + 'PDFlib::open_memory_image' => ['int', 'image'=>'resource'], + 'PDFlib::open_pdi' => ['int', 'filename'=>'string', 'optlist'=>'string', 'length'=>'int'], + 'PDFlib::open_pdi_document' => ['int', 'filename'=>'string', 'optlist'=>'string'], + 'PDFlib::open_pdi_page' => ['int', 'doc'=>'int', 'pagenumber'=>'int', 'optlist'=>'string'], + 'PDFlib::pcos_get_number' => ['float', 'doc'=>'int', 'path'=>'string'], + 'PDFlib::pcos_get_stream' => ['string', 'doc'=>'int', 'optlist'=>'string', 'path'=>'string'], + 'PDFlib::pcos_get_string' => ['string', 'doc'=>'int', 'path'=>'string'], + 'PDFlib::place_image' => ['bool', 'image'=>'int', 'x'=>'float', 'y'=>'float', 'scale'=>'float'], + 'PDFlib::place_pdi_page' => ['bool', 'page'=>'int', 'x'=>'float', 'y'=>'float', 'sx'=>'float', 'sy'=>'float'], + 'PDFlib::process_pdi' => ['int', 'doc'=>'int', 'page'=>'int', 'optlist'=>'string'], + 'PDFlib::rect' => ['bool', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], + 'PDFlib::restore' => ['bool', 'p'=>''], + 'PDFlib::resume_page' => ['bool', 'optlist'=>'string'], + 'PDFlib::rotate' => ['bool', 'phi'=>'float'], + 'PDFlib::save' => ['bool', 'p'=>''], + 'PDFlib::scale' => ['bool', 'sx'=>'float', 'sy'=>'float'], + 'PDFlib::set_border_color' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDFlib::set_border_dash' => ['bool', 'black'=>'float', 'white'=>'float'], + 'PDFlib::set_border_style' => ['bool', 'style'=>'string', 'width'=>'float'], + 'PDFlib::set_gstate' => ['bool', 'gstate'=>'int'], + 'PDFlib::set_info' => ['bool', 'key'=>'string', 'value'=>'string'], + 'PDFlib::set_layer_dependency' => ['bool', 'type'=>'string', 'optlist'=>'string'], + 'PDFlib::set_parameter' => ['bool', 'key'=>'string', 'value'=>'string'], + 'PDFlib::set_text_pos' => ['bool', 'x'=>'float', 'y'=>'float'], + 'PDFlib::set_value' => ['bool', 'key'=>'string', 'value'=>'float'], + 'PDFlib::setcolor' => ['bool', 'fstype'=>'string', 'colorspace'=>'string', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float'], + 'PDFlib::setdash' => ['bool', 'b'=>'float', 'w'=>'float'], + 'PDFlib::setdashpattern' => ['bool', 'optlist'=>'string'], + 'PDFlib::setflat' => ['bool', 'flatness'=>'float'], + 'PDFlib::setfont' => ['bool', 'font'=>'int', 'fontsize'=>'float'], + 'PDFlib::setgray' => ['bool', 'g'=>'float'], + 'PDFlib::setgray_fill' => ['bool', 'g'=>'float'], + 'PDFlib::setgray_stroke' => ['bool', 'g'=>'float'], + 'PDFlib::setlinecap' => ['bool', 'linecap'=>'int'], + 'PDFlib::setlinejoin' => ['bool', 'value'=>'int'], + 'PDFlib::setlinewidth' => ['bool', 'width'=>'float'], + 'PDFlib::setmatrix' => ['bool', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'e'=>'float', 'f'=>'float'], + 'PDFlib::setmiterlimit' => ['bool', 'miter'=>'float'], + 'PDFlib::setrgbcolor' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDFlib::setrgbcolor_fill' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDFlib::setrgbcolor_stroke' => ['bool', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'PDFlib::shading' => ['int', 'shtype'=>'string', 'x0'=>'float', 'y0'=>'float', 'x1'=>'float', 'y1'=>'float', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float', 'optlist'=>'string'], + 'PDFlib::shading_pattern' => ['int', 'shading'=>'int', 'optlist'=>'string'], + 'PDFlib::shfill' => ['bool', 'shading'=>'int'], + 'PDFlib::show' => ['bool', 'text'=>'string'], + 'PDFlib::show_boxed' => ['int', 'text'=>'string', 'left'=>'float', 'top'=>'float', 'width'=>'float', 'height'=>'float', 'mode'=>'string', 'feature'=>'string'], + 'PDFlib::show_xy' => ['bool', 'text'=>'string', 'x'=>'float', 'y'=>'float'], + 'PDFlib::skew' => ['bool', 'alpha'=>'float', 'beta'=>'float'], + 'PDFlib::stringwidth' => ['float', 'text'=>'string', 'font'=>'int', 'fontsize'=>'float'], + 'PDFlib::stroke' => ['bool', 'p'=>''], + 'PDFlib::suspend_page' => ['bool', 'optlist'=>'string'], + 'PDFlib::translate' => ['bool', 'tx'=>'float', 'ty'=>'float'], + 'PDFlib::utf16_to_utf8' => ['string', 'utf16string'=>'string'], + 'PDFlib::utf32_to_utf16' => ['string', 'utf32string'=>'string', 'ordering'=>'string'], + 'PDFlib::utf8_to_utf16' => ['string', 'utf8string'=>'string', 'ordering'=>'string'], + 'PDO::__construct' => ['void', 'dsn'=>'string', 'username='=>'?string', 'password='=>'?string', 'options='=>'?array'], + 'PDO::__sleep' => ['list'], + 'PDO::__wakeup' => ['void'], + 'PDO::beginTransaction' => ['bool'], + 'PDO::commit' => ['bool'], + 'PDO::cubrid_schema' => ['array', 'schema_type'=>'int', 'table_name='=>'string', 'col_name='=>'string'], + 'PDO::errorCode' => ['?string'], + 'PDO::errorInfo' => ['array{0: ?string, 1: ?int, 2: ?string, 3?: mixed, 4?: mixed}'], + 'PDO::exec' => ['int|false', 'statement'=>'string'], + 'PDO::getAttribute' => ['mixed', 'attribute'=>'int'], + 'PDO::getAvailableDrivers' => ['array'], + 'PDO::inTransaction' => ['bool'], + 'PDO::lastInsertId' => ['string', 'name='=>'string|null'], + 'PDO::pgsqlCopyFromArray' => ['bool', 'table_name'=>'string', 'rows'=>'array', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], + 'PDO::pgsqlCopyFromFile' => ['bool', 'table_name'=>'string', 'filename'=>'string', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], + 'PDO::pgsqlCopyToArray' => ['array', 'table_name'=>'string', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], + 'PDO::pgsqlCopyToFile' => ['bool', 'table_name'=>'string', 'filename'=>'string', 'delimiter'=>'string', 'null_as'=>'string', 'fields'=>'string'], + 'PDO::pgsqlGetNotify' => ['array{message:string,pid:int,payload?:string}|false', 'result_type='=>'PDO::FETCH_*', 'ms_timeout='=>'int'], + 'PDO::pgsqlGetPid' => ['int'], + 'PDO::pgsqlLOBCreate' => ['string'], + 'PDO::pgsqlLOBOpen' => ['resource', 'oid'=>'string', 'mode='=>'string'], + 'PDO::pgsqlLOBUnlink' => ['bool', 'oid'=>'string'], + 'PDO::prepare' => ['PDOStatement|false', 'query'=>'string', 'options='=>'array'], + 'PDO::query' => ['PDOStatement|false', 'query'=>'string'], + 'PDO::query\'1' => ['PDOStatement|false', 'query'=>'string', 'fetch_column'=>'int', 'colno='=>'int'], + 'PDO::query\'2' => ['PDOStatement|false', 'query'=>'string', 'fetch_class'=>'int', 'classname'=>'string', 'constructorArgs'=>'array'], + 'PDO::query\'3' => ['PDOStatement|false', 'query'=>'string', 'fetch_into'=>'int', 'object'=>'object'], + 'PDO::quote' => ['string|false', 'string'=>'string', 'type='=>'int'], + 'PDO::rollBack' => ['bool'], + 'PDO::setAttribute' => ['bool', 'attribute'=>'int', 'value'=>''], + 'PDO::sqliteCreateAggregate' => ['bool', 'function_name'=>'string', 'step_func'=>'callable', 'finalize_func'=>'callable', 'num_args='=>'int'], + 'PDO::sqliteCreateCollation' => ['bool', 'name'=>'string', 'callback'=>'callable'], + 'PDO::sqliteCreateFunction' => ['bool', 'function_name'=>'string', 'callback'=>'callable', 'num_args='=>'int'], + 'PDOException::getCode' => ['int|string'], + 'PDOException::getFile' => ['string'], + 'PDOException::getLine' => ['int'], + 'PDOException::getMessage' => ['string'], + 'PDOException::getPrevious' => ['?Throwable'], + 'PDOException::getTrace' => ['list\',args?:array}>'], + 'PDOException::getTraceAsString' => ['string'], + 'PDOStatement::__sleep' => ['list'], + 'PDOStatement::__wakeup' => ['void'], + 'PDOStatement::bindColumn' => ['bool', 'column'=>'string|int', '&rw_var'=>'mixed', 'type='=>'int', 'maxLength='=>'int', 'driverOptions='=>'mixed'], + 'PDOStatement::bindParam' => ['bool', 'param'=>'string|int', '&rw_var'=>'mixed', 'type='=>'int', 'maxLength='=>'int', 'driverOptions='=>'mixed'], + 'PDOStatement::bindValue' => ['bool', 'param'=>'string|int', 'value'=>'mixed', 'type='=>'int'], + 'PDOStatement::closeCursor' => ['bool'], + 'PDOStatement::columnCount' => ['int'], + 'PDOStatement::debugDumpParams' => ['void'], + 'PDOStatement::errorCode' => ['string'], + 'PDOStatement::errorInfo' => ['array{0: ?string, 1: ?int, 2: ?string, 3?: mixed, 4?: mixed}'], + 'PDOStatement::execute' => ['bool', 'bound_input_params='=>'?array'], + 'PDOStatement::fetch' => ['mixed', 'how='=>'int', 'orientation='=>'int', 'offset='=>'int'], + 'PDOStatement::fetchAll' => ['array|false', 'how='=>'int', 'fetch_argument='=>'int|string|callable', 'ctor_args='=>'?array'], + 'PDOStatement::fetchColumn' => ['string|int|float|bool|null', 'column_number='=>'int'], + 'PDOStatement::fetchObject' => ['object|false', 'class='=>'?string', 'constructorArgs='=>'array'], + 'PDOStatement::getAttribute' => ['mixed', 'name'=>'int'], + 'PDOStatement::getColumnMeta' => ['array|false', 'column'=>'int'], + 'PDOStatement::nextRowset' => ['bool'], + 'PDOStatement::rowCount' => ['int'], + 'PDOStatement::setAttribute' => ['bool', 'attribute'=>'int', 'value'=>'mixed'], + 'PDOStatement::setFetchMode' => ['bool', 'mode'=>'int'], + 'PDOStatement::setFetchMode\'1' => ['bool', 'fetch_column'=>'int', 'colno'=>'int'], + 'PDOStatement::setFetchMode\'2' => ['bool', 'fetch_class'=>'int', 'classname'=>'string', 'ctorargs'=>'array'], + 'PDOStatement::setFetchMode\'3' => ['bool', 'fetch_into'=>'int', 'object'=>'object'], + 'ParentIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator'], + 'ParentIterator::accept' => ['bool'], + 'ParentIterator::getChildren' => ['?ParentIterator'], + 'ParentIterator::hasChildren' => ['bool'], + 'ParentIterator::next' => ['void'], + 'ParentIterator::rewind' => ['void'], + 'ParentIterator::valid' => ['bool'], + 'Parle\Lexer::advance' => ['void'], + 'Parle\Lexer::build' => ['void'], + 'Parle\Lexer::callout' => ['void', 'id'=>'int', 'callback'=>'callable'], + 'Parle\Lexer::consume' => ['void', 'data'=>'string'], + 'Parle\Lexer::dump' => ['void'], + 'Parle\Lexer::getToken' => ['Parle\Token'], + 'Parle\Lexer::insertMacro' => ['void', 'name'=>'string', 'regex'=>'string'], + 'Parle\Lexer::push' => ['void', 'regex'=>'string', 'id'=>'int'], + 'Parle\Lexer::reset' => ['void', 'pos'=>'int'], + 'Parle\Parser::advance' => ['void'], + 'Parle\Parser::build' => ['void'], + 'Parle\Parser::consume' => ['void', 'data'=>'string', 'lexer'=>'Parle\Lexer'], + 'Parle\Parser::dump' => ['void'], + 'Parle\Parser::errorInfo' => ['Parle\ErrorInfo'], + 'Parle\Parser::left' => ['void', 'token'=>'string'], + 'Parle\Parser::nonassoc' => ['void', 'token'=>'string'], + 'Parle\Parser::precedence' => ['void', 'token'=>'string'], + 'Parle\Parser::push' => ['int', 'name'=>'string', 'rule'=>'string'], + 'Parle\Parser::reset' => ['void', 'tokenId'=>'int'], + 'Parle\Parser::right' => ['void', 'token'=>'string'], + 'Parle\Parser::sigil' => ['string', 'idx'=>'array'], + 'Parle\Parser::token' => ['void', 'token'=>'string'], + 'Parle\Parser::tokenId' => ['int', 'token'=>'string'], + 'Parle\Parser::trace' => ['string'], + 'Parle\Parser::validate' => ['bool', 'data'=>'string', 'lexer'=>'Parle\Lexer'], + 'Parle\RLexer::advance' => ['void'], + 'Parle\RLexer::build' => ['void'], + 'Parle\RLexer::callout' => ['void', 'id'=>'int', 'callback'=>'callable'], + 'Parle\RLexer::consume' => ['void', 'data'=>'string'], + 'Parle\RLexer::dump' => ['void'], + 'Parle\RLexer::getToken' => ['Parle\Token'], + 'Parle\RLexer::push' => ['void', 'state'=>'string', 'regex'=>'string', 'newState'=>'string'], + 'Parle\RLexer::pushState' => ['int', 'state'=>'string'], + 'Parle\RLexer::reset' => ['void', 'pos'=>'int'], + 'Parle\RParser::advance' => ['void'], + 'Parle\RParser::build' => ['void'], + 'Parle\RParser::consume' => ['void', 'data'=>'string', 'lexer'=>'Parle\Lexer'], + 'Parle\RParser::dump' => ['void'], + 'Parle\RParser::errorInfo' => ['Parle\ErrorInfo'], + 'Parle\RParser::left' => ['void', 'token'=>'string'], + 'Parle\RParser::nonassoc' => ['void', 'token'=>'string'], + 'Parle\RParser::precedence' => ['void', 'token'=>'string'], + 'Parle\RParser::push' => ['int', 'name'=>'string', 'rule'=>'string'], + 'Parle\RParser::reset' => ['void', 'tokenId'=>'int'], + 'Parle\RParser::right' => ['void', 'token'=>'string'], + 'Parle\RParser::sigil' => ['string', 'idx'=>'array'], + 'Parle\RParser::token' => ['void', 'token'=>'string'], + 'Parle\RParser::tokenId' => ['int', 'token'=>'string'], + 'Parle\RParser::trace' => ['string'], + 'Parle\RParser::validate' => ['bool', 'data'=>'string', 'lexer'=>'Parle\Lexer'], + 'Parle\Stack::pop' => ['void'], + 'Parle\Stack::push' => ['void', 'item'=>'mixed'], + 'ParseError::__clone' => ['void'], + 'ParseError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'ParseError::__toString' => ['string'], + 'ParseError::getCode' => ['int'], + 'ParseError::getFile' => ['string'], + 'ParseError::getLine' => ['int'], + 'ParseError::getMessage' => ['string'], + 'ParseError::getPrevious' => ['?Throwable'], + 'ParseError::getTrace' => ['list\',args?:array}>'], + 'ParseError::getTraceAsString' => ['string'], + 'Phar::__construct' => ['void', 'fname'=>'string', 'flags='=>'int', 'alias='=>'string'], + 'Phar::addEmptyDir' => ['void', 'dirname'=>'string'], + 'Phar::addFile' => ['void', 'file'=>'string', 'localname='=>'string'], + 'Phar::addFromString' => ['void', 'localname'=>'string', 'contents'=>'string'], + 'Phar::apiVersion' => ['string'], + 'Phar::buildFromDirectory' => ['array', 'base_dir'=>'string', 'regex='=>'string'], + 'Phar::buildFromIterator' => ['array', 'iter'=>'Iterator', 'base_directory='=>'string'], + 'Phar::canCompress' => ['bool', 'method='=>'int'], + 'Phar::canWrite' => ['bool'], + 'Phar::compress' => ['?Phar', 'compression'=>'int', 'extension='=>'string'], + 'Phar::compressAllFilesBZIP2' => ['bool'], + 'Phar::compressAllFilesGZ' => ['bool'], + 'Phar::compressFiles' => ['void', 'compression'=>'int'], + 'Phar::convertToData' => ['?PharData', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'Phar::convertToExecutable' => ['?Phar', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'Phar::copy' => ['bool', 'oldfile'=>'string', 'newfile'=>'string'], + 'Phar::count' => ['int'], + 'Phar::createDefaultStub' => ['string', 'indexfile='=>'string', 'webindexfile='=>'string'], + 'Phar::decompress' => ['?Phar', 'extension='=>'string'], + 'Phar::decompressFiles' => ['bool'], + 'Phar::delMetadata' => ['bool'], + 'Phar::delete' => ['bool', 'entry'=>'string'], + 'Phar::extractTo' => ['bool', 'pathto'=>'string', 'files='=>'string|array|null', 'overwrite='=>'bool'], + 'Phar::getAlias' => ['?string'], + 'Phar::getMetadata' => ['mixed'], + 'Phar::getModified' => ['bool'], + 'Phar::getPath' => ['string'], + 'Phar::getSignature' => ['array{hash:string, hash_type:string}'], + 'Phar::getStub' => ['string'], + 'Phar::getSupportedCompression' => ['array'], + 'Phar::getSupportedSignatures' => ['array'], + 'Phar::getVersion' => ['string'], + 'Phar::hasMetadata' => ['bool'], + 'Phar::interceptFileFuncs' => ['void'], + 'Phar::isBuffering' => ['bool'], + 'Phar::isCompressed' => ['int|false'], + 'Phar::isFileFormat' => ['bool', 'format'=>'int'], + 'Phar::isValidPharFilename' => ['bool', 'filename'=>'string', 'executable='=>'bool'], + 'Phar::isWritable' => ['bool'], + 'Phar::loadPhar' => ['bool', 'filename'=>'string', 'alias='=>'?string'], + 'Phar::mapPhar' => ['bool', 'alias='=>'string', 'dataoffset='=>'int'], + 'Phar::mount' => ['void', 'pharpath'=>'string', 'externalpath'=>'string'], + 'Phar::mungServer' => ['void', 'munglist'=>'array'], + 'Phar::offsetExists' => ['bool', 'offset'=>'string'], + 'Phar::offsetGet' => ['PharFileInfo', 'offset'=>'string'], + 'Phar::offsetSet' => ['void', 'offset'=>'string', 'value'=>'string'], + 'Phar::offsetUnset' => ['bool', 'offset'=>'string'], + 'Phar::running' => ['string', 'retphar='=>'bool'], + 'Phar::setAlias' => ['bool', 'alias'=>'string'], + 'Phar::setDefaultStub' => ['bool', 'index='=>'string', 'webindex='=>'string'], + 'Phar::setMetadata' => ['void', 'metadata'=>''], + 'Phar::setSignatureAlgorithm' => ['void', 'sigtype'=>'int', 'privatekey='=>'string'], + 'Phar::setStub' => ['bool', 'stub'=>'string', 'length='=>'int'], + 'Phar::startBuffering' => ['void'], + 'Phar::stopBuffering' => ['void'], + 'Phar::uncompressAllFiles' => ['bool'], + 'Phar::unlinkArchive' => ['bool', 'archive'=>'string'], + 'Phar::webPhar' => ['', 'alias='=>'string', 'index='=>'string', 'f404='=>'string', 'mimetypes='=>'array', 'rewrites='=>'array'], + 'PharData::__construct' => ['void', 'fname'=>'string', 'flags='=>'?int', 'alias='=>'?string', 'format='=>'int'], + 'PharData::addEmptyDir' => ['bool', 'dirname'=>'string'], + 'PharData::addFile' => ['void', 'file'=>'string', 'localname='=>'string'], + 'PharData::addFromString' => ['bool', 'localname'=>'string', 'contents'=>'string'], + 'PharData::buildFromDirectory' => ['array', 'base_dir'=>'string', 'regex='=>'string'], + 'PharData::buildFromIterator' => ['array', 'iter'=>'Iterator', 'base_directory='=>'string'], + 'PharData::compress' => ['?PharData', 'compression'=>'int', 'extension='=>'string'], + 'PharData::compressFiles' => ['void', 'compression'=>'int'], + 'PharData::convertToData' => ['?PharData', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'PharData::convertToExecutable' => ['?Phar', 'format='=>'int', 'compression='=>'int', 'extension='=>'string'], + 'PharData::copy' => ['bool', 'oldfile'=>'string', 'newfile'=>'string'], + 'PharData::decompress' => ['?PharData', 'extension='=>'string'], + 'PharData::decompressFiles' => ['bool'], + 'PharData::delMetadata' => ['bool'], + 'PharData::delete' => ['bool', 'entry'=>'string'], + 'PharData::extractTo' => ['bool', 'pathto'=>'string', 'files='=>'string|array|null', 'overwrite='=>'bool'], + 'PharData::isWritable' => ['bool'], + 'PharData::offsetExists' => ['bool', 'offset'=>'string'], + 'PharData::offsetGet' => ['PharFileInfo', 'offset'=>'string'], + 'PharData::offsetSet' => ['void', 'offset'=>'string', 'value'=>'string'], + 'PharData::offsetUnset' => ['bool', 'offset'=>'string'], + 'PharData::setAlias' => ['bool', 'alias'=>'string'], + 'PharData::setDefaultStub' => ['bool', 'index='=>'string', 'webindex='=>'string'], + 'PharData::setStub' => ['bool', 'stub'=>'string', 'length='=>'int'], + 'PharFileInfo::__construct' => ['void', 'entry'=>'string'], + 'PharFileInfo::chmod' => ['void', 'permissions'=>'int'], + 'PharFileInfo::compress' => ['bool', 'compression'=>'int'], + 'PharFileInfo::decompress' => ['bool'], + 'PharFileInfo::delMetadata' => ['bool'], + 'PharFileInfo::getCRC32' => ['int'], + 'PharFileInfo::getCompressedSize' => ['int'], + 'PharFileInfo::getContent' => ['string'], + 'PharFileInfo::getMetadata' => ['mixed'], + 'PharFileInfo::getPharFlags' => ['int'], + 'PharFileInfo::hasMetadata' => ['bool'], + 'PharFileInfo::isCRCChecked' => ['bool'], + 'PharFileInfo::isCompressed' => ['bool', 'compression_type='=>'int'], + 'PharFileInfo::isCompressedBZIP2' => ['bool'], + 'PharFileInfo::isCompressedGZ' => ['bool'], + 'PharFileInfo::setCompressedBZIP2' => ['bool'], + 'PharFileInfo::setCompressedGZ' => ['bool'], + 'PharFileInfo::setMetadata' => ['void', 'metadata'=>'mixed'], + 'PharFileInfo::setUncompressed' => ['bool'], + 'Pool::__construct' => ['void', 'size'=>'int', 'class'=>'string', 'ctor='=>'array'], + 'Pool::collect' => ['int', 'collector='=>'Callable'], + 'Pool::resize' => ['void', 'size'=>'int'], + 'Pool::shutdown' => ['void'], + 'Pool::submit' => ['int', 'task'=>'Threaded'], + 'Pool::submitTo' => ['int', 'worker'=>'int', 'task'=>'Threaded'], + 'Postal\Expand::expand_address' => ['string[]', 'address'=>'string', 'options='=>'array'], + 'Postal\Parser::parse_address' => ['array', 'address'=>'string', 'options='=>'array'], + 'QuickHashIntHash::__construct' => ['void', 'size'=>'int', 'options='=>'int'], + 'QuickHashIntHash::add' => ['bool', 'key'=>'int', 'value='=>'int'], + 'QuickHashIntHash::delete' => ['bool', 'key'=>'int'], + 'QuickHashIntHash::exists' => ['bool', 'key'=>'int'], + 'QuickHashIntHash::get' => ['int', 'key'=>'int'], + 'QuickHashIntHash::getSize' => ['int'], + 'QuickHashIntHash::loadFromFile' => ['QuickHashIntHash', 'filename'=>'string', 'options='=>'int'], + 'QuickHashIntHash::loadFromString' => ['QuickHashIntHash', 'contents'=>'string', 'options='=>'int'], + 'QuickHashIntHash::saveToFile' => ['void', 'filename'=>'string'], + 'QuickHashIntHash::saveToString' => ['string'], + 'QuickHashIntHash::set' => ['bool', 'key'=>'int', 'value'=>'int'], + 'QuickHashIntHash::update' => ['bool', 'key'=>'int', 'value'=>'int'], + 'QuickHashIntSet::__construct' => ['void', 'size'=>'int', 'options='=>'int'], + 'QuickHashIntSet::add' => ['bool', 'key'=>'int'], + 'QuickHashIntSet::delete' => ['bool', 'key'=>'int'], + 'QuickHashIntSet::exists' => ['bool', 'key'=>'int'], + 'QuickHashIntSet::getSize' => ['int'], + 'QuickHashIntSet::loadFromFile' => ['QuickHashIntSet', 'filename'=>'string', 'size='=>'int', 'options='=>'int'], + 'QuickHashIntSet::loadFromString' => ['QuickHashIntSet', 'contents'=>'string', 'size='=>'int', 'options='=>'int'], + 'QuickHashIntSet::saveToFile' => ['void', 'filename'=>'string'], + 'QuickHashIntSet::saveToString' => ['string'], + 'QuickHashIntStringHash::__construct' => ['void', 'size'=>'int', 'options='=>'int'], + 'QuickHashIntStringHash::add' => ['bool', 'key'=>'int', 'value'=>'string'], + 'QuickHashIntStringHash::delete' => ['bool', 'key'=>'int'], + 'QuickHashIntStringHash::exists' => ['bool', 'key'=>'int'], + 'QuickHashIntStringHash::get' => ['mixed', 'key'=>'int'], + 'QuickHashIntStringHash::getSize' => ['int'], + 'QuickHashIntStringHash::loadFromFile' => ['QuickHashIntStringHash', 'filename'=>'string', 'size='=>'int', 'options='=>'int'], + 'QuickHashIntStringHash::loadFromString' => ['QuickHashIntStringHash', 'contents'=>'string', 'size='=>'int', 'options='=>'int'], + 'QuickHashIntStringHash::saveToFile' => ['void', 'filename'=>'string'], + 'QuickHashIntStringHash::saveToString' => ['string'], + 'QuickHashIntStringHash::set' => ['int', 'key'=>'int', 'value'=>'string'], + 'QuickHashIntStringHash::update' => ['bool', 'key'=>'int', 'value'=>'string'], + 'QuickHashStringIntHash::__construct' => ['void', 'size'=>'int', 'options='=>'int'], + 'QuickHashStringIntHash::add' => ['bool', 'key'=>'string', 'value'=>'int'], + 'QuickHashStringIntHash::delete' => ['bool', 'key'=>'string'], + 'QuickHashStringIntHash::exists' => ['bool', 'key'=>'string'], + 'QuickHashStringIntHash::get' => ['mixed', 'key'=>'string'], + 'QuickHashStringIntHash::getSize' => ['int'], + 'QuickHashStringIntHash::loadFromFile' => ['QuickHashStringIntHash', 'filename'=>'string', 'size='=>'int', 'options='=>'int'], + 'QuickHashStringIntHash::loadFromString' => ['QuickHashStringIntHash', 'contents'=>'string', 'size='=>'int', 'options='=>'int'], + 'QuickHashStringIntHash::saveToFile' => ['void', 'filename'=>'string'], + 'QuickHashStringIntHash::saveToString' => ['string'], + 'QuickHashStringIntHash::set' => ['int', 'key'=>'string', 'value'=>'int'], + 'QuickHashStringIntHash::update' => ['bool', 'key'=>'string', 'value'=>'int'], + 'RRDCreator::__construct' => ['void', 'path'=>'string', 'starttime='=>'string', 'step='=>'int'], + 'RRDCreator::addArchive' => ['void', 'description'=>'string'], + 'RRDCreator::addDataSource' => ['void', 'description'=>'string'], + 'RRDCreator::save' => ['bool'], + 'RRDGraph::__construct' => ['void', 'path'=>'string'], + 'RRDGraph::save' => ['array|false'], + 'RRDGraph::saveVerbose' => ['array|false'], + 'RRDGraph::setOptions' => ['void', 'options'=>'array'], + 'RRDUpdater::__construct' => ['void', 'path'=>'string'], + 'RRDUpdater::update' => ['bool', 'values'=>'array', 'time='=>'string'], + 'RangeException::__clone' => ['void'], + 'RangeException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'RangeException::__toString' => ['string'], + 'RangeException::getCode' => ['int'], + 'RangeException::getFile' => ['string'], + 'RangeException::getLine' => ['int'], + 'RangeException::getMessage' => ['string'], + 'RangeException::getPrevious' => ['?Throwable'], + 'RangeException::getTrace' => ['list\',args?:array}>'], + 'RangeException::getTraceAsString' => ['string'], + 'RarArchive::__toString' => ['string'], + 'RarArchive::close' => ['bool'], + 'RarArchive::getComment' => ['string|null'], + 'RarArchive::getEntries' => ['RarEntry[]|false'], + 'RarArchive::getEntry' => ['RarEntry|false', 'entryname'=>'string'], + 'RarArchive::isBroken' => ['bool'], + 'RarArchive::isSolid' => ['bool'], + 'RarArchive::open' => ['RarArchive|false', 'filename'=>'string', 'password='=>'string', 'volume_callback='=>'callable'], + 'RarArchive::setAllowBroken' => ['bool', 'allow_broken'=>'bool'], + 'RarEntry::__toString' => ['string'], + 'RarEntry::extract' => ['bool', 'dir'=>'string', 'filepath='=>'string', 'password='=>'string', 'extended_data='=>'bool'], + 'RarEntry::getAttr' => ['int|false'], + 'RarEntry::getCrc' => ['string|false'], + 'RarEntry::getFileTime' => ['string|false'], + 'RarEntry::getHostOs' => ['int|false'], + 'RarEntry::getMethod' => ['int|false'], + 'RarEntry::getName' => ['string|false'], + 'RarEntry::getPackedSize' => ['int|false'], + 'RarEntry::getStream' => ['resource|false', 'password='=>'string'], + 'RarEntry::getUnpackedSize' => ['int|false'], + 'RarEntry::getVersion' => ['int|false'], + 'RarEntry::isDirectory' => ['bool'], + 'RarEntry::isEncrypted' => ['bool'], + 'RarException::getCode' => ['int'], + 'RarException::getFile' => ['string'], + 'RarException::getLine' => ['int'], + 'RarException::getMessage' => ['string'], + 'RarException::getPrevious' => ['Exception|Throwable'], + 'RarException::getTrace' => ['list\',args?:array}>'], + 'RarException::getTraceAsString' => ['string'], + 'RarException::isUsingExceptions' => ['bool'], + 'RarException::setUsingExceptions' => ['RarEntry', 'using_exceptions'=>'bool'], + 'RdKafka::addBrokers' => ['int', 'broker_list'=>'string'], + 'RdKafka::flush' => ['int', 'timeout_ms'=>'int'], + 'RdKafka::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\Topic', 'timeout_ms'=>'int'], + 'RdKafka::getOutQLen' => ['int'], + 'RdKafka::newQueue' => ['RdKafka\Queue'], + 'RdKafka::newTopic' => ['RdKafka\Topic', 'topic_name'=>'string', 'topic_conf='=>'?RdKafka\TopicConf'], + 'RdKafka::poll' => ['void', 'timeout_ms'=>'int'], + 'RdKafka::setLogLevel' => ['void', 'level'=>'int'], + 'RdKafka\Conf::dump' => ['array'], + 'RdKafka\Conf::set' => ['void', 'name'=>'string', 'value'=>'string'], + 'RdKafka\Conf::setDefaultTopicConf' => ['void', 'topic_conf'=>'RdKafka\TopicConf'], + 'RdKafka\Conf::setDrMsgCb' => ['void', 'callback'=>'callable'], + 'RdKafka\Conf::setErrorCb' => ['void', 'callback'=>'callable'], + 'RdKafka\Conf::setRebalanceCb' => ['void', 'callback'=>'callable'], + 'RdKafka\Conf::setStatsCb' => ['void', 'callback'=>'callable'], + 'RdKafka\Consumer::__construct' => ['void', 'conf='=>'?RdKafka\Conf'], + 'RdKafka\Consumer::addBrokers' => ['int', 'broker_list'=>'string'], + 'RdKafka\Consumer::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\Topic', 'timeout_ms'=>'int'], + 'RdKafka\Consumer::getOutQLen' => ['int'], + 'RdKafka\Consumer::newQueue' => ['RdKafka\Queue'], + 'RdKafka\Consumer::newTopic' => ['RdKafka\ConsumerTopic', 'topic_name'=>'string', 'topic_conf='=>'?RdKafka\TopicConf'], + 'RdKafka\Consumer::poll' => ['void', 'timeout_ms'=>'int'], + 'RdKafka\Consumer::setLogLevel' => ['void', 'level'=>'int'], + 'RdKafka\ConsumerTopic::__construct' => ['void'], + 'RdKafka\ConsumerTopic::consume' => ['RdKafka\Message', 'partition'=>'int', 'timeout_ms'=>'int'], + 'RdKafka\ConsumerTopic::consumeQueueStart' => ['void', 'partition'=>'int', 'offset'=>'int', 'queue'=>'RdKafka\Queue'], + 'RdKafka\ConsumerTopic::consumeStart' => ['void', 'partition'=>'int', 'offset'=>'int'], + 'RdKafka\ConsumerTopic::consumeStop' => ['void', 'partition'=>'int'], + 'RdKafka\ConsumerTopic::getName' => ['string'], + 'RdKafka\ConsumerTopic::offsetStore' => ['void', 'partition'=>'int', 'offset'=>'int'], + 'RdKafka\KafkaConsumer::__construct' => ['void', 'conf'=>'RdKafka\Conf'], + 'RdKafka\KafkaConsumer::assign' => ['void', 'topic_partitions='=>'RdKafka\TopicPartition[]|null'], + 'RdKafka\KafkaConsumer::commit' => ['void', 'message_or_offsets='=>'RdKafka\Message|RdKafka\TopicPartition[]|null'], + 'RdKafka\KafkaConsumer::commitAsync' => ['void', 'message_or_offsets='=>'RdKafka\Message|RdKafka\TopicPartition[]|null'], + 'RdKafka\KafkaConsumer::consume' => ['RdKafka\Message', 'timeout_ms'=>'int'], + 'RdKafka\KafkaConsumer::getAssignment' => ['RdKafka\TopicPartition[]'], + 'RdKafka\KafkaConsumer::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\KafkaConsumerTopic', 'timeout_ms'=>'int'], + 'RdKafka\KafkaConsumer::getSubscription' => ['array'], + 'RdKafka\KafkaConsumer::subscribe' => ['void', 'topics'=>'array'], + 'RdKafka\KafkaConsumer::unsubscribe' => ['void'], + 'RdKafka\KafkaConsumerTopic::getName' => ['string'], + 'RdKafka\KafkaConsumerTopic::offsetStore' => ['void', 'partition'=>'int', 'offset'=>'int'], + 'RdKafka\Message::errstr' => ['string'], + 'RdKafka\Metadata::getBrokers' => ['RdKafka\Metadata\Collection'], + 'RdKafka\Metadata::getOrigBrokerId' => ['int'], + 'RdKafka\Metadata::getOrigBrokerName' => ['string'], + 'RdKafka\Metadata::getTopics' => ['RdKafka\Metadata\Collection|RdKafka\Metadata\Topic[]'], + 'RdKafka\Metadata\Collection::__construct' => ['void'], + 'RdKafka\Metadata\Collection::count' => ['int'], + 'RdKafka\Metadata\Collection::current' => ['mixed'], + 'RdKafka\Metadata\Collection::key' => ['mixed'], + 'RdKafka\Metadata\Collection::next' => ['void'], + 'RdKafka\Metadata\Collection::rewind' => ['void'], + 'RdKafka\Metadata\Collection::valid' => ['bool'], + 'RdKafka\Metadata\Partition::getErr' => ['mixed'], + 'RdKafka\Metadata\Partition::getId' => ['int'], + 'RdKafka\Metadata\Partition::getIsrs' => ['mixed'], + 'RdKafka\Metadata\Partition::getLeader' => ['mixed'], + 'RdKafka\Metadata\Partition::getReplicas' => ['mixed'], + 'RdKafka\Metadata\Topic::getErr' => ['mixed'], + 'RdKafka\Metadata\Topic::getPartitions' => ['RdKafka\Metadata\Partition[]'], + 'RdKafka\Metadata\Topic::getTopic' => ['string'], + 'RdKafka\Producer::__construct' => ['void', 'conf='=>'?RdKafka\Conf'], + 'RdKafka\Producer::addBrokers' => ['int', 'broker_list'=>'string'], + 'RdKafka\Producer::getMetadata' => ['RdKafka\Metadata', 'all_topics'=>'bool', 'only_topic='=>'?RdKafka\Topic', 'timeout_ms'=>'int'], + 'RdKafka\Producer::getOutQLen' => ['int'], + 'RdKafka\Producer::newQueue' => ['RdKafka\Queue'], + 'RdKafka\Producer::newTopic' => ['RdKafka\ProducerTopic', 'topic_name'=>'string', 'topic_conf='=>'?RdKafka\TopicConf'], + 'RdKafka\Producer::poll' => ['void', 'timeout_ms'=>'int'], + 'RdKafka\Producer::setLogLevel' => ['void', 'level'=>'int'], + 'RdKafka\ProducerTopic::__construct' => ['void'], + 'RdKafka\ProducerTopic::getName' => ['string'], + 'RdKafka\ProducerTopic::produce' => ['void', 'partition'=>'int', 'msgflags'=>'int', 'payload'=>'string', 'key='=>'?string'], + 'RdKafka\ProducerTopic::producev' => ['void', 'partition'=>'int', 'msgflags'=>'int', 'payload'=>'string', 'key='=>'?string', 'headers='=>'?array', 'timestamp_ms='=>'?int', 'opaque='=>'?string'], + 'RdKafka\Queue::__construct' => ['void'], + 'RdKafka\Queue::consume' => ['?RdKafka\Message', 'timeout_ms'=>'string'], + 'RdKafka\Topic::getName' => ['string'], + 'RdKafka\TopicConf::dump' => ['array'], + 'RdKafka\TopicConf::set' => ['void', 'name'=>'string', 'value'=>'string'], + 'RdKafka\TopicConf::setPartitioner' => ['void', 'partitioner'=>'int'], + 'RdKafka\TopicPartition::__construct' => ['void', 'topic'=>'string', 'partition'=>'int', 'offset='=>'int'], + 'RdKafka\TopicPartition::getOffset' => ['int'], + 'RdKafka\TopicPartition::getPartition' => ['int'], + 'RdKafka\TopicPartition::getTopic' => ['string'], + 'RdKafka\TopicPartition::setOffset' => ['void', 'offset'=>'string'], + 'RdKafka\TopicPartition::setPartition' => ['void', 'partition'=>'string'], + 'RdKafka\TopicPartition::setTopic' => ['void', 'topic_name'=>'string'], + 'RecursiveArrayIterator::__construct' => ['void', 'array='=>'array|object', 'flags='=>'int'], + 'RecursiveArrayIterator::append' => ['void', 'value'=>'mixed'], + 'RecursiveArrayIterator::asort' => ['void'], + 'RecursiveArrayIterator::count' => ['int'], + 'RecursiveArrayIterator::current' => ['mixed'], + 'RecursiveArrayIterator::getArrayCopy' => ['array'], + 'RecursiveArrayIterator::getChildren' => ['?RecursiveArrayIterator'], + 'RecursiveArrayIterator::getFlags' => ['int'], + 'RecursiveArrayIterator::hasChildren' => ['bool'], + 'RecursiveArrayIterator::key' => ['string|int|null'], + 'RecursiveArrayIterator::ksort' => ['void'], + 'RecursiveArrayIterator::natcasesort' => ['true'], + 'RecursiveArrayIterator::natsort' => ['true'], + 'RecursiveArrayIterator::next' => ['void'], + 'RecursiveArrayIterator::offsetExists' => ['void', 'index'=>'string'], + 'RecursiveArrayIterator::offsetGet' => ['mixed', 'index'=>'string'], + 'RecursiveArrayIterator::offsetSet' => ['void', 'index'=>'string', 'newval'=>'string'], + 'RecursiveArrayIterator::offsetUnset' => ['void', 'index'=>'string'], + 'RecursiveArrayIterator::rewind' => ['void'], + 'RecursiveArrayIterator::seek' => ['void', 'position'=>'int'], + 'RecursiveArrayIterator::serialize' => ['string'], + 'RecursiveArrayIterator::setFlags' => ['void', 'flags'=>'string'], + 'RecursiveArrayIterator::uasort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], + 'RecursiveArrayIterator::uksort' => ['void', 'cmp_function'=>'callable(mixed,mixed):int'], + 'RecursiveArrayIterator::unserialize' => ['string', 'serialized'=>'string'], + 'RecursiveArrayIterator::valid' => ['bool'], + 'RecursiveCachingIterator::__construct' => ['void', 'it'=>'Iterator', 'flags='=>'int'], + 'RecursiveCachingIterator::__toString' => ['string'], + 'RecursiveCachingIterator::count' => ['int'], + 'RecursiveCachingIterator::current' => ['void'], + 'RecursiveCachingIterator::getCache' => ['array'], + 'RecursiveCachingIterator::getChildren' => ['?RecursiveCachingIterator'], + 'RecursiveCachingIterator::getFlags' => ['int'], + 'RecursiveCachingIterator::getInnerIterator' => ['Iterator'], + 'RecursiveCachingIterator::hasChildren' => ['bool'], + 'RecursiveCachingIterator::hasNext' => ['bool'], + 'RecursiveCachingIterator::key' => ['bool|float|int|string'], + 'RecursiveCachingIterator::next' => ['void'], + 'RecursiveCachingIterator::offsetExists' => ['bool', 'index'=>'string'], + 'RecursiveCachingIterator::offsetGet' => ['string', 'index'=>'string'], + 'RecursiveCachingIterator::offsetSet' => ['void', 'index'=>'string', 'newval'=>'string'], + 'RecursiveCachingIterator::offsetUnset' => ['void', 'index'=>'string'], + 'RecursiveCachingIterator::rewind' => ['void'], + 'RecursiveCachingIterator::setFlags' => ['void', 'flags'=>'int'], + 'RecursiveCachingIterator::valid' => ['bool'], + 'RecursiveCallbackFilterIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator', 'func'=>'callable'], + 'RecursiveCallbackFilterIterator::accept' => ['bool'], + 'RecursiveCallbackFilterIterator::current' => ['mixed'], + 'RecursiveCallbackFilterIterator::getChildren' => ['RecursiveCallbackFilterIterator'], + 'RecursiveCallbackFilterIterator::getInnerIterator' => ['Iterator'], + 'RecursiveCallbackFilterIterator::hasChildren' => ['bool'], + 'RecursiveCallbackFilterIterator::key' => ['bool|float|int|string'], + 'RecursiveCallbackFilterIterator::next' => ['void'], + 'RecursiveCallbackFilterIterator::rewind' => ['void'], + 'RecursiveCallbackFilterIterator::valid' => ['bool'], + 'RecursiveDirectoryIterator::__construct' => ['void', 'path'=>'string', 'flags='=>'int'], + 'RecursiveDirectoryIterator::__toString' => ['string'], + 'RecursiveDirectoryIterator::current' => ['string|SplFileInfo|FilesystemIterator'], + 'RecursiveDirectoryIterator::getATime' => ['int'], + 'RecursiveDirectoryIterator::getBasename' => ['string', 'suffix='=>'string'], + 'RecursiveDirectoryIterator::getCTime' => ['int'], + 'RecursiveDirectoryIterator::getChildren' => ['RecursiveDirectoryIterator'], + 'RecursiveDirectoryIterator::getExtension' => ['string'], + 'RecursiveDirectoryIterator::getFileInfo' => ['SplFileInfo', 'class_name='=>'string'], + 'RecursiveDirectoryIterator::getFilename' => ['string'], + 'RecursiveDirectoryIterator::getFlags' => ['int'], + 'RecursiveDirectoryIterator::getGroup' => ['int'], + 'RecursiveDirectoryIterator::getInode' => ['int'], + 'RecursiveDirectoryIterator::getLinkTarget' => ['string'], + 'RecursiveDirectoryIterator::getMTime' => ['int'], + 'RecursiveDirectoryIterator::getOwner' => ['int'], + 'RecursiveDirectoryIterator::getPath' => ['string'], + 'RecursiveDirectoryIterator::getPathInfo' => ['SplFileInfo', 'class_name='=>'string'], + 'RecursiveDirectoryIterator::getPathname' => ['string'], + 'RecursiveDirectoryIterator::getPerms' => ['int'], + 'RecursiveDirectoryIterator::getRealPath' => ['string'], + 'RecursiveDirectoryIterator::getSize' => ['int'], + 'RecursiveDirectoryIterator::getSubPath' => ['string'], + 'RecursiveDirectoryIterator::getSubPathname' => ['string'], + 'RecursiveDirectoryIterator::getType' => ['string'], + 'RecursiveDirectoryIterator::hasChildren' => ['bool', 'allow_links='=>'bool'], + 'RecursiveDirectoryIterator::isDir' => ['bool'], + 'RecursiveDirectoryIterator::isDot' => ['bool'], + 'RecursiveDirectoryIterator::isExecutable' => ['bool'], + 'RecursiveDirectoryIterator::isFile' => ['bool'], + 'RecursiveDirectoryIterator::isLink' => ['bool'], + 'RecursiveDirectoryIterator::isReadable' => ['bool'], + 'RecursiveDirectoryIterator::isWritable' => ['bool'], + 'RecursiveDirectoryIterator::key' => ['string'], + 'RecursiveDirectoryIterator::next' => ['void'], + 'RecursiveDirectoryIterator::openFile' => ['SplFileObject', 'mode='=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], + 'RecursiveDirectoryIterator::rewind' => ['void'], + 'RecursiveDirectoryIterator::seek' => ['void', 'position'=>'int'], + 'RecursiveDirectoryIterator::setFileClass' => ['void', 'class_name='=>'string'], + 'RecursiveDirectoryIterator::setFlags' => ['void', 'flags='=>'int'], + 'RecursiveDirectoryIterator::setInfoClass' => ['void', 'class_name='=>'string'], + 'RecursiveDirectoryIterator::valid' => ['bool'], + 'RecursiveFilterIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator'], + 'RecursiveFilterIterator::accept' => ['bool'], + 'RecursiveFilterIterator::current' => ['mixed'], + 'RecursiveFilterIterator::getChildren' => ['?RecursiveFilterIterator'], + 'RecursiveFilterIterator::getInnerIterator' => ['Iterator'], + 'RecursiveFilterIterator::hasChildren' => ['bool'], + 'RecursiveFilterIterator::key' => ['mixed'], + 'RecursiveFilterIterator::next' => ['void'], + 'RecursiveFilterIterator::rewind' => ['void'], + 'RecursiveFilterIterator::valid' => ['bool'], + 'RecursiveIterator::__construct' => ['void'], + 'RecursiveIterator::current' => ['mixed'], + 'RecursiveIterator::getChildren' => ['?RecursiveIterator'], + 'RecursiveIterator::hasChildren' => ['bool'], + 'RecursiveIterator::key' => ['int|string'], + 'RecursiveIterator::next' => ['void'], + 'RecursiveIterator::rewind' => ['void'], + 'RecursiveIterator::valid' => ['bool'], + 'RecursiveIteratorIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator|IteratorAggregate', 'mode='=>'int', 'flags='=>'int'], + 'RecursiveIteratorIterator::beginChildren' => ['void'], + 'RecursiveIteratorIterator::beginIteration' => ['void'], + 'RecursiveIteratorIterator::callGetChildren' => ['?RecursiveIterator'], + 'RecursiveIteratorIterator::callHasChildren' => ['bool'], + 'RecursiveIteratorIterator::current' => ['mixed'], + 'RecursiveIteratorIterator::endChildren' => ['void'], + 'RecursiveIteratorIterator::endIteration' => ['void'], + 'RecursiveIteratorIterator::getDepth' => ['int'], + 'RecursiveIteratorIterator::getInnerIterator' => ['RecursiveIterator'], + 'RecursiveIteratorIterator::getMaxDepth' => ['int|false'], + 'RecursiveIteratorIterator::getSubIterator' => ['?RecursiveIterator', 'level='=>'int'], + 'RecursiveIteratorIterator::key' => ['mixed'], + 'RecursiveIteratorIterator::next' => ['void'], + 'RecursiveIteratorIterator::nextElement' => ['void'], + 'RecursiveIteratorIterator::rewind' => ['void'], + 'RecursiveIteratorIterator::setMaxDepth' => ['void', 'max_depth='=>'int'], + 'RecursiveIteratorIterator::valid' => ['bool'], + 'RecursiveRegexIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator', 'regex'=>'string', 'mode='=>'int', 'flags='=>'int', 'preg_flags='=>'int'], + 'RecursiveRegexIterator::accept' => ['bool'], + 'RecursiveRegexIterator::current' => ['mixed'], + 'RecursiveRegexIterator::getChildren' => ['RecursiveRegexIterator'], + 'RecursiveRegexIterator::getFlags' => ['int'], + 'RecursiveRegexIterator::getInnerIterator' => ['Iterator'], + 'RecursiveRegexIterator::getMode' => ['int'], + 'RecursiveRegexIterator::getPregFlags' => ['int'], + 'RecursiveRegexIterator::getRegex' => ['string'], + 'RecursiveRegexIterator::hasChildren' => ['bool'], + 'RecursiveRegexIterator::key' => ['mixed'], + 'RecursiveRegexIterator::next' => ['void'], + 'RecursiveRegexIterator::rewind' => ['void'], + 'RecursiveRegexIterator::setFlags' => ['void', 'new_flags'=>'int'], + 'RecursiveRegexIterator::setMode' => ['void', 'new_mode'=>'int'], + 'RecursiveRegexIterator::setPregFlags' => ['void', 'new_flags'=>'int'], + 'RecursiveRegexIterator::valid' => ['bool'], + 'RecursiveTreeIterator::__construct' => ['void', 'iterator'=>'RecursiveIterator|IteratorAggregate', 'flags='=>'int', 'cit_flags='=>'int', 'mode'=>'int'], + 'RecursiveTreeIterator::beginChildren' => ['void'], + 'RecursiveTreeIterator::beginIteration' => ['void'], + 'RecursiveTreeIterator::callGetChildren' => ['?RecursiveIterator'], + 'RecursiveTreeIterator::callHasChildren' => ['bool'], + 'RecursiveTreeIterator::current' => ['string'], + 'RecursiveTreeIterator::endChildren' => ['void'], + 'RecursiveTreeIterator::endIteration' => ['void'], + 'RecursiveTreeIterator::getDepth' => ['int'], + 'RecursiveTreeIterator::getEntry' => ['string'], + 'RecursiveTreeIterator::getInnerIterator' => ['RecursiveIterator'], + 'RecursiveTreeIterator::getMaxDepth' => ['false|int'], + 'RecursiveTreeIterator::getPostfix' => ['string'], + 'RecursiveTreeIterator::getPrefix' => ['string'], + 'RecursiveTreeIterator::getSubIterator' => ['?RecursiveIterator', 'level='=>'int'], + 'RecursiveTreeIterator::key' => ['string'], + 'RecursiveTreeIterator::next' => ['void'], + 'RecursiveTreeIterator::nextElement' => ['void'], + 'RecursiveTreeIterator::rewind' => ['void'], + 'RecursiveTreeIterator::setMaxDepth' => ['void', 'max_depth='=>'int'], + 'RecursiveTreeIterator::setPostfix' => ['void', 'prefix'=>'string'], + 'RecursiveTreeIterator::setPrefixPart' => ['void', 'part'=>'int', 'prefix'=>'string'], + 'RecursiveTreeIterator::valid' => ['bool'], + 'Redis::__construct' => ['void'], + 'Redis::__destruct' => ['void'], + 'Redis::_prefix' => ['string', 'value'=>'mixed'], + 'Redis::_serialize' => ['mixed', 'value'=>'mixed'], + 'Redis::_unserialize' => ['mixed', 'value'=>'string'], + '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', 'ret_key'=>'string', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::bitpos' => ['int', 'key'=>'string', 'bit'=>'int', 'start='=>'int', 'end='=>'int'], + 'Redis::blPop' => ['array', 'keys'=>'string[]', 'timeout'=>'int'], + 'Redis::blPop\'1' => ['array', 'key'=>'string', 'timeout_or_key'=>'int|string', '...extra_args'=>'int|string'], + 'Redis::brPop' => ['array', 'keys'=>'string[]', 'timeout'=>'int'], + 'Redis::brPop\'1' => ['array', 'key'=>'string', 'timeout_or_key'=>'int|string', '...extra_args'=>'int|string'], + 'Redis::brpoplpush' => ['string|false', 'srcKey'=>'string', 'dstKey'=>'string', 'timeout'=>'int'], + 'Redis::clearLastError' => ['bool'], + 'Redis::client' => ['mixed', 'command'=>'string', 'arg='=>'string'], + 'Redis::close' => ['bool'], + 'Redis::command' => ['', '...args'=>''], + 'Redis::config' => ['string', 'operation'=>'string', 'key'=>'string', 'value='=>'string'], + 'Redis::connect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'reserved='=>'null', 'retry_interval='=>'?int', 'read_timeout='=>'float'], + 'Redis::dbSize' => ['int'], + 'Redis::debug' => ['', 'key'=>''], + 'Redis::decr' => ['int', 'key'=>'string'], + 'Redis::decrBy' => ['int', 'key'=>'string', 'value'=>'int'], + 'Redis::decrByFloat' => ['float', 'key'=>'string', 'value'=>'float'], + 'Redis::del' => ['int', 'key'=>'string', '...args'=>'string'], + 'Redis::del\'1' => ['int', 'key'=>'string[]'], + 'Redis::delete' => ['int', 'key'=>'string', '...args'=>'string'], + 'Redis::delete\'1' => ['int', 'key'=>'string[]'], + 'Redis::discard' => [''], + 'Redis::dump' => ['string|false', 'key'=>'string'], + 'Redis::echo' => ['string', 'message'=>'string'], + 'Redis::eval' => ['mixed', 'script'=>'', 'args='=>'', 'numKeys='=>''], + 'Redis::evalSha' => ['mixed', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'], + 'Redis::evaluate' => ['mixed', 'script'=>'string', 'args='=>'array', 'numKeys='=>'int'], + 'Redis::evaluateSha' => ['', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'], + 'Redis::exec' => ['array'], + 'Redis::exists' => ['int', 'keys'=>'string|string[]'], + 'Redis::exists\'1' => ['int', '...keys'=>'string'], + 'Redis::expire' => ['bool', 'key'=>'string', 'ttl'=>'int'], + 'Redis::expireAt' => ['bool', 'key'=>'string', 'expiry'=>'int'], + 'Redis::flushAll' => ['bool', 'async='=>'bool'], + 'Redis::flushDb' => ['bool', 'async='=>'bool'], + 'Redis::geoAdd' => ['int', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'member'=>'string', '...other_triples='=>'string|int|float'], + 'Redis::geoDist' => ['float', 'key'=>'string', 'member1'=>'string', 'member2'=>'string', 'unit='=>'string'], + 'Redis::geoHash' => ['array', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], + 'Redis::geoPos' => ['array', 'key'=>'string', 'member'=>'string', '...members='=>'string'], + 'Redis::geoRadius' => ['array|int', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'radius'=>'float', 'unit'=>'float', 'options='=>'array'], + 'Redis::geoRadiusByMember' => ['array|int', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'units'=>'string', 'options='=>'array'], + 'Redis::get' => ['string|false', 'key'=>'string'], + 'Redis::getAuth' => ['string|false|null'], + 'Redis::getBit' => ['int', 'key'=>'string', 'offset'=>'int'], + 'Redis::getDBNum' => ['int|false'], + 'Redis::getHost' => ['string|false'], + 'Redis::getKeys' => ['array', 'pattern'=>'string'], + 'Redis::getLastError' => ['?string'], + 'Redis::getMode' => ['int'], + 'Redis::getMultiple' => ['array', 'keys'=>'string[]'], + 'Redis::getOption' => ['int', 'name'=>'int'], + 'Redis::getPersistentID' => ['string|false|null'], + 'Redis::getPort' => ['int|false'], + 'Redis::getRange' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::getReadTimeout' => ['float|false'], + 'Redis::getSet' => ['string', 'key'=>'string', 'string'=>'string'], + 'Redis::getTimeout' => ['float|false'], + 'Redis::hDel' => ['int|false', 'key'=>'string', 'hashKey1'=>'string', '...otherHashKeys='=>'string'], + 'Redis::hExists' => ['bool', 'key'=>'string', 'hashKey'=>'string'], + 'Redis::hGet' => ['string|false', 'key'=>'string', 'hashKey'=>'string'], + 'Redis::hGetAll' => ['array', 'key'=>'string'], + 'Redis::hIncrBy' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'int'], + 'Redis::hIncrByFloat' => ['float', 'key'=>'string', 'field'=>'string', 'increment'=>'float'], + 'Redis::hKeys' => ['array', 'key'=>'string'], + 'Redis::hLen' => ['int|false', 'key'=>'string'], + 'Redis::hMGet' => ['array', 'key'=>'string', 'hashKeys'=>'array'], + 'Redis::hMSet' => ['bool', 'key'=>'string', 'hashKeys'=>'array'], + 'Redis::hScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], + 'Redis::hSet' => ['int|false', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], + 'Redis::hSetNx' => ['bool', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], + 'Redis::hStrLen' => ['', 'key'=>'', 'member'=>''], + 'Redis::hVals' => ['array', 'key'=>'string'], + 'Redis::incr' => ['int', 'key'=>'string'], + 'Redis::incrBy' => ['int', 'key'=>'string', 'value'=>'int'], + 'Redis::incrByFloat' => ['float', 'key'=>'string', 'value'=>'float'], + 'Redis::info' => ['array', 'option='=>'string'], + 'Redis::isConnected' => ['bool'], + 'Redis::keys' => ['array', 'pattern'=>'string'], + 'Redis::lGet' => ['string', 'key'=>'string', 'index'=>'int'], + 'Redis::lGetRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::lIndex' => ['string|false', 'key'=>'string', 'index'=>'int'], + 'Redis::lInsert' => ['int', 'key'=>'string', 'position'=>'int', 'pivot'=>'string', 'value'=>'string'], + 'Redis::lLen' => ['int|false', 'key'=>'string'], + 'Redis::lPop' => ['string|false', 'key'=>'string'], + 'Redis::lPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], + 'Redis::lPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], + 'Redis::lRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::lRem' => ['int|false', 'key'=>'string', 'value'=>'string', 'count'=>'int'], + 'Redis::lRemove' => ['int', 'key'=>'string', 'value'=>'string', 'count'=>'int'], + 'Redis::lSet' => ['bool', 'key'=>'string', 'index'=>'int', 'value'=>'string'], + 'Redis::lSize' => ['int', 'key'=>'string'], + 'Redis::lTrim' => ['array|false', 'key'=>'string', 'start'=>'int', 'stop'=>'int'], + 'Redis::lastSave' => ['int'], + 'Redis::listTrim' => ['', 'key'=>'string', 'start'=>'int', 'stop'=>'int'], + 'Redis::mGet' => ['array', 'keys'=>'string[]'], + 'Redis::mSet' => ['bool', 'pairs'=>'array'], + 'Redis::mSetNx' => ['bool', 'pairs'=>'array'], + 'Redis::migrate' => ['bool', 'host'=>'string', 'port'=>'int', 'key'=>'string|string[]', 'db'=>'int', 'timeout'=>'int', 'copy='=>'bool', 'replace='=>'bool'], + 'Redis::move' => ['bool', 'key'=>'string', 'dbindex'=>'int'], + 'Redis::multi' => ['Redis', 'mode='=>'int'], + 'Redis::object' => ['string|long|false', 'info'=>'string', 'key'=>'string'], + 'Redis::open' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'reserved='=>'null', 'retry_interval='=>'?int', 'read_timeout='=>'float'], + 'Redis::pExpire' => ['bool', 'key'=>'string', 'ttl'=>'int'], + 'Redis::pconnect' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'persistent_id='=>'string', 'retry_interval='=>'?int'], + 'Redis::persist' => ['bool', 'key'=>'string'], + 'Redis::pexpireAt' => ['bool', 'key'=>'string', 'expiry'=>'int'], + 'Redis::pfAdd' => ['bool', 'key'=>'string', 'elements'=>'array'], + 'Redis::pfCount' => ['int', 'key'=>'array|string'], + 'Redis::pfMerge' => ['bool', 'destkey'=>'string', 'sourcekeys'=>'array'], + 'Redis::ping' => ['string'], + 'Redis::pipeline' => ['Redis'], + 'Redis::popen' => ['bool', 'host'=>'string', 'port='=>'int', 'timeout='=>'float', 'persistent_id='=>'string', 'retry_interval='=>'?int'], + 'Redis::psetex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], + 'Redis::psubscribe' => ['', 'patterns'=>'array', 'callback'=>'array|string'], + 'Redis::pttl' => ['int|false', 'key'=>'string'], + 'Redis::publish' => ['int', 'channel'=>'string', 'message'=>'string'], + 'Redis::pubsub' => ['array|int', 'keyword'=>'string', 'argument='=>'array|string'], + 'Redis::punsubscribe' => ['', 'pattern'=>'string', '...other_patterns='=>'string'], + 'Redis::rPop' => ['string|false', 'key'=>'string'], + 'Redis::rPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], + 'Redis::rPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], + 'Redis::randomKey' => ['string'], + 'Redis::rawCommand' => ['mixed', 'command'=>'string', '...arguments='=>'mixed'], + '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' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], + 'Redis::role' => ['array', 'nodeParams'=>'string|array{0:string,1:int}'], + 'Redis::rpoplpush' => ['string', 'srcKey'=>'string', 'dstKey'=>'string'], + 'Redis::sAdd' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], + 'Redis::sAddArray' => ['bool', 'key'=>'string', 'values'=>'array'], + 'Redis::sCard' => ['int', 'key'=>'string'], + 'Redis::sContains' => ['', 'key'=>'string', 'value'=>'string'], + 'Redis::sDiff' => ['array', 'key1'=>'string', '...other_keys='=>'string'], + 'Redis::sDiffStore' => ['int|false', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::sGetMembers' => ['', 'key'=>'string'], + 'Redis::sInter' => ['array|false', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::sInterStore' => ['int|false', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::sIsMember' => ['bool', 'key'=>'string', 'value'=>'string'], + 'Redis::sMembers' => ['array', 'key'=>'string'], + 'Redis::sMove' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string', 'member'=>'string'], + 'Redis::sPop' => ['string|false', 'key'=>'string'], + 'Redis::sRandMember' => ['array|string|false', 'key'=>'string', 'count='=>'int'], + 'Redis::sRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], + 'Redis::sRemove' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], + 'Redis::sScan' => ['array|bool', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], + 'Redis::sSize' => ['int', 'key'=>'string'], + 'Redis::sUnion' => ['array', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::sUnionStore' => ['int', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::save' => ['bool'], + 'Redis::scan' => ['array|false', '&rw_iterator'=>'?int', 'pattern='=>'?string', 'count='=>'?int'], + 'Redis::script' => ['mixed', 'command'=>'string', '...args='=>'mixed'], + 'Redis::select' => ['bool', 'dbindex'=>'int'], + 'Redis::sendEcho' => ['string', 'msg'=>'string'], + 'Redis::set' => ['bool', 'key'=>'string', 'value'=>'mixed', 'options='=>'array'], + 'Redis::set\'1' => ['bool', 'key'=>'string', 'value'=>'mixed', 'timeout='=>'int'], + 'Redis::setBit' => ['int', 'key'=>'string', 'offset'=>'int', 'value'=>'int'], + 'Redis::setEx' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], + 'Redis::setNx' => ['bool', 'key'=>'string', 'value'=>'string'], + 'Redis::setOption' => ['bool', 'name'=>'int', 'value'=>'mixed'], + 'Redis::setRange' => ['int', 'key'=>'string', 'offset'=>'int', 'end'=>'int'], + 'Redis::setTimeout' => ['', 'key'=>'string', 'ttl'=>'int'], + 'Redis::slave' => ['bool', 'host'=>'string', 'port'=>'int'], + 'Redis::slave\'1' => ['bool', 'host'=>'string', 'port'=>'int'], + 'Redis::slaveof' => ['bool', 'host='=>'string', 'port='=>'int'], + 'Redis::slowLog' => ['mixed', 'operation'=>'string', 'length='=>'int'], + 'Redis::sort' => ['array|int', 'key'=>'string', 'options='=>'array'], + 'Redis::sortAsc' => ['array', 'key'=>'string', 'pattern='=>'string', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], + 'Redis::sortAscAlpha' => ['array', 'key'=>'string', 'pattern='=>'', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], + 'Redis::sortDesc' => ['array', 'key'=>'string', 'pattern='=>'', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], + 'Redis::sortDescAlpha' => ['array', 'key'=>'string', 'pattern='=>'', 'get='=>'string', 'start='=>'int', 'end='=>'int', 'getList='=>'bool'], + 'Redis::strLen' => ['int', 'key'=>'string'], + 'Redis::subscribe' => ['mixed|null', 'channels'=>'array', 'callback'=>'string|array'], + 'Redis::substr' => ['', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::swapdb' => ['bool', 'srcdb'=>'int', 'dstdb'=>'int'], + 'Redis::time' => ['array'], + 'Redis::ttl' => ['int|false', 'key'=>'string'], + 'Redis::type' => ['int', 'key'=>'string'], + 'Redis::unlink' => ['int', 'key'=>'string', '...args'=>'string'], + 'Redis::unlink\'1' => ['int', 'key'=>'string[]'], + 'Redis::unsubscribe' => ['', 'channel'=>'string', '...other_channels='=>'string'], + 'Redis::unwatch' => [''], + 'Redis::wait' => ['int', 'numSlaves'=>'int', 'timeout'=>'int'], + 'Redis::watch' => ['void', 'key'=>'string', '...other_keys='=>'string'], + 'Redis::xack' => ['', 'str_key'=>'string', 'str_group'=>'string', 'arr_ids'=>'array'], + 'Redis::xadd' => ['', 'str_key'=>'string', 'str_id'=>'string', 'arr_fields'=>'array', 'i_maxlen='=>'', 'boo_approximate='=>''], + 'Redis::xclaim' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_consumer'=>'string', 'i_min_idle'=>'', 'arr_ids'=>'array', 'arr_opts='=>'array'], + 'Redis::xdel' => ['', 'str_key'=>'string', 'arr_ids'=>'array'], + 'Redis::xgroup' => ['', 'str_operation'=>'string', 'str_key='=>'string', 'str_arg1='=>'', 'str_arg2='=>'', 'str_arg3='=>''], + 'Redis::xinfo' => ['', 'str_cmd'=>'string', 'str_key='=>'string', 'str_group='=>'string'], + 'Redis::xlen' => ['', 'key'=>''], + 'Redis::xpending' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_start='=>'', 'str_end='=>'', 'i_count='=>'', 'str_consumer='=>'string'], + 'Redis::xrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], + 'Redis::xread' => ['', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], + 'Redis::xreadgroup' => ['', 'str_group'=>'string', 'str_consumer'=>'string', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], + 'Redis::xrevrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], + 'Redis::xtrim' => ['', 'str_key'=>'string', 'i_maxlen'=>'', 'boo_approximate='=>''], + 'Redis::zAdd' => ['int', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'], + 'Redis::zAdd\'1' => ['int', 'options'=>'array', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'], + 'Redis::zCard' => ['int', 'key'=>'string'], + 'Redis::zCount' => ['int', 'key'=>'string', 'start'=>'string', 'end'=>'string'], + 'Redis::zDelete' => ['int', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], + 'Redis::zDeleteRangeByRank' => ['', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::zDeleteRangeByScore' => ['', 'key'=>'string', 'start'=>'float', 'end'=>'float'], + 'Redis::zIncrBy' => ['float', 'key'=>'string', 'value'=>'float', 'member'=>'string'], + 'Redis::zInter' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], + 'Redis::zInterStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], + 'Redis::zLexCount' => ['int', 'key'=>'string', 'min'=>'string', 'max'=>'string'], + 'Redis::zRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscores='=>'bool'], + 'Redis::zRangeByLex' => ['array|false', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'], + 'Redis::zRangeByScore' => ['array', 'key'=>'string', 'start'=>'int|string', 'end'=>'int|string', 'options='=>'array'], + 'Redis::zRank' => ['int', 'key'=>'string', 'member'=>'string'], + 'Redis::zRem' => ['int', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], + 'Redis::zRemRangeByLex' => ['int', 'key'=>'string', 'min'=>'string', 'max'=>'string'], + 'Redis::zRemRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::zRemRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'], + 'Redis::zRemove' => ['int', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], + 'Redis::zRemoveRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'Redis::zRemoveRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'], + 'Redis::zRevRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'], + 'Redis::zRevRangeByLex' => ['array', 'key'=>'string', 'min'=>'string', 'max'=>'string', 'offset='=>'int', 'limit='=>'int'], + 'Redis::zRevRangeByScore' => ['array', 'key'=>'string', 'start'=>'string', 'end'=>'string', 'options='=>'array'], + 'Redis::zRevRank' => ['int', 'key'=>'string', 'member'=>'string'], + 'Redis::zReverseRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'], + 'Redis::zScan' => ['array|bool', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], + 'Redis::zScore' => ['float|false', 'key'=>'string', 'member'=>'string'], + 'Redis::zSize' => ['', 'key'=>'string'], + 'Redis::zUnion' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], + 'Redis::zUnionStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], + 'RedisArray::__call' => ['mixed', 'function_name'=>'string', 'arguments'=>'array'], + 'RedisArray::__construct' => ['void', 'name='=>'string', 'hosts='=>'?array', 'opts='=>'?array'], + 'RedisArray::_continuum' => [''], + 'RedisArray::_distributor' => [''], + 'RedisArray::_function' => ['string'], + 'RedisArray::_hosts' => ['array'], + 'RedisArray::_instance' => ['', 'host'=>''], + 'RedisArray::_rehash' => ['', 'callable='=>'callable'], + 'RedisArray::_target' => ['string', 'key'=>'string'], + 'RedisArray::bgsave' => [''], + 'RedisArray::del' => ['bool', 'key'=>'string', '...args'=>'string'], + 'RedisArray::delete' => ['bool', 'key'=>'string', '...args'=>'string'], + 'RedisArray::delete\'1' => ['bool', 'key'=>'string[]'], + 'RedisArray::discard' => [''], + 'RedisArray::exec' => ['array'], + 'RedisArray::flushAll' => ['bool', 'async='=>'bool'], + 'RedisArray::flushDb' => ['bool', 'async='=>'bool'], + 'RedisArray::getMultiple' => ['', 'keys'=>''], + 'RedisArray::getOption' => ['', 'opt'=>''], + 'RedisArray::info' => ['array'], + 'RedisArray::keys' => ['array', 'pattern'=>''], + 'RedisArray::mGet' => ['array', 'keys'=>'string[]'], + 'RedisArray::mSet' => ['bool', 'pairs'=>'array'], + 'RedisArray::multi' => ['RedisArray', 'host'=>'string', 'mode='=>'int'], + 'RedisArray::ping' => ['string'], + 'RedisArray::save' => ['bool'], + 'RedisArray::select' => ['', 'index'=>''], + 'RedisArray::setOption' => ['', 'opt'=>'', 'value'=>''], + 'RedisArray::unlink' => ['int', 'key'=>'string', '...other_keys='=>'string'], + 'RedisArray::unlink\'1' => ['int', 'key'=>'string[]'], + 'RedisArray::unwatch' => [''], + 'RedisCluster::__construct' => ['void', 'name'=>'?string', 'seeds='=>'string[]', 'timeout='=>'float', 'readTimeout='=>'float', 'persistent='=>'bool', 'auth='=>'?string'], + 'RedisCluster::_masters' => ['array'], + 'RedisCluster::_prefix' => ['string', 'value'=>'mixed'], + 'RedisCluster::_redir' => [''], + 'RedisCluster::_serialize' => ['mixed', 'value'=>'mixed'], + 'RedisCluster::_unserialize' => ['mixed', 'value'=>'string'], + 'RedisCluster::append' => ['int', 'key'=>'string', 'value'=>'string'], + 'RedisCluster::bgrewriteaof' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::bgsave' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::bitCount' => ['int', 'key'=>'string'], + 'RedisCluster::bitOp' => ['int', 'operation'=>'string', 'retKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'], + 'RedisCluster::bitpos' => ['int', 'key'=>'string', 'bit'=>'int', 'start='=>'int', 'end='=>'int'], + 'RedisCluster::blPop' => ['array', 'keys'=>'array', 'timeout'=>'int'], + 'RedisCluster::brPop' => ['array', 'keys'=>'array', 'timeout'=>'int'], + 'RedisCluster::brpoplpush' => ['string|false', 'srcKey'=>'string', 'dstKey'=>'string', 'timeout'=>'int'], + 'RedisCluster::clearLastError' => ['bool'], + 'RedisCluster::client' => ['', 'nodeParams'=>'string|array{0:string,1:int}', 'subCmd='=>'string', '...args='=>''], + 'RedisCluster::close' => [''], + 'RedisCluster::cluster' => ['mixed', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'arguments='=>'mixed'], + 'RedisCluster::command' => ['array|bool'], + 'RedisCluster::config' => ['array|bool', 'nodeParams'=>'string|array{0:string,1:int}', 'operation'=>'string', 'key'=>'string', 'value='=>'string'], + 'RedisCluster::dbSize' => ['int', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::decr' => ['int', 'key'=>'string'], + 'RedisCluster::decrBy' => ['int', 'key'=>'string', 'value'=>'int'], + 'RedisCluster::del' => ['int', 'key'=>'string', '...other_keys='=>'string'], + 'RedisCluster::del\'1' => ['int', 'key'=>'string[]'], + 'RedisCluster::discard' => [''], + 'RedisCluster::dump' => ['string|false', 'key'=>'string'], + 'RedisCluster::echo' => ['string', 'nodeParams'=>'string|array{0:string,1:int}', 'msg'=>'string'], + 'RedisCluster::eval' => ['mixed', 'script'=>'', 'args='=>'', 'numKeys='=>''], + 'RedisCluster::evalSha' => ['mixed', 'scriptSha'=>'string', 'args='=>'array', 'numKeys='=>'int'], + 'RedisCluster::exec' => ['array|void'], + 'RedisCluster::exists' => ['bool', 'key'=>'string'], + 'RedisCluster::expire' => ['bool', 'key'=>'string', 'ttl'=>'int'], + 'RedisCluster::expireAt' => ['bool', 'key'=>'string', 'timestamp'=>'int'], + 'RedisCluster::flushAll' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}', 'async='=>'bool'], + 'RedisCluster::flushDB' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}', 'async='=>'bool'], + 'RedisCluster::geoAdd' => ['int', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'member'=>'string', '...other_members='=>'float|string'], + 'RedisCluster::geoDist' => ['', 'key'=>'string', 'member1'=>'string', 'member2'=>'string', 'unit='=>'string'], + 'RedisCluster::geoRadius' => ['', 'key'=>'string', 'longitude'=>'float', 'latitude'=>'float', 'radius'=>'float', 'radiusUnit'=>'string', 'options='=>'array'], + 'RedisCluster::geoRadiusByMember' => ['string[]', 'key'=>'string', 'member'=>'string', 'radius'=>'float', 'radiusUnit'=>'string', 'options='=>'array'], + 'RedisCluster::geohash' => ['array', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], + 'RedisCluster::geopos' => ['array', 'key'=>'string', 'member'=>'string', '...other_members='=>'string'], + 'RedisCluster::get' => ['string|false', 'key'=>'string'], + 'RedisCluster::getBit' => ['int', 'key'=>'string', 'offset'=>'int'], + 'RedisCluster::getLastError' => ['?string'], + 'RedisCluster::getMode' => ['int'], + 'RedisCluster::getOption' => ['int', 'option'=>'int'], + 'RedisCluster::getRange' => ['string', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'RedisCluster::getSet' => ['string', 'key'=>'string', 'value'=>'string'], + 'RedisCluster::hDel' => ['int|false', 'key'=>'string', 'hashKey'=>'string', '...other_hashKeys='=>'string[]'], + 'RedisCluster::hExists' => ['bool', 'key'=>'string', 'hashKey'=>'string'], + 'RedisCluster::hGet' => ['string|false', 'key'=>'string', 'hashKey'=>'string'], + 'RedisCluster::hGetAll' => ['array', 'key'=>'string'], + 'RedisCluster::hIncrBy' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'int'], + 'RedisCluster::hIncrByFloat' => ['float', 'key'=>'string', 'field'=>'string', 'increment'=>'float'], + 'RedisCluster::hKeys' => ['array', 'key'=>'string'], + 'RedisCluster::hLen' => ['int|false', 'key'=>'string'], + 'RedisCluster::hMGet' => ['array', 'key'=>'string', 'hashKeys'=>'array'], + 'RedisCluster::hMSet' => ['bool', 'key'=>'string', 'hashKeys'=>'array'], + 'RedisCluster::hScan' => ['array', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], + 'RedisCluster::hSet' => ['int', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], + 'RedisCluster::hSetNx' => ['bool', 'key'=>'string', 'hashKey'=>'string', 'value'=>'string'], + 'RedisCluster::hStrlen' => ['int', 'key'=>'string', 'member'=>'string'], + 'RedisCluster::hVals' => ['array', 'key'=>'string'], + 'RedisCluster::incr' => ['int', 'key'=>'string'], + 'RedisCluster::incrBy' => ['int', 'key'=>'string', 'value'=>'int'], + 'RedisCluster::incrByFloat' => ['float', 'key'=>'string', 'increment'=>'float'], + 'RedisCluster::info' => ['array', 'nodeParams'=>'string|array{0:string,1:int}', 'option='=>'string'], + 'RedisCluster::keys' => ['array', 'pattern'=>'string'], + 'RedisCluster::lGet' => ['', 'key'=>'string', 'index'=>'int'], + 'RedisCluster::lIndex' => ['string|false', 'key'=>'string', 'index'=>'int'], + 'RedisCluster::lInsert' => ['int', 'key'=>'string', 'position'=>'int', 'pivot'=>'string', 'value'=>'string'], + 'RedisCluster::lLen' => ['int', 'key'=>'string'], + 'RedisCluster::lPop' => ['string|false', 'key'=>'string'], + 'RedisCluster::lPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], + 'RedisCluster::lPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], + 'RedisCluster::lRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'RedisCluster::lRem' => ['int|false', 'key'=>'string', 'value'=>'string', 'count'=>'int'], + 'RedisCluster::lSet' => ['bool', 'key'=>'string', 'index'=>'int', 'value'=>'string'], + 'RedisCluster::lTrim' => ['array|false', 'key'=>'string', 'start'=>'int', 'stop'=>'int'], + 'RedisCluster::lastSave' => ['int', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::mget' => ['array', 'array'=>'array'], + 'RedisCluster::mset' => ['bool', 'array'=>'array'], + 'RedisCluster::msetnx' => ['int', 'array'=>'array'], + 'RedisCluster::multi' => ['Redis', 'mode='=>'int'], + 'RedisCluster::object' => ['string|int|false', 'string'=>'string', 'key'=>'string'], + 'RedisCluster::pExpire' => ['bool', 'key'=>'string', 'ttl'=>'int'], + 'RedisCluster::pExpireAt' => ['bool', 'key'=>'string', 'timestamp'=>'int'], + 'RedisCluster::persist' => ['bool', 'key'=>'string'], + 'RedisCluster::pfAdd' => ['bool', 'key'=>'string', 'elements'=>'array'], + 'RedisCluster::pfCount' => ['int', 'key'=>'string'], + 'RedisCluster::pfMerge' => ['bool', 'destKey'=>'string', 'sourceKeys'=>'array'], + 'RedisCluster::ping' => ['string', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::psetex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], + 'RedisCluster::psubscribe' => ['mixed', 'patterns'=>'array', 'callback'=>'string'], + 'RedisCluster::pttl' => ['int', 'key'=>'string'], + 'RedisCluster::publish' => ['int', 'channel'=>'string', 'message'=>'string'], + 'RedisCluster::pubsub' => ['array', 'nodeParams'=>'string', 'keyword'=>'string', '...argument='=>'string'], + 'RedisCluster::punSubscribe' => ['', 'channels'=>'', 'callback'=>''], + 'RedisCluster::rPop' => ['string|false', 'key'=>'string'], + 'RedisCluster::rPush' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], + 'RedisCluster::rPushx' => ['int|false', 'key'=>'string', 'value'=>'string'], + 'RedisCluster::randomKey' => ['string', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::rawCommand' => ['mixed', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'arguments='=>'mixed'], + 'RedisCluster::rename' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string'], + 'RedisCluster::renameNx' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string'], + 'RedisCluster::restore' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], + 'RedisCluster::role' => ['array'], + 'RedisCluster::rpoplpush' => ['string|false', 'srcKey'=>'string', 'dstKey'=>'string'], + 'RedisCluster::sAdd' => ['int|false', 'key'=>'string', 'value1'=>'string', 'value2='=>'string', 'valueN='=>'string'], + 'RedisCluster::sAddArray' => ['int|false', 'key'=>'string', 'valueArray'=>'array'], + 'RedisCluster::sCard' => ['int', 'key'=>'string'], + 'RedisCluster::sDiff' => ['list', 'key1'=>'string', 'key2'=>'string', '...other_keys='=>'string'], + 'RedisCluster::sDiffStore' => ['int', 'dstKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'], + 'RedisCluster::sInter' => ['list', 'key'=>'string', '...other_keys='=>'string'], + 'RedisCluster::sInterStore' => ['int', 'dstKey'=>'string', 'key'=>'string', '...other_keys='=>'string'], + 'RedisCluster::sIsMember' => ['bool', 'key'=>'string', 'value'=>'string'], + 'RedisCluster::sMembers' => ['list', 'key'=>'string'], + 'RedisCluster::sMove' => ['bool', 'srcKey'=>'string', 'dstKey'=>'string', 'member'=>'string'], + 'RedisCluster::sPop' => ['string', 'key'=>'string'], + 'RedisCluster::sRandMember' => ['array|string', 'key'=>'string', 'count='=>'int'], + 'RedisCluster::sRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], + 'RedisCluster::sScan' => ['array|false', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'null', 'count='=>'int'], + 'RedisCluster::sUnion' => ['list', 'key1'=>'string', '...other_keys='=>'string'], + 'RedisCluster::sUnion\'1' => ['list', 'keys'=>'string[]'], + 'RedisCluster::sUnionStore' => ['int', 'dstKey'=>'string', 'key1'=>'string', '...other_keys='=>'string'], + 'RedisCluster::save' => ['bool', 'nodeParams'=>'string|array{0:string,1:int}'], + 'RedisCluster::scan' => ['array|false', '&iterator'=>'int', 'nodeParams'=>'string|array{0:string,1:int}', 'pattern='=>'string', 'count='=>'int'], + 'RedisCluster::script' => ['string|bool|array', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'script='=>'string', '...other_scripts='=>'string[]'], + 'RedisCluster::set' => ['bool', 'key'=>'string', 'value'=>'string', 'timeout='=>'array|int'], + 'RedisCluster::setBit' => ['int', 'key'=>'string', 'offset'=>'int', 'value'=>'bool|int'], + 'RedisCluster::setOption' => ['bool', 'option'=>'int', 'value'=>'string|int'], + 'RedisCluster::setRange' => ['string', 'key'=>'string', 'offset'=>'int', 'value'=>'string'], + 'RedisCluster::setex' => ['bool', 'key'=>'string', 'ttl'=>'int', 'value'=>'string'], + 'RedisCluster::setnx' => ['bool', 'key'=>'string', 'value'=>'string'], + 'RedisCluster::slowLog' => ['array|int|bool', 'nodeParams'=>'string|array{0:string,1:int}', 'command'=>'string', 'length='=>'int'], + 'RedisCluster::sort' => ['array', 'key'=>'string', 'option='=>'array'], + 'RedisCluster::strlen' => ['int', 'key'=>'string'], + 'RedisCluster::subscribe' => ['mixed', 'channels'=>'array', 'callback'=>'string'], + 'RedisCluster::time' => ['array'], + 'RedisCluster::ttl' => ['int', 'key'=>'string'], + 'RedisCluster::type' => ['int', 'key'=>'string'], + 'RedisCluster::unSubscribe' => ['', 'channels'=>'', '...other_channels='=>''], + 'RedisCluster::unlink' => ['int', 'key'=>'string', '...other_keys='=>'string'], + 'RedisCluster::unwatch' => [''], + 'RedisCluster::watch' => ['void', 'key'=>'string', '...other_keys='=>'string'], + 'RedisCluster::xack' => ['', 'str_key'=>'string', 'str_group'=>'string', 'arr_ids'=>'array'], + 'RedisCluster::xadd' => ['', 'str_key'=>'string', 'str_id'=>'string', 'arr_fields'=>'array', 'i_maxlen='=>'', 'boo_approximate='=>''], + 'RedisCluster::xclaim' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_consumer'=>'string', 'i_min_idle'=>'', 'arr_ids'=>'array', 'arr_opts='=>'array'], + 'RedisCluster::xdel' => ['', 'str_key'=>'string', 'arr_ids'=>'array'], + 'RedisCluster::xgroup' => ['', 'str_operation'=>'string', 'str_key='=>'string', 'str_arg1='=>'', 'str_arg2='=>'', 'str_arg3='=>''], + 'RedisCluster::xinfo' => ['', 'str_cmd'=>'string', 'str_key='=>'string', 'str_group='=>'string'], + 'RedisCluster::xlen' => ['', 'key'=>''], + 'RedisCluster::xpending' => ['', 'str_key'=>'string', 'str_group'=>'string', 'str_start='=>'', 'str_end='=>'', 'i_count='=>'', 'str_consumer='=>'string'], + 'RedisCluster::xrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], + 'RedisCluster::xread' => ['', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], + 'RedisCluster::xreadgroup' => ['', 'str_group'=>'string', 'str_consumer'=>'string', 'arr_streams'=>'array', 'i_count='=>'', 'i_block='=>''], + 'RedisCluster::xrevrange' => ['', 'str_key'=>'string', 'str_start'=>'', 'str_end'=>'', 'i_count='=>''], + 'RedisCluster::xtrim' => ['', 'str_key'=>'string', 'i_maxlen'=>'', 'boo_approximate='=>''], + 'RedisCluster::zAdd' => ['int', 'key'=>'string', 'score1'=>'float', 'value1'=>'string', 'score2='=>'float', 'value2='=>'string', 'scoreN='=>'float', 'valueN='=>'string'], + 'RedisCluster::zCard' => ['int', 'key'=>'string'], + 'RedisCluster::zCount' => ['int', 'key'=>'string', 'start'=>'string', 'end'=>'string'], + 'RedisCluster::zIncrBy' => ['float', 'key'=>'string', 'value'=>'float', 'member'=>'string'], + 'RedisCluster::zInterStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], + 'RedisCluster::zLexCount' => ['int', 'key'=>'string', 'min'=>'int', 'max'=>'int'], + 'RedisCluster::zRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscores='=>'bool'], + 'RedisCluster::zRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'], + 'RedisCluster::zRangeByScore' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array'], + 'RedisCluster::zRank' => ['int', 'key'=>'string', 'member'=>'string'], + 'RedisCluster::zRem' => ['int', 'key'=>'string', 'member1'=>'string', '...other_members='=>'string'], + 'RedisCluster::zRemRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int'], + 'RedisCluster::zRemRangeByRank' => ['int', 'key'=>'string', 'start'=>'int', 'end'=>'int'], + 'RedisCluster::zRemRangeByScore' => ['int', 'key'=>'string', 'start'=>'float|string', 'end'=>'float|string'], + 'RedisCluster::zRevRange' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'withscore='=>'bool'], + 'RedisCluster::zRevRangeByLex' => ['array', 'key'=>'string', 'min'=>'int', 'max'=>'int', 'offset='=>'int', 'limit='=>'int'], + 'RedisCluster::zRevRangeByScore' => ['array', 'key'=>'string', 'start'=>'int', 'end'=>'int', 'options='=>'array'], + 'RedisCluster::zRevRank' => ['int', 'key'=>'string', 'member'=>'string'], + 'RedisCluster::zScan' => ['array|false', 'key'=>'string', '&iterator'=>'int', 'pattern='=>'string', 'count='=>'int'], + 'RedisCluster::zScore' => ['float', 'key'=>'string', 'member'=>'string'], + 'RedisCluster::zUnionStore' => ['int', 'Output'=>'string', 'ZSetKeys'=>'array', 'Weights='=>'?array', 'aggregateFunction='=>'string'], + 'Reflection::export' => ['?string', 'r'=>'reflector', 'return='=>'bool'], + 'Reflection::getModifierNames' => ['list', 'modifiers'=>'int'], + 'ReflectionClass::__clone' => ['void'], + 'ReflectionClass::__construct' => ['void', 'argument'=>'object|class-string'], + 'ReflectionClass::__toString' => ['string'], + 'ReflectionClass::export' => ['?string', 'argument'=>'string|object', 'return='=>'bool'], + 'ReflectionClass::getConstant' => ['mixed', 'name'=>'string'], + 'ReflectionClass::getConstants' => ['array'], + 'ReflectionClass::getConstructor' => ['?ReflectionMethod'], + 'ReflectionClass::getDefaultProperties' => ['array'], + 'ReflectionClass::getDocComment' => ['string|false'], + 'ReflectionClass::getEndLine' => ['int|false'], + 'ReflectionClass::getExtension' => ['?ReflectionExtension'], + 'ReflectionClass::getExtensionName' => ['string|false'], + 'ReflectionClass::getFileName' => ['string|false'], + 'ReflectionClass::getInterfaceNames' => ['list'], + 'ReflectionClass::getInterfaces' => ['array'], + 'ReflectionClass::getMethod' => ['ReflectionMethod', 'name'=>'string'], + 'ReflectionClass::getMethods' => ['list', 'filter='=>'int'], + 'ReflectionClass::getModifiers' => ['int'], + 'ReflectionClass::getName' => ['class-string'], + 'ReflectionClass::getNamespaceName' => ['string'], + 'ReflectionClass::getParentClass' => ['ReflectionClass|false'], + 'ReflectionClass::getProperties' => ['list', 'filter='=>'int'], + 'ReflectionClass::getProperty' => ['ReflectionProperty', 'name'=>'string'], + 'ReflectionClass::getReflectionConstant' => ['ReflectionClassConstant|false', 'name'=>'string'], + 'ReflectionClass::getReflectionConstants' => ['list'], + 'ReflectionClass::getShortName' => ['string'], + 'ReflectionClass::getStartLine' => ['int|false'], + 'ReflectionClass::getStaticProperties' => ['array'], + 'ReflectionClass::getStaticPropertyValue' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'ReflectionClass::getTraitAliases' => ['array'], + 'ReflectionClass::getTraitNames' => ['list'], + 'ReflectionClass::getTraits' => ['array'], + 'ReflectionClass::hasConstant' => ['bool', 'name'=>'string'], + 'ReflectionClass::hasMethod' => ['bool', 'name'=>'string'], + 'ReflectionClass::hasProperty' => ['bool', 'name'=>'string'], + 'ReflectionClass::implementsInterface' => ['bool', 'interface_name'=>'interface-string|ReflectionClass'], + 'ReflectionClass::inNamespace' => ['bool'], + 'ReflectionClass::isAbstract' => ['bool'], + 'ReflectionClass::isAnonymous' => ['bool'], + 'ReflectionClass::isCloneable' => ['bool'], + 'ReflectionClass::isFinal' => ['bool'], + 'ReflectionClass::isInstance' => ['bool', 'object'=>'object'], + 'ReflectionClass::isInstantiable' => ['bool'], + 'ReflectionClass::isInterface' => ['bool'], + 'ReflectionClass::isInternal' => ['bool'], + 'ReflectionClass::isIterateable' => ['bool'], + 'ReflectionClass::isSubclassOf' => ['bool', 'class'=>'class-string|ReflectionClass'], + 'ReflectionClass::isTrait' => ['bool'], + 'ReflectionClass::isUserDefined' => ['bool'], + 'ReflectionClass::newInstance' => ['object', '...args='=>'mixed'], + 'ReflectionClass::newInstanceArgs' => ['object', 'args='=>'list'], + 'ReflectionClass::newInstanceWithoutConstructor' => ['object'], + 'ReflectionClass::setStaticPropertyValue' => ['void', 'name'=>'string', 'value'=>'mixed'], + 'ReflectionClassConstant::__construct' => ['void', 'class'=>'mixed', 'name'=>'string'], + 'ReflectionClassConstant::__toString' => ['string'], + 'ReflectionClassConstant::export' => ['string', 'class'=>'mixed', 'name'=>'string', 'return='=>'bool'], + 'ReflectionClassConstant::getDeclaringClass' => ['ReflectionClass'], + 'ReflectionClassConstant::getDocComment' => ['string|false'], + 'ReflectionClassConstant::getModifiers' => ['int'], + 'ReflectionClassConstant::getName' => ['string'], + 'ReflectionClassConstant::getValue' => ['scalar|array|null'], + 'ReflectionClassConstant::isPrivate' => ['bool'], + 'ReflectionClassConstant::isProtected' => ['bool'], + 'ReflectionClassConstant::isPublic' => ['bool'], + 'ReflectionExtension::__clone' => ['void'], + 'ReflectionExtension::__construct' => ['void', 'name'=>'string'], + 'ReflectionExtension::__toString' => ['string'], + 'ReflectionExtension::export' => ['?string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionExtension::getClassNames' => ['list'], + 'ReflectionExtension::getClasses' => ['array'], + 'ReflectionExtension::getConstants' => ['array'], + 'ReflectionExtension::getDependencies' => ['array'], + 'ReflectionExtension::getFunctions' => ['array'], + 'ReflectionExtension::getINIEntries' => ['array'], + 'ReflectionExtension::getName' => ['string'], + 'ReflectionExtension::getVersion' => ['?string'], + 'ReflectionExtension::info' => ['void'], + 'ReflectionExtension::isPersistent' => ['bool'], + 'ReflectionExtension::isTemporary' => ['bool'], + 'ReflectionFunction::__construct' => ['void', 'name'=>'callable-string|Closure'], + 'ReflectionFunction::__toString' => ['string'], + 'ReflectionFunction::export' => ['?string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionFunction::getClosure' => ['Closure'], + 'ReflectionFunction::getClosureScopeClass' => ['ReflectionClass'], + 'ReflectionFunction::getClosureThis' => ['object'], + 'ReflectionFunction::getDocComment' => ['string|false'], + 'ReflectionFunction::getEndLine' => ['int|false'], + 'ReflectionFunction::getExtension' => ['?ReflectionExtension'], + 'ReflectionFunction::getExtensionName' => ['string|false'], + 'ReflectionFunction::getFileName' => ['string|false'], + 'ReflectionFunction::getName' => ['callable-string'], + 'ReflectionFunction::getNamespaceName' => ['string'], + 'ReflectionFunction::getNumberOfParameters' => ['int'], + 'ReflectionFunction::getNumberOfRequiredParameters' => ['int'], + 'ReflectionFunction::getParameters' => ['list'], + 'ReflectionFunction::getReturnType' => ['?ReflectionType'], + 'ReflectionFunction::getShortName' => ['string'], + 'ReflectionFunction::getStartLine' => ['int|false'], + 'ReflectionFunction::getStaticVariables' => ['array'], + 'ReflectionFunction::hasReturnType' => ['bool'], + 'ReflectionFunction::inNamespace' => ['bool'], + 'ReflectionFunction::invoke' => ['mixed', '...args='=>'mixed'], + 'ReflectionFunction::invokeArgs' => ['mixed', 'args'=>'array'], + 'ReflectionFunction::isClosure' => ['bool'], + 'ReflectionFunction::isDeprecated' => ['bool'], + 'ReflectionFunction::isDisabled' => ['bool'], + 'ReflectionFunction::isGenerator' => ['bool'], + 'ReflectionFunction::isInternal' => ['bool'], + 'ReflectionFunction::isUserDefined' => ['bool'], + 'ReflectionFunction::isVariadic' => ['bool'], + 'ReflectionFunction::returnsReference' => ['bool'], + 'ReflectionFunctionAbstract::__clone' => ['void'], + 'ReflectionFunctionAbstract::__toString' => ['string'], + 'ReflectionFunctionAbstract::export' => ['?string'], + 'ReflectionFunctionAbstract::getClosureScopeClass' => ['ReflectionClass|null'], + 'ReflectionFunctionAbstract::getClosureThis' => ['object|null'], + 'ReflectionFunctionAbstract::getDocComment' => ['string|false'], + 'ReflectionFunctionAbstract::getEndLine' => ['int|false'], + 'ReflectionFunctionAbstract::getExtension' => ['?ReflectionExtension'], + 'ReflectionFunctionAbstract::getExtensionName' => ['string|false'], + 'ReflectionFunctionAbstract::getFileName' => ['string|false'], + 'ReflectionFunctionAbstract::getName' => ['string'], + 'ReflectionFunctionAbstract::getNamespaceName' => ['string'], + 'ReflectionFunctionAbstract::getNumberOfParameters' => ['int'], + 'ReflectionFunctionAbstract::getNumberOfRequiredParameters' => ['int'], + 'ReflectionFunctionAbstract::getParameters' => ['list'], + 'ReflectionFunctionAbstract::getReturnType' => ['?ReflectionType'], + 'ReflectionFunctionAbstract::getShortName' => ['string'], + 'ReflectionFunctionAbstract::getStartLine' => ['int|false'], + 'ReflectionFunctionAbstract::getStaticVariables' => ['array'], + 'ReflectionFunctionAbstract::hasReturnType' => ['bool'], + 'ReflectionFunctionAbstract::inNamespace' => ['bool'], + 'ReflectionFunctionAbstract::isClosure' => ['bool'], + 'ReflectionFunctionAbstract::isDeprecated' => ['bool'], + 'ReflectionFunctionAbstract::isGenerator' => ['bool'], + 'ReflectionFunctionAbstract::isInternal' => ['bool'], + 'ReflectionFunctionAbstract::isUserDefined' => ['bool'], + 'ReflectionFunctionAbstract::isVariadic' => ['bool'], + 'ReflectionFunctionAbstract::returnsReference' => ['bool'], + 'ReflectionGenerator::__construct' => ['void', 'generator'=>'object'], + 'ReflectionGenerator::getExecutingFile' => ['string'], + 'ReflectionGenerator::getExecutingGenerator' => ['Generator'], + 'ReflectionGenerator::getExecutingLine' => ['int'], + 'ReflectionGenerator::getFunction' => ['ReflectionFunctionAbstract'], + 'ReflectionGenerator::getThis' => ['?object'], + 'ReflectionGenerator::getTrace' => ['array', 'options='=>'int'], + 'ReflectionMethod::__construct' => ['void', 'class'=>'class-string|object', 'name'=>'string'], + 'ReflectionMethod::__construct\'1' => ['void', 'class_method'=>'string'], + 'ReflectionMethod::__toString' => ['string'], + 'ReflectionMethod::export' => ['?string', 'class'=>'string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionMethod::getClosure' => ['?Closure', 'object='=>'object'], + 'ReflectionMethod::getClosureScopeClass' => ['ReflectionClass'], + 'ReflectionMethod::getClosureThis' => ['object'], + 'ReflectionMethod::getDeclaringClass' => ['ReflectionClass'], + 'ReflectionMethod::getDocComment' => ['false|string'], + 'ReflectionMethod::getEndLine' => ['false|int'], + 'ReflectionMethod::getExtension' => ['?ReflectionExtension'], + 'ReflectionMethod::getExtensionName' => ['string|false'], + 'ReflectionMethod::getFileName' => ['false|string'], + 'ReflectionMethod::getModifiers' => ['int'], + 'ReflectionMethod::getName' => ['string'], + 'ReflectionMethod::getNamespaceName' => ['string'], + 'ReflectionMethod::getNumberOfParameters' => ['int'], + 'ReflectionMethod::getNumberOfRequiredParameters' => ['int'], + 'ReflectionMethod::getParameters' => ['list<\ReflectionParameter>'], + 'ReflectionMethod::getPrototype' => ['ReflectionMethod'], + 'ReflectionMethod::getReturnType' => ['?ReflectionType'], + 'ReflectionMethod::getShortName' => ['string'], + 'ReflectionMethod::getStartLine' => ['false|int'], + 'ReflectionMethod::getStaticVariables' => ['array'], + 'ReflectionMethod::hasReturnType' => ['bool'], + 'ReflectionMethod::inNamespace' => ['bool'], + 'ReflectionMethod::invoke' => ['mixed', 'object'=>'?object', '...args='=>'mixed'], + 'ReflectionMethod::invokeArgs' => ['mixed', 'object'=>'?object', 'args'=>'array'], + 'ReflectionMethod::isAbstract' => ['bool'], + 'ReflectionMethod::isClosure' => ['bool'], + 'ReflectionMethod::isConstructor' => ['bool'], + 'ReflectionMethod::isDeprecated' => ['bool'], + 'ReflectionMethod::isDestructor' => ['bool'], + 'ReflectionMethod::isFinal' => ['bool'], + 'ReflectionMethod::isGenerator' => ['bool'], + 'ReflectionMethod::isInternal' => ['bool'], + 'ReflectionMethod::isPrivate' => ['bool'], + 'ReflectionMethod::isProtected' => ['bool'], + 'ReflectionMethod::isPublic' => ['bool'], + 'ReflectionMethod::isStatic' => ['bool'], + 'ReflectionMethod::isUserDefined' => ['bool'], + 'ReflectionMethod::isVariadic' => ['bool'], + 'ReflectionMethod::returnsReference' => ['bool'], + 'ReflectionMethod::setAccessible' => ['void', 'visible'=>'bool'], + 'ReflectionNamedType::__clone' => ['void'], + 'ReflectionNamedType::__toString' => ['string'], + 'ReflectionNamedType::allowsNull' => ['bool'], + 'ReflectionNamedType::getName' => ['string'], + 'ReflectionNamedType::isBuiltin' => ['bool'], + 'ReflectionObject::__clone' => ['void'], + 'ReflectionObject::__construct' => ['void', 'argument'=>'object'], + 'ReflectionObject::__toString' => ['string'], + 'ReflectionObject::export' => ['?string', 'argument'=>'object', 'return='=>'bool'], + 'ReflectionObject::getConstant' => ['mixed', 'name'=>'string'], + 'ReflectionObject::getConstants' => ['array'], + 'ReflectionObject::getConstructor' => ['?ReflectionMethod'], + 'ReflectionObject::getDefaultProperties' => ['array'], + 'ReflectionObject::getDocComment' => ['false|string'], + 'ReflectionObject::getEndLine' => ['false|int'], + 'ReflectionObject::getExtension' => ['?ReflectionExtension'], + 'ReflectionObject::getExtensionName' => ['false|string'], + 'ReflectionObject::getFileName' => ['false|string'], + 'ReflectionObject::getInterfaceNames' => ['class-string[]'], + 'ReflectionObject::getInterfaces' => ['array'], + 'ReflectionObject::getMethod' => ['ReflectionMethod', 'name'=>'string'], + 'ReflectionObject::getMethods' => ['ReflectionMethod[]', 'filter='=>'int'], + 'ReflectionObject::getModifiers' => ['int'], + 'ReflectionObject::getName' => ['string'], + 'ReflectionObject::getNamespaceName' => ['string'], + 'ReflectionObject::getParentClass' => ['ReflectionClass|false'], + 'ReflectionObject::getProperties' => ['ReflectionProperty[]', 'filter='=>'int'], + 'ReflectionObject::getProperty' => ['ReflectionProperty', 'name'=>'string'], + 'ReflectionObject::getReflectionConstant' => ['ReflectionClassConstant', 'name'=>'string'], + 'ReflectionObject::getReflectionConstants' => ['list<\ReflectionClassConstant>'], + 'ReflectionObject::getShortName' => ['string'], + 'ReflectionObject::getStartLine' => ['false|int'], + 'ReflectionObject::getStaticProperties' => ['ReflectionProperty[]'], + 'ReflectionObject::getStaticPropertyValue' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'ReflectionObject::getTraitAliases' => ['array'], + 'ReflectionObject::getTraitNames' => ['list'], + 'ReflectionObject::getTraits' => ['array'], + 'ReflectionObject::hasConstant' => ['bool', 'name'=>'string'], + 'ReflectionObject::hasMethod' => ['bool', 'name'=>'string'], + 'ReflectionObject::hasProperty' => ['bool', 'name'=>'string'], + 'ReflectionObject::implementsInterface' => ['bool', 'interface_name'=>'ReflectionClass|string'], + 'ReflectionObject::inNamespace' => ['bool'], + 'ReflectionObject::isAbstract' => ['bool'], + 'ReflectionObject::isAnonymous' => ['bool'], + 'ReflectionObject::isCloneable' => ['bool'], + 'ReflectionObject::isFinal' => ['bool'], + 'ReflectionObject::isInstance' => ['bool', 'object'=>'object'], + 'ReflectionObject::isInstantiable' => ['bool'], + 'ReflectionObject::isInterface' => ['bool'], + 'ReflectionObject::isInternal' => ['bool'], + 'ReflectionObject::isIterable' => ['bool'], + 'ReflectionObject::isIterateable' => ['bool'], + 'ReflectionObject::isSubclassOf' => ['bool', 'class'=>'ReflectionClass|string'], + 'ReflectionObject::isTrait' => ['bool'], + 'ReflectionObject::isUserDefined' => ['bool'], + 'ReflectionObject::newInstance' => ['object', 'args='=>'mixed', '...args='=>'array'], + 'ReflectionObject::newInstanceArgs' => ['object', 'args='=>'list'], + 'ReflectionObject::newInstanceWithoutConstructor' => ['object'], + 'ReflectionObject::setStaticPropertyValue' => ['void', 'name'=>'string', 'value'=>'string'], + 'ReflectionParameter::__clone' => ['void'], + 'ReflectionParameter::__construct' => ['void', 'function'=>'', 'parameter'=>''], + 'ReflectionParameter::__toString' => ['string'], + 'ReflectionParameter::allowsNull' => ['bool'], + 'ReflectionParameter::canBePassedByValue' => ['bool'], + 'ReflectionParameter::export' => ['?string', 'function'=>'string', 'parameter'=>'string', 'return='=>'bool'], + 'ReflectionParameter::getClass' => ['?ReflectionClass'], + 'ReflectionParameter::getDeclaringClass' => ['?ReflectionClass'], + 'ReflectionParameter::getDeclaringFunction' => ['ReflectionFunctionAbstract'], + 'ReflectionParameter::getDefaultValue' => ['mixed'], + 'ReflectionParameter::getDefaultValueConstantName' => ['?string'], + 'ReflectionParameter::getName' => ['string'], + 'ReflectionParameter::getPosition' => ['int'], + 'ReflectionParameter::getType' => ['?ReflectionType'], + 'ReflectionParameter::hasType' => ['bool'], + 'ReflectionParameter::isArray' => ['bool'], + 'ReflectionParameter::isCallable' => ['bool'], + 'ReflectionParameter::isDefaultValueAvailable' => ['bool'], + 'ReflectionParameter::isDefaultValueConstant' => ['bool'], + 'ReflectionParameter::isOptional' => ['bool'], + 'ReflectionParameter::isPassedByReference' => ['bool'], + 'ReflectionParameter::isVariadic' => ['bool'], + 'ReflectionProperty::__clone' => ['void'], + 'ReflectionProperty::__construct' => ['void', 'class'=>'', 'name'=>'string'], + 'ReflectionProperty::__toString' => ['string'], + 'ReflectionProperty::export' => ['?string', 'class'=>'mixed', 'name'=>'string', 'return='=>'bool'], + 'ReflectionProperty::getDeclaringClass' => ['ReflectionClass'], + 'ReflectionProperty::getDocComment' => ['string|false'], + 'ReflectionProperty::getModifiers' => ['int'], + 'ReflectionProperty::getName' => ['string'], + 'ReflectionProperty::getValue' => ['mixed', 'object='=>'object'], + 'ReflectionProperty::hasType' => ['bool'], + 'ReflectionProperty::isDefault' => ['bool'], + 'ReflectionProperty::isPrivate' => ['bool'], + 'ReflectionProperty::isProtected' => ['bool'], + 'ReflectionProperty::isPublic' => ['bool'], + 'ReflectionProperty::isStatic' => ['bool'], + 'ReflectionProperty::setAccessible' => ['void', 'visible'=>'bool'], + 'ReflectionProperty::setValue' => ['void', 'object'=>'null|object', 'value'=>''], + 'ReflectionProperty::setValue\'1' => ['void', 'value'=>''], + 'ReflectionType::__clone' => ['void'], + 'ReflectionType::__toString' => ['string'], + 'ReflectionType::allowsNull' => ['bool'], + 'ReflectionType::isBuiltin' => ['bool'], + 'ReflectionZendExtension::__clone' => ['void'], + 'ReflectionZendExtension::__construct' => ['void', 'name'=>'string'], + 'ReflectionZendExtension::__toString' => ['string'], + 'ReflectionZendExtension::export' => ['?string', 'name'=>'string', 'return='=>'bool'], + 'ReflectionZendExtension::getAuthor' => ['string'], + 'ReflectionZendExtension::getCopyright' => ['string'], + 'ReflectionZendExtension::getName' => ['string'], + 'ReflectionZendExtension::getURL' => ['string'], + 'ReflectionZendExtension::getVersion' => ['string'], + 'Reflector::__toString' => ['string'], + 'Reflector::export' => ['?string'], + 'RegexIterator::__construct' => ['void', 'iterator'=>'Iterator', 'regex'=>'string', 'mode='=>'int', 'flags='=>'int', 'preg_flags='=>'int'], + 'RegexIterator::accept' => ['bool'], + 'RegexIterator::current' => ['mixed'], + 'RegexIterator::getFlags' => ['int'], + 'RegexIterator::getInnerIterator' => ['Iterator'], + 'RegexIterator::getMode' => ['int'], + 'RegexIterator::getPregFlags' => ['int'], + 'RegexIterator::getRegex' => ['string'], + 'RegexIterator::key' => ['mixed'], + 'RegexIterator::next' => ['void'], + 'RegexIterator::rewind' => ['void'], + 'RegexIterator::setFlags' => ['void', 'new_flags'=>'int'], + 'RegexIterator::setMode' => ['void', 'new_mode'=>'int'], + 'RegexIterator::setPregFlags' => ['void', 'new_flags'=>'int'], + 'RegexIterator::valid' => ['bool'], + 'ResourceBundle::__construct' => ['void', 'locale'=>'string', 'bundlename'=>'string', 'fallback='=>'bool'], + 'ResourceBundle::count' => ['int'], + 'ResourceBundle::create' => ['?ResourceBundle', 'locale'=>'string', 'bundlename'=>'string', 'fallback='=>'bool'], + 'ResourceBundle::get' => ['mixed', 'index'=>'string|int', 'fallback='=>'bool'], + 'ResourceBundle::getErrorCode' => ['int'], + 'ResourceBundle::getErrorMessage' => ['string'], + 'ResourceBundle::getLocales' => ['array', 'bundlename'=>'string'], + 'Runkit_Sandbox::__construct' => ['void', 'options='=>'array'], + 'Runkit_Sandbox_Parent' => [''], + 'Runkit_Sandbox_Parent::__construct' => ['void'], + 'RuntimeException::__clone' => ['void'], + 'RuntimeException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'RuntimeException::__toString' => ['string'], + 'RuntimeException::getCode' => ['int'], + 'RuntimeException::getFile' => ['string'], + 'RuntimeException::getLine' => ['int'], + 'RuntimeException::getMessage' => ['string'], + 'RuntimeException::getPrevious' => ['?Throwable'], + 'RuntimeException::getTrace' => ['list\',args?:array}>'], + 'RuntimeException::getTraceAsString' => ['string'], + 'SAMConnection::commit' => ['bool'], + 'SAMConnection::connect' => ['bool', 'protocol'=>'string', 'properties='=>'array'], + 'SAMConnection::disconnect' => ['bool'], + 'SAMConnection::errno' => ['int'], + 'SAMConnection::error' => ['string'], + 'SAMConnection::isConnected' => ['bool'], + 'SAMConnection::peek' => ['SAMMessage', 'target'=>'string', 'properties='=>'array'], + 'SAMConnection::peekAll' => ['array', 'target'=>'string', 'properties='=>'array'], + 'SAMConnection::receive' => ['SAMMessage', 'target'=>'string', 'properties='=>'array'], + 'SAMConnection::remove' => ['SAMMessage', 'target'=>'string', 'properties='=>'array'], + 'SAMConnection::rollback' => ['bool'], + 'SAMConnection::send' => ['string', 'target'=>'string', 'msg'=>'sammessage', 'properties='=>'array'], + 'SAMConnection::setDebug' => ['', 'switch'=>'bool'], + 'SAMConnection::subscribe' => ['string', 'targettopic'=>'string'], + 'SAMConnection::unsubscribe' => ['bool', 'subscriptionid'=>'string', 'targettopic='=>'string'], + 'SAMMessage::body' => ['string'], + 'SAMMessage::header' => ['object'], + 'SCA::createDataObject' => ['SDO_DataObject', 'type_namespace_uri'=>'string', 'type_name'=>'string'], + 'SCA::getService' => ['', 'target'=>'string', 'binding='=>'string', 'config='=>'array'], + 'SCA_LocalProxy::createDataObject' => ['SDO_DataObject', 'type_namespace_uri'=>'string', 'type_name'=>'string'], + 'SCA_SoapProxy::createDataObject' => ['SDO_DataObject', 'type_namespace_uri'=>'string', 'type_name'=>'string'], + 'SDO_DAS_ChangeSummary::beginLogging' => [''], + 'SDO_DAS_ChangeSummary::endLogging' => [''], + 'SDO_DAS_ChangeSummary::getChangeType' => ['int', 'dataobject'=>'sdo_dataobject'], + 'SDO_DAS_ChangeSummary::getChangedDataObjects' => ['SDO_List'], + 'SDO_DAS_ChangeSummary::getOldContainer' => ['SDO_DataObject', 'data_object'=>'sdo_dataobject'], + 'SDO_DAS_ChangeSummary::getOldValues' => ['SDO_List', 'data_object'=>'sdo_dataobject'], + 'SDO_DAS_ChangeSummary::isLogging' => ['bool'], + 'SDO_DAS_DataFactory::addPropertyToType' => ['', 'parent_type_namespace_uri'=>'string', 'parent_type_name'=>'string', 'property_name'=>'string', 'type_namespace_uri'=>'string', 'type_name'=>'string', 'options='=>'array'], + 'SDO_DAS_DataFactory::addType' => ['', 'type_namespace_uri'=>'string', 'type_name'=>'string', 'options='=>'array'], + 'SDO_DAS_DataFactory::getDataFactory' => ['SDO_DAS_DataFactory'], + 'SDO_DAS_DataObject::getChangeSummary' => ['SDO_DAS_ChangeSummary'], + 'SDO_DAS_Relational::__construct' => ['void', 'database_metadata'=>'array', 'application_root_type='=>'string', 'sdo_containment_references_metadata='=>'array'], + 'SDO_DAS_Relational::applyChanges' => ['', 'database_handle'=>'pdo', 'root_data_object'=>'sdodataobject'], + 'SDO_DAS_Relational::createRootDataObject' => ['SDODataObject'], + 'SDO_DAS_Relational::executePreparedQuery' => ['SDODataObject', 'database_handle'=>'pdo', 'prepared_statement'=>'pdostatement', 'value_list'=>'array', 'column_specifier='=>'array'], + 'SDO_DAS_Relational::executeQuery' => ['SDODataObject', 'database_handle'=>'pdo', 'sql_statement'=>'string', 'column_specifier='=>'array'], + 'SDO_DAS_Setting::getListIndex' => ['int'], + 'SDO_DAS_Setting::getPropertyIndex' => ['int'], + 'SDO_DAS_Setting::getPropertyName' => ['string'], + 'SDO_DAS_Setting::getValue' => [''], + 'SDO_DAS_Setting::isSet' => ['bool'], + 'SDO_DAS_XML::addTypes' => ['', 'xsd_file'=>'string'], + 'SDO_DAS_XML::create' => ['SDO_DAS_XML', 'xsd_file='=>'mixed', 'key='=>'string'], + 'SDO_DAS_XML::createDataObject' => ['SDO_DataObject', 'namespace_uri'=>'string', 'type_name'=>'string'], + 'SDO_DAS_XML::createDocument' => ['SDO_DAS_XML_Document', 'document_element_name'=>'string', 'document_element_namespace_uri'=>'string', 'dataobject='=>'sdo_dataobject'], + 'SDO_DAS_XML::loadFile' => ['SDO_XMLDocument', 'xml_file'=>'string'], + 'SDO_DAS_XML::loadString' => ['SDO_DAS_XML_Document', 'xml_string'=>'string'], + 'SDO_DAS_XML::saveFile' => ['', 'xdoc'=>'sdo_xmldocument', 'xml_file'=>'string', 'indent='=>'int'], + 'SDO_DAS_XML::saveString' => ['string', 'xdoc'=>'sdo_xmldocument', 'indent='=>'int'], + 'SDO_DAS_XML_Document::getRootDataObject' => ['SDO_DataObject'], + 'SDO_DAS_XML_Document::getRootElementName' => ['string'], + 'SDO_DAS_XML_Document::getRootElementURI' => ['string'], + 'SDO_DAS_XML_Document::setEncoding' => ['', 'encoding'=>'string'], + 'SDO_DAS_XML_Document::setXMLDeclaration' => ['', 'xmldeclatation'=>'bool'], + 'SDO_DAS_XML_Document::setXMLVersion' => ['', 'xmlversion'=>'string'], + 'SDO_DataFactory::create' => ['void', 'type_namespace_uri'=>'string', 'type_name'=>'string'], + 'SDO_DataObject::clear' => ['void'], + 'SDO_DataObject::createDataObject' => ['SDO_DataObject', 'identifier'=>''], + 'SDO_DataObject::getContainer' => ['SDO_DataObject'], + 'SDO_DataObject::getSequence' => ['SDO_Sequence'], + 'SDO_DataObject::getTypeName' => ['string'], + 'SDO_DataObject::getTypeNamespaceURI' => ['string'], + 'SDO_Exception::getCause' => [''], + 'SDO_List::insert' => ['void', 'value'=>'mixed', 'index='=>'int'], + 'SDO_Model_Property::getContainingType' => ['SDO_Model_Type'], + 'SDO_Model_Property::getDefault' => [''], + 'SDO_Model_Property::getName' => ['string'], + 'SDO_Model_Property::getType' => ['SDO_Model_Type'], + 'SDO_Model_Property::isContainment' => ['bool'], + 'SDO_Model_Property::isMany' => ['bool'], + 'SDO_Model_ReflectionDataObject::__construct' => ['void', 'data_object'=>'sdo_dataobject'], + 'SDO_Model_ReflectionDataObject::export' => ['mixed', 'rdo'=>'sdo_model_reflectiondataobject', 'return='=>'bool'], + 'SDO_Model_ReflectionDataObject::getContainmentProperty' => ['SDO_Model_Property'], + 'SDO_Model_ReflectionDataObject::getInstanceProperties' => ['array'], + 'SDO_Model_ReflectionDataObject::getType' => ['SDO_Model_Type'], + 'SDO_Model_Type::getBaseType' => ['SDO_Model_Type'], + 'SDO_Model_Type::getName' => ['string'], + 'SDO_Model_Type::getNamespaceURI' => ['string'], + 'SDO_Model_Type::getProperties' => ['array'], + 'SDO_Model_Type::getProperty' => ['SDO_Model_Property', 'identifier'=>''], + 'SDO_Model_Type::isAbstractType' => ['bool'], + 'SDO_Model_Type::isDataType' => ['bool'], + 'SDO_Model_Type::isInstance' => ['bool', 'data_object'=>'sdo_dataobject'], + 'SDO_Model_Type::isOpenType' => ['bool'], + 'SDO_Model_Type::isSequencedType' => ['bool'], + 'SDO_Sequence::getProperty' => ['SDO_Model_Property', 'sequence_index'=>'int'], + 'SDO_Sequence::insert' => ['void', 'value'=>'mixed', 'sequenceindex='=>'int', 'propertyidentifier='=>'mixed'], + 'SDO_Sequence::move' => ['void', 'toindex'=>'int', 'fromindex'=>'int'], + 'SNMP::__construct' => ['void', 'version'=>'int', 'hostname'=>'string', 'community'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'SNMP::close' => ['bool'], + 'SNMP::get' => ['array|string|false', 'objectId'=>'string|array', 'preserveKeys='=>'bool'], + 'SNMP::getErrno' => ['int'], + 'SNMP::getError' => ['string'], + 'SNMP::getnext' => ['string|array|false', 'objectId'=>'string|array'], + 'SNMP::set' => ['bool', 'objectId'=>'string|array', 'type'=>'string|array', 'value'=>'string|array'], + 'SNMP::setSecurity' => ['bool', 'securityLevel'=>'string', 'authProtocol='=>'string', 'authPassphrase='=>'string', 'privacyProtocol='=>'string', 'privacyPassphrase='=>'string', 'contextName='=>'string', 'contextEngineId='=>'string'], + 'SNMP::walk' => ['array|false', 'objectId'=>'string', 'suffixAsKey='=>'bool', 'maxRepetitions='=>'int', 'nonRepeaters='=>'int'], + 'SQLite3::__construct' => ['void', 'filename'=>'string', 'flags='=>'int', 'encryptionKey='=>'?string'], + 'SQLite3::busyTimeout' => ['bool', 'milliseconds'=>'int'], + 'SQLite3::changes' => ['int'], + 'SQLite3::close' => ['bool'], + 'SQLite3::createAggregate' => ['bool', 'name'=>'string', 'stepCallback'=>'callable', 'finalCallback'=>'callable', 'argCount='=>'int'], + 'SQLite3::createCollation' => ['bool', 'name'=>'string', 'callback'=>'callable'], + 'SQLite3::createFunction' => ['bool', 'name'=>'string', 'callback'=>'callable', 'argCount='=>'int'], + 'SQLite3::enableExceptions' => ['bool', 'enable='=>'bool'], + 'SQLite3::escapeString' => ['string', 'string'=>'string'], + 'SQLite3::exec' => ['bool', 'query'=>'string'], + 'SQLite3::lastErrorCode' => ['int'], + 'SQLite3::lastErrorMsg' => ['string'], + 'SQLite3::lastInsertRowID' => ['int'], + 'SQLite3::loadExtension' => ['bool', 'name'=>'string'], + 'SQLite3::open' => ['void', 'filename'=>'string', 'flags='=>'int', 'encryptionKey='=>'?string'], + 'SQLite3::openBlob' => ['resource|false', 'table'=>'string', 'column'=>'string', 'rowid'=>'int', 'dbname='=>'string'], + 'SQLite3::prepare' => ['SQLite3Stmt|false', 'query'=>'string'], + 'SQLite3::query' => ['SQLite3Result|false', 'query'=>'string'], + 'SQLite3::querySingle' => ['array|int|string|bool|float|null|false', 'query'=>'string', 'entireRow='=>'bool'], + 'SQLite3::version' => ['array'], + 'SQLite3Result::__construct' => ['void'], + 'SQLite3Result::columnName' => ['string', 'column'=>'int'], + 'SQLite3Result::columnType' => ['int', 'column'=>'int'], + 'SQLite3Result::fetchArray' => ['array|false', 'mode='=>'int'], + 'SQLite3Result::finalize' => ['bool'], + 'SQLite3Result::numColumns' => ['int'], + 'SQLite3Result::reset' => ['bool'], + 'SQLite3Stmt::__construct' => ['void', 'sqlite3'=>'sqlite3', 'query'=>'string'], + 'SQLite3Stmt::bindParam' => ['bool', 'param'=>'string|int', '&rw_var'=>'mixed', 'type='=>'int'], + 'SQLite3Stmt::bindValue' => ['bool', 'param'=>'string|int', 'value'=>'mixed', 'type='=>'int'], + 'SQLite3Stmt::clear' => ['bool'], + 'SQLite3Stmt::close' => ['bool'], + 'SQLite3Stmt::execute' => ['false|SQLite3Result'], + 'SQLite3Stmt::getSQL' => ['string', 'expand='=>'bool'], + 'SQLite3Stmt::paramCount' => ['int'], + 'SQLite3Stmt::readOnly' => ['bool'], + 'SQLite3Stmt::reset' => ['bool'], + 'SQLiteDatabase::__construct' => ['void', 'filename'=>'', 'mode='=>'int|mixed', '&error_message'=>''], + 'SQLiteDatabase::arrayQuery' => ['array', 'query'=>'string', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteDatabase::busyTimeout' => ['int', 'milliseconds'=>'int'], + 'SQLiteDatabase::changes' => ['int'], + 'SQLiteDatabase::createAggregate' => ['', 'function_name'=>'string', 'step_func'=>'callable', 'finalize_func'=>'callable', 'num_args='=>'int'], + 'SQLiteDatabase::createFunction' => ['', 'function_name'=>'string', 'callback'=>'callable', 'num_args='=>'int'], + 'SQLiteDatabase::exec' => ['bool', 'query'=>'string', 'error_msg='=>'string'], + 'SQLiteDatabase::fetchColumnTypes' => ['array', 'table_name'=>'string', 'result_type='=>'int'], + 'SQLiteDatabase::lastError' => ['int'], + 'SQLiteDatabase::lastInsertRowid' => ['int'], + 'SQLiteDatabase::query' => ['SQLiteResult|false', 'query'=>'string', 'result_type='=>'int', 'error_msg='=>'string'], + 'SQLiteDatabase::queryExec' => ['bool', 'query'=>'string', '&w_error_msg='=>'string'], + 'SQLiteDatabase::singleQuery' => ['array', 'query'=>'string', 'first_row_only='=>'bool', 'decode_binary='=>'bool'], + 'SQLiteDatabase::unbufferedQuery' => ['SQLiteUnbuffered|false', 'query'=>'string', 'result_type='=>'int', 'error_msg='=>'string'], + 'SQLiteException::__clone' => ['void'], + 'SQLiteException::__construct' => ['void', 'message'=>'', 'code'=>'', 'previous'=>''], + 'SQLiteException::__toString' => ['string'], + 'SQLiteException::__wakeup' => ['void'], + 'SQLiteException::getCode' => ['int'], + 'SQLiteException::getFile' => ['string'], + 'SQLiteException::getLine' => ['int'], + 'SQLiteException::getMessage' => ['string'], + 'SQLiteException::getPrevious' => ['RuntimeException|Throwable|null'], + 'SQLiteException::getTrace' => ['list\',args?:array}>'], + 'SQLiteException::getTraceAsString' => ['string'], + 'SQLiteResult::__construct' => ['void'], + 'SQLiteResult::column' => ['mixed', 'index_or_name'=>'', 'decode_binary='=>'bool'], + 'SQLiteResult::count' => ['int'], + 'SQLiteResult::current' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteResult::fetch' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteResult::fetchAll' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteResult::fetchObject' => ['object', 'class_name='=>'string', 'ctor_params='=>'array', 'decode_binary='=>'bool'], + 'SQLiteResult::fetchSingle' => ['string', 'decode_binary='=>'bool'], + 'SQLiteResult::fieldName' => ['string', 'field_index'=>'int'], + 'SQLiteResult::hasPrev' => ['bool'], + 'SQLiteResult::key' => ['mixed|null'], + 'SQLiteResult::next' => ['bool'], + 'SQLiteResult::numFields' => ['int'], + 'SQLiteResult::numRows' => ['int'], + 'SQLiteResult::prev' => ['bool'], + 'SQLiteResult::rewind' => ['bool'], + 'SQLiteResult::seek' => ['bool', 'rownum'=>'int'], + 'SQLiteResult::valid' => ['bool'], + 'SQLiteUnbuffered::column' => ['void', 'index_or_name'=>'', 'decode_binary='=>'bool'], + 'SQLiteUnbuffered::current' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteUnbuffered::fetch' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteUnbuffered::fetchAll' => ['array', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'SQLiteUnbuffered::fetchObject' => ['object', 'class_name='=>'string', 'ctor_params='=>'array', 'decode_binary='=>'bool'], + 'SQLiteUnbuffered::fetchSingle' => ['string', 'decode_binary='=>'bool'], + 'SQLiteUnbuffered::fieldName' => ['string', 'field_index'=>'int'], + 'SQLiteUnbuffered::next' => ['bool'], + 'SQLiteUnbuffered::numFields' => ['int'], + 'SQLiteUnbuffered::valid' => ['bool'], + 'SVM::__construct' => ['void'], + 'SVM::getOptions' => ['array'], + 'SVM::setOptions' => ['bool', 'params'=>'array'], + 'SVMModel::__construct' => ['void', 'filename='=>'string'], + 'SVMModel::checkProbabilityModel' => ['bool'], + 'SVMModel::getLabels' => ['array'], + 'SVMModel::getNrClass' => ['int'], + 'SVMModel::getSvmType' => ['int'], + 'SVMModel::getSvrProbability' => ['float'], + 'SVMModel::load' => ['bool', 'filename'=>'string'], + 'SVMModel::predict' => ['float', 'data'=>'array'], + 'SVMModel::predict_probability' => ['float', 'data'=>'array'], + 'SVMModel::save' => ['bool', 'filename'=>'string'], + 'SWFAction::__construct' => ['void', 'script'=>'string'], + 'SWFBitmap::__construct' => ['void', 'file'=>'', 'alphafile='=>''], + 'SWFBitmap::getHeight' => ['float'], + 'SWFBitmap::getWidth' => ['float'], + 'SWFButton::__construct' => ['void'], + 'SWFButton::addASound' => ['SWFSoundInstance', 'sound'=>'swfsound', 'flags'=>'int'], + 'SWFButton::addAction' => ['void', 'action'=>'swfaction', 'flags'=>'int'], + 'SWFButton::addShape' => ['void', 'shape'=>'swfshape', 'flags'=>'int'], + 'SWFButton::setAction' => ['void', 'action'=>'swfaction'], + 'SWFButton::setDown' => ['void', 'shape'=>'swfshape'], + 'SWFButton::setHit' => ['void', 'shape'=>'swfshape'], + 'SWFButton::setMenu' => ['void', 'flag'=>'int'], + 'SWFButton::setOver' => ['void', 'shape'=>'swfshape'], + 'SWFButton::setUp' => ['void', 'shape'=>'swfshape'], + 'SWFDisplayItem::addAction' => ['void', 'action'=>'swfaction', 'flags'=>'int'], + 'SWFDisplayItem::addColor' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'SWFDisplayItem::endMask' => ['void'], + 'SWFDisplayItem::getRot' => ['float'], + 'SWFDisplayItem::getX' => ['float'], + 'SWFDisplayItem::getXScale' => ['float'], + 'SWFDisplayItem::getXSkew' => ['float'], + 'SWFDisplayItem::getY' => ['float'], + 'SWFDisplayItem::getYScale' => ['float'], + 'SWFDisplayItem::getYSkew' => ['float'], + 'SWFDisplayItem::move' => ['void', 'dx'=>'float', 'dy'=>'float'], + 'SWFDisplayItem::moveTo' => ['void', 'x'=>'float', 'y'=>'float'], + 'SWFDisplayItem::multColor' => ['void', 'red'=>'float', 'green'=>'float', 'blue'=>'float', 'a='=>'float'], + 'SWFDisplayItem::remove' => ['void'], + 'SWFDisplayItem::rotate' => ['void', 'angle'=>'float'], + 'SWFDisplayItem::rotateTo' => ['void', 'angle'=>'float'], + 'SWFDisplayItem::scale' => ['void', 'dx'=>'float', 'dy'=>'float'], + 'SWFDisplayItem::scaleTo' => ['void', 'x'=>'float', 'y='=>'float'], + 'SWFDisplayItem::setDepth' => ['void', 'depth'=>'int'], + 'SWFDisplayItem::setMaskLevel' => ['void', 'level'=>'int'], + 'SWFDisplayItem::setMatrix' => ['void', 'a'=>'float', 'b'=>'float', 'c'=>'float', 'd'=>'float', 'x'=>'float', 'y'=>'float'], + 'SWFDisplayItem::setName' => ['void', 'name'=>'string'], + 'SWFDisplayItem::setRatio' => ['void', 'ratio'=>'float'], + 'SWFDisplayItem::skewX' => ['void', 'ddegrees'=>'float'], + 'SWFDisplayItem::skewXTo' => ['void', 'degrees'=>'float'], + 'SWFDisplayItem::skewY' => ['void', 'ddegrees'=>'float'], + 'SWFDisplayItem::skewYTo' => ['void', 'degrees'=>'float'], + 'SWFFill::moveTo' => ['void', 'x'=>'float', 'y'=>'float'], + 'SWFFill::rotateTo' => ['void', 'angle'=>'float'], + 'SWFFill::scaleTo' => ['void', 'x'=>'float', 'y='=>'float'], + 'SWFFill::skewXTo' => ['void', 'x'=>'float'], + 'SWFFill::skewYTo' => ['void', 'y'=>'float'], + 'SWFFont::__construct' => ['void', 'filename'=>'string'], + 'SWFFont::getAscent' => ['float'], + 'SWFFont::getDescent' => ['float'], + 'SWFFont::getLeading' => ['float'], + 'SWFFont::getShape' => ['string', 'code'=>'int'], + 'SWFFont::getUTF8Width' => ['float', 'string'=>'string'], + 'SWFFont::getWidth' => ['float', 'string'=>'string'], + 'SWFFontChar::addChars' => ['void', 'char'=>'string'], + 'SWFFontChar::addUTF8Chars' => ['void', 'char'=>'string'], + 'SWFGradient::__construct' => ['void'], + 'SWFGradient::addEntry' => ['void', 'ratio'=>'float', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int'], + 'SWFMorph::__construct' => ['void'], + 'SWFMorph::getShape1' => ['SWFShape'], + 'SWFMorph::getShape2' => ['SWFShape'], + 'SWFMovie::__construct' => ['void', 'version='=>'int'], + 'SWFMovie::add' => ['mixed', 'instance'=>'object'], + 'SWFMovie::addExport' => ['void', 'char'=>'swfcharacter', 'name'=>'string'], + 'SWFMovie::addFont' => ['mixed', 'font'=>'swffont'], + 'SWFMovie::importChar' => ['SWFSprite', 'libswf'=>'string', 'name'=>'string'], + 'SWFMovie::importFont' => ['SWFFontChar', 'libswf'=>'string', 'name'=>'string'], + 'SWFMovie::labelFrame' => ['void', 'label'=>'string'], + 'SWFMovie::namedAnchor' => [''], + 'SWFMovie::nextFrame' => ['void'], + 'SWFMovie::output' => ['int', 'compression='=>'int'], + 'SWFMovie::protect' => [''], + 'SWFMovie::remove' => ['void', 'instance'=>'object'], + 'SWFMovie::save' => ['int', 'filename'=>'string', 'compression='=>'int'], + 'SWFMovie::saveToFile' => ['int', 'x'=>'resource', 'compression='=>'int'], + 'SWFMovie::setDimension' => ['void', 'width'=>'float', 'height'=>'float'], + 'SWFMovie::setFrames' => ['void', 'number'=>'int'], + 'SWFMovie::setRate' => ['void', 'rate'=>'float'], + 'SWFMovie::setbackground' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'SWFMovie::startSound' => ['SWFSoundInstance', 'sound'=>'swfsound'], + 'SWFMovie::stopSound' => ['void', 'sound'=>'swfsound'], + 'SWFMovie::streamMP3' => ['int', 'mp3file'=>'mixed', 'skip='=>'float'], + 'SWFMovie::writeExports' => ['void'], + 'SWFPrebuiltClip::__construct' => ['void', 'file'=>''], + 'SWFShape::__construct' => ['void'], + 'SWFShape::addFill' => ['SWFFill', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int', 'bitmap='=>'swfbitmap', 'flags='=>'int', 'gradient='=>'swfgradient'], + 'SWFShape::addFill\'1' => ['SWFFill', 'bitmap'=>'SWFBitmap', 'flags='=>'int'], + 'SWFShape::addFill\'2' => ['SWFFill', 'gradient'=>'SWFGradient', 'flags='=>'int'], + 'SWFShape::drawArc' => ['void', 'r'=>'float', 'startangle'=>'float', 'endangle'=>'float'], + 'SWFShape::drawCircle' => ['void', 'r'=>'float'], + 'SWFShape::drawCubic' => ['int', 'bx'=>'float', 'by'=>'float', 'cx'=>'float', 'cy'=>'float', 'dx'=>'float', 'dy'=>'float'], + 'SWFShape::drawCubicTo' => ['int', 'bx'=>'float', 'by'=>'float', 'cx'=>'float', 'cy'=>'float', 'dx'=>'float', 'dy'=>'float'], + 'SWFShape::drawCurve' => ['int', 'controldx'=>'float', 'controldy'=>'float', 'anchordx'=>'float', 'anchordy'=>'float', 'targetdx='=>'float', 'targetdy='=>'float'], + 'SWFShape::drawCurveTo' => ['int', 'controlx'=>'float', 'controly'=>'float', 'anchorx'=>'float', 'anchory'=>'float', 'targetx='=>'float', 'targety='=>'float'], + 'SWFShape::drawGlyph' => ['void', 'font'=>'swffont', 'character'=>'string', 'size='=>'int'], + 'SWFShape::drawLine' => ['void', 'dx'=>'float', 'dy'=>'float'], + 'SWFShape::drawLineTo' => ['void', 'x'=>'float', 'y'=>'float'], + 'SWFShape::movePen' => ['void', 'dx'=>'float', 'dy'=>'float'], + 'SWFShape::movePenTo' => ['void', 'x'=>'float', 'y'=>'float'], + 'SWFShape::setLeftFill' => ['', 'fill'=>'swfgradient', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'SWFShape::setLine' => ['', 'shape'=>'swfshape', 'width'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'SWFShape::setRightFill' => ['', 'fill'=>'swfgradient', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'SWFSound' => ['SWFSound', 'filename'=>'string', 'flags='=>'int'], + 'SWFSound::__construct' => ['void', 'filename'=>'string', 'flags='=>'int'], + 'SWFSoundInstance::loopCount' => ['void', 'point'=>'int'], + 'SWFSoundInstance::loopInPoint' => ['void', 'point'=>'int'], + 'SWFSoundInstance::loopOutPoint' => ['void', 'point'=>'int'], + 'SWFSoundInstance::noMultiple' => ['void'], + 'SWFSprite::__construct' => ['void'], + 'SWFSprite::add' => ['void', 'object'=>'object'], + 'SWFSprite::labelFrame' => ['void', 'label'=>'string'], + 'SWFSprite::nextFrame' => ['void'], + 'SWFSprite::remove' => ['void', 'object'=>'object'], + 'SWFSprite::setFrames' => ['void', 'number'=>'int'], + 'SWFSprite::startSound' => ['SWFSoundInstance', 'sount'=>'swfsound'], + 'SWFSprite::stopSound' => ['void', 'sount'=>'swfsound'], + 'SWFText::__construct' => ['void'], + 'SWFText::addString' => ['void', 'string'=>'string'], + 'SWFText::addUTF8String' => ['void', 'text'=>'string'], + 'SWFText::getAscent' => ['float'], + 'SWFText::getDescent' => ['float'], + 'SWFText::getLeading' => ['float'], + 'SWFText::getUTF8Width' => ['float', 'string'=>'string'], + 'SWFText::getWidth' => ['float', 'string'=>'string'], + 'SWFText::moveTo' => ['void', 'x'=>'float', 'y'=>'float'], + 'SWFText::setColor' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'SWFText::setFont' => ['void', 'font'=>'swffont'], + 'SWFText::setHeight' => ['void', 'height'=>'float'], + 'SWFText::setSpacing' => ['void', 'spacing'=>'float'], + 'SWFTextField::__construct' => ['void', 'flags='=>'int'], + 'SWFTextField::addChars' => ['void', 'chars'=>'string'], + 'SWFTextField::addString' => ['void', 'string'=>'string'], + 'SWFTextField::align' => ['void', 'alignement'=>'int'], + 'SWFTextField::setBounds' => ['void', 'width'=>'float', 'height'=>'float'], + 'SWFTextField::setColor' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'SWFTextField::setFont' => ['void', 'font'=>'swffont'], + 'SWFTextField::setHeight' => ['void', 'height'=>'float'], + 'SWFTextField::setIndentation' => ['void', 'width'=>'float'], + 'SWFTextField::setLeftMargin' => ['void', 'width'=>'float'], + 'SWFTextField::setLineSpacing' => ['void', 'height'=>'float'], + 'SWFTextField::setMargins' => ['void', 'left'=>'float', 'right'=>'float'], + 'SWFTextField::setName' => ['void', 'name'=>'string'], + 'SWFTextField::setPadding' => ['void', 'padding'=>'float'], + 'SWFTextField::setRightMargin' => ['void', 'width'=>'float'], + 'SWFVideoStream::__construct' => ['void', 'file='=>'string'], + 'SWFVideoStream::getNumFrames' => ['int'], + 'SWFVideoStream::setDimension' => ['void', 'x'=>'int', 'y'=>'int'], + 'Saxon\SaxonProcessor::__construct' => ['void', 'license='=>'bool', 'cwd='=>'string'], + 'Saxon\SaxonProcessor::createAtomicValue' => ['Saxon\XdmValue', 'primitive_type_val'=>'bool|float|int|string'], + 'Saxon\SaxonProcessor::newSchemaValidator' => ['Saxon\SchemaValidator'], + 'Saxon\SaxonProcessor::newXPathProcessor' => ['Saxon\XPathProcessor'], + 'Saxon\SaxonProcessor::newXQueryProcessor' => ['Saxon\XQueryProcessor'], + 'Saxon\SaxonProcessor::newXsltProcessor' => ['Saxon\XsltProcessor'], + 'Saxon\SaxonProcessor::parseXmlFromFile' => ['Saxon\XdmNode', 'fileName'=>'string'], + 'Saxon\SaxonProcessor::parseXmlFromString' => ['Saxon\XdmNode', 'value'=>'string'], + 'Saxon\SaxonProcessor::registerPHPFunctions' => ['void', 'library'=>'string'], + 'Saxon\SaxonProcessor::setConfigurationProperty' => ['void', 'name'=>'string', 'value'=>'string'], + 'Saxon\SaxonProcessor::setResourceDirectory' => ['void', 'dir'=>'string'], + 'Saxon\SaxonProcessor::setcwd' => ['void', 'cwd'=>'string'], + 'Saxon\SaxonProcessor::version' => ['string'], + 'Saxon\SchemaValidator::clearParameters' => ['void'], + 'Saxon\SchemaValidator::clearProperties' => ['void'], + 'Saxon\SchemaValidator::exceptionClear' => ['void'], + 'Saxon\SchemaValidator::getErrorCode' => ['string', 'i'=>'int'], + 'Saxon\SchemaValidator::getErrorMessage' => ['string', 'i'=>'int'], + 'Saxon\SchemaValidator::getExceptionCount' => ['int'], + 'Saxon\SchemaValidator::getValidationReport' => ['Saxon\XdmNode'], + 'Saxon\SchemaValidator::registerSchemaFromFile' => ['void', 'fileName'=>'string'], + 'Saxon\SchemaValidator::registerSchemaFromString' => ['void', 'schemaStr'=>'string'], + 'Saxon\SchemaValidator::setOutputFile' => ['void', 'fileName'=>'string'], + 'Saxon\SchemaValidator::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], + 'Saxon\SchemaValidator::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], + 'Saxon\SchemaValidator::setSourceNode' => ['void', 'node'=>'Saxon\XdmNode'], + 'Saxon\SchemaValidator::validate' => ['void', 'filename='=>'?string'], + 'Saxon\SchemaValidator::validateToNode' => ['Saxon\XdmNode', 'filename='=>'?string'], + 'Saxon\XPathProcessor::clearParameters' => ['void'], + 'Saxon\XPathProcessor::clearProperties' => ['void'], + 'Saxon\XPathProcessor::declareNamespace' => ['void', 'prefix'=>'', 'namespace'=>''], + 'Saxon\XPathProcessor::effectiveBooleanValue' => ['bool', 'xpathStr'=>'string'], + 'Saxon\XPathProcessor::evaluate' => ['Saxon\XdmValue', 'xpathStr'=>'string'], + 'Saxon\XPathProcessor::evaluateSingle' => ['Saxon\XdmItem', 'xpathStr'=>'string'], + 'Saxon\XPathProcessor::exceptionClear' => ['void'], + 'Saxon\XPathProcessor::getErrorCode' => ['string', 'i'=>'int'], + 'Saxon\XPathProcessor::getErrorMessage' => ['string', 'i'=>'int'], + 'Saxon\XPathProcessor::getExceptionCount' => ['int'], + 'Saxon\XPathProcessor::setBaseURI' => ['void', 'uri'=>'string'], + 'Saxon\XPathProcessor::setContextFile' => ['void', 'fileName'=>'string'], + 'Saxon\XPathProcessor::setContextItem' => ['void', 'item'=>'Saxon\XdmItem'], + 'Saxon\XPathProcessor::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], + 'Saxon\XPathProcessor::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], + 'Saxon\XQueryProcessor::clearParameters' => ['void'], + 'Saxon\XQueryProcessor::clearProperties' => ['void'], + 'Saxon\XQueryProcessor::declareNamespace' => ['void', 'prefix'=>'string', 'namespace'=>'string'], + 'Saxon\XQueryProcessor::exceptionClear' => ['void'], + 'Saxon\XQueryProcessor::getErrorCode' => ['string', 'i'=>'int'], + 'Saxon\XQueryProcessor::getErrorMessage' => ['string', 'i'=>'int'], + 'Saxon\XQueryProcessor::getExceptionCount' => ['int'], + 'Saxon\XQueryProcessor::runQueryToFile' => ['void', 'outfilename'=>'string'], + 'Saxon\XQueryProcessor::runQueryToString' => ['?string'], + 'Saxon\XQueryProcessor::runQueryToValue' => ['?Saxon\XdmValue'], + 'Saxon\XQueryProcessor::setContextItem' => ['void', 'object'=>'Saxon\XdmAtomicValue|Saxon\XdmItem|Saxon\XdmNode|Saxon\XdmValue'], + 'Saxon\XQueryProcessor::setContextItemFromFile' => ['void', 'fileName'=>'string'], + 'Saxon\XQueryProcessor::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], + 'Saxon\XQueryProcessor::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], + 'Saxon\XQueryProcessor::setQueryBaseURI' => ['void', 'uri'=>'string'], + 'Saxon\XQueryProcessor::setQueryContent' => ['void', 'string'=>'string'], + 'Saxon\XQueryProcessor::setQueryFile' => ['void', 'filename'=>'string'], + 'Saxon\XQueryProcessor::setQueryItem' => ['void', 'item'=>'Saxon\XdmItem'], + 'Saxon\XdmAtomicValue::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], + 'Saxon\XdmAtomicValue::getAtomicValue' => ['?Saxon\XdmAtomicValue'], + 'Saxon\XdmAtomicValue::getBooleanValue' => ['bool'], + 'Saxon\XdmAtomicValue::getDoubleValue' => ['float'], + 'Saxon\XdmAtomicValue::getHead' => ['Saxon\XdmItem'], + 'Saxon\XdmAtomicValue::getLongValue' => ['int'], + 'Saxon\XdmAtomicValue::getNodeValue' => ['?Saxon\XdmNode'], + 'Saxon\XdmAtomicValue::getStringValue' => ['string'], + 'Saxon\XdmAtomicValue::isAtomic' => ['true'], + 'Saxon\XdmAtomicValue::isNode' => ['bool'], + 'Saxon\XdmAtomicValue::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], + 'Saxon\XdmAtomicValue::size' => ['int'], + 'Saxon\XdmItem::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], + 'Saxon\XdmItem::getAtomicValue' => ['?Saxon\XdmAtomicValue'], + 'Saxon\XdmItem::getHead' => ['Saxon\XdmItem'], + 'Saxon\XdmItem::getNodeValue' => ['?Saxon\XdmNode'], + 'Saxon\XdmItem::getStringValue' => ['string'], + 'Saxon\XdmItem::isAtomic' => ['bool'], + 'Saxon\XdmItem::isNode' => ['bool'], + 'Saxon\XdmItem::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], + 'Saxon\XdmItem::size' => ['int'], + 'Saxon\XdmNode::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], + 'Saxon\XdmNode::getAtomicValue' => ['?Saxon\XdmAtomicValue'], + 'Saxon\XdmNode::getAttributeCount' => ['int'], + 'Saxon\XdmNode::getAttributeNode' => ['?Saxon\XdmNode', 'index'=>'int'], + 'Saxon\XdmNode::getAttributeValue' => ['?string', 'index'=>'int'], + 'Saxon\XdmNode::getChildCount' => ['int'], + 'Saxon\XdmNode::getChildNode' => ['?Saxon\XdmNode', 'index'=>'int'], + 'Saxon\XdmNode::getHead' => ['Saxon\XdmItem'], + 'Saxon\XdmNode::getNodeKind' => ['int'], + 'Saxon\XdmNode::getNodeName' => ['string'], + 'Saxon\XdmNode::getNodeValue' => ['?Saxon\XdmNode'], + 'Saxon\XdmNode::getParent' => ['?Saxon\XdmNode'], + 'Saxon\XdmNode::getStringValue' => ['string'], + 'Saxon\XdmNode::isAtomic' => ['false'], + 'Saxon\XdmNode::isNode' => ['bool'], + 'Saxon\XdmNode::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], + 'Saxon\XdmNode::size' => ['int'], + 'Saxon\XdmValue::addXdmItem' => ['', 'item'=>'Saxon\XdmItem'], + 'Saxon\XdmValue::getHead' => ['Saxon\XdmItem'], + 'Saxon\XdmValue::itemAt' => ['Saxon\XdmItem', 'index'=>'int'], + 'Saxon\XdmValue::size' => ['int'], + 'Saxon\XsltProcessor::clearParameters' => ['void'], + 'Saxon\XsltProcessor::clearProperties' => ['void'], + 'Saxon\XsltProcessor::compileFromFile' => ['void', 'fileName'=>'string'], + 'Saxon\XsltProcessor::compileFromString' => ['void', 'string'=>'string'], + 'Saxon\XsltProcessor::compileFromValue' => ['void', 'node'=>'Saxon\XdmNode'], + 'Saxon\XsltProcessor::exceptionClear' => ['void'], + 'Saxon\XsltProcessor::getErrorCode' => ['string', 'i'=>'int'], + 'Saxon\XsltProcessor::getErrorMessage' => ['string', 'i'=>'int'], + 'Saxon\XsltProcessor::getExceptionCount' => ['int'], + 'Saxon\XsltProcessor::setOutputFile' => ['void', 'fileName'=>'string'], + 'Saxon\XsltProcessor::setParameter' => ['void', 'name'=>'string', 'value'=>'Saxon\XdmValue'], + 'Saxon\XsltProcessor::setProperty' => ['void', 'name'=>'string', 'value'=>'string'], + 'Saxon\XsltProcessor::setSourceFromFile' => ['void', 'filename'=>'string'], + 'Saxon\XsltProcessor::setSourceFromXdmValue' => ['void', 'value'=>'Saxon\XdmValue'], + 'Saxon\XsltProcessor::transformFileToFile' => ['void', 'sourceFileName'=>'string', 'stylesheetFileName'=>'string', 'outputfileName'=>'string'], + 'Saxon\XsltProcessor::transformFileToString' => ['?string', 'sourceFileName'=>'string', 'stylesheetFileName'=>'string'], + 'Saxon\XsltProcessor::transformFileToValue' => ['Saxon\XdmValue', 'fileName'=>'string'], + 'Saxon\XsltProcessor::transformToFile' => ['void'], + 'Saxon\XsltProcessor::transformToString' => ['string'], + 'Saxon\XsltProcessor::transformToValue' => ['?Saxon\XdmValue'], + 'SeasLog::__destruct' => ['void'], + 'SeasLog::alert' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::analyzerCount' => ['mixed', 'level'=>'string', 'log_path='=>'string', 'key_word='=>'string'], + 'SeasLog::analyzerDetail' => ['mixed', 'level'=>'string', 'log_path='=>'string', 'key_word='=>'string', 'start='=>'int', 'limit='=>'int', 'order='=>'int'], + 'SeasLog::closeLoggerStream' => ['bool', 'model'=>'int', 'logger'=>'string'], + 'SeasLog::critical' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::debug' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::emergency' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::error' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::flushBuffer' => ['bool'], + 'SeasLog::getBasePath' => ['string'], + 'SeasLog::getBuffer' => ['array'], + 'SeasLog::getBufferEnabled' => ['bool'], + 'SeasLog::getDatetimeFormat' => ['string'], + 'SeasLog::getLastLogger' => ['string'], + 'SeasLog::getRequestID' => ['string'], + 'SeasLog::getRequestVariable' => ['bool', 'key'=>'int'], + 'SeasLog::info' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::log' => ['bool', 'level'=>'string', 'message='=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::notice' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeasLog::setBasePath' => ['bool', 'base_path'=>'string'], + 'SeasLog::setDatetimeFormat' => ['bool', 'format'=>'string'], + 'SeasLog::setLogger' => ['bool', 'logger'=>'string'], + 'SeasLog::setRequestID' => ['bool', 'request_id'=>'string'], + 'SeasLog::setRequestVariable' => ['bool', 'key'=>'int', 'value'=>'string'], + 'SeasLog::warning' => ['bool', 'message'=>'string', 'content='=>'array', 'logger='=>'string'], + 'SeekableIterator::__construct' => ['void'], + 'SeekableIterator::current' => ['mixed'], + 'SeekableIterator::key' => ['int|string'], + 'SeekableIterator::next' => ['void'], + 'SeekableIterator::rewind' => ['void'], + 'SeekableIterator::seek' => ['void', 'position'=>'int'], + 'SeekableIterator::valid' => ['bool'], + 'Serializable::__construct' => ['void'], + 'Serializable::serialize' => ['?string'], + 'Serializable::unserialize' => ['void', 'serialized'=>'string'], + 'ServerRequest::withInput' => ['ServerRequest', 'input'=>'mixed'], + 'ServerRequest::withParam' => ['ServerRequest', 'key'=>'int|string', 'value'=>'mixed'], + 'ServerRequest::withParams' => ['ServerRequest', 'params'=>'mixed'], + 'ServerRequest::withUrl' => ['ServerRequest', 'url'=>'array'], + 'ServerRequest::withoutParams' => ['ServerRequest', 'params'=>'int|string'], + 'ServerResponse::addHeader' => ['void', 'label'=>'string', 'value'=>'string'], + 'ServerResponse::date' => ['string', 'date'=>'string|DateTimeInterface'], + 'ServerResponse::getHeader' => ['string', 'label'=>'string'], + 'ServerResponse::getHeaders' => ['string[]'], + 'ServerResponse::getStatus' => ['int'], + 'ServerResponse::getVersion' => ['string'], + 'ServerResponse::setHeader' => ['void', 'label'=>'string', 'value'=>'string'], + 'ServerResponse::setStatus' => ['void', 'status'=>'int'], + 'ServerResponse::setVersion' => ['void', 'version'=>'string'], + 'SessionHandler::close' => ['bool'], + 'SessionHandler::create_sid' => ['string'], + 'SessionHandler::destroy' => ['bool', 'id'=>'string'], + 'SessionHandler::gc' => ['bool', 'maxlifetime'=>'int'], + 'SessionHandler::open' => ['bool', 'save_path'=>'string', 'session_name'=>'string'], + 'SessionHandler::read' => ['string', 'id'=>'string'], + 'SessionHandler::write' => ['bool', 'id'=>'string', 'data'=>'string'], + 'SessionHandlerInterface::close' => ['bool'], + 'SessionHandlerInterface::destroy' => ['bool', 'id'=>'string'], + 'SessionHandlerInterface::gc' => ['int|false', 'max_lifetime'=>'int'], + 'SessionHandlerInterface::open' => ['bool', 'path'=>'string', 'name'=>'string'], + 'SessionHandlerInterface::read' => ['string|false', 'id'=>'string'], + 'SessionHandlerInterface::write' => ['bool', 'id'=>'string', 'data'=>'string'], + 'SessionIdInterface::create_sid' => ['string'], + 'SessionUpdateTimestampHandler::updateTimestamp' => ['bool', 'id'=>'string', 'data'=>'string'], + 'SessionUpdateTimestampHandler::validateId' => ['char', 'id'=>'string'], + 'SessionUpdateTimestampHandlerInterface::updateTimestamp' => ['bool', 'key'=>'string', 'value'=>'string'], + 'SessionUpdateTimestampHandlerInterface::validateId' => ['bool', 'key'=>'string'], + 'SimpleXMLElement::__construct' => ['void', 'data'=>'string', 'options='=>'int', 'data_is_url='=>'bool', 'ns='=>'string', 'is_prefix='=>'bool'], + 'SimpleXMLElement::__get' => ['SimpleXMLElement', 'name'=>'string'], + 'SimpleXMLElement::__toString' => ['string'], + 'SimpleXMLElement::addAttribute' => ['void', 'name'=>'string', 'value='=>'string', 'ns='=>'string'], + 'SimpleXMLElement::addChild' => ['SimpleXMLElement', 'name'=>'string', 'value='=>'string', 'ns='=>'string'], + 'SimpleXMLElement::asXML' => ['string|bool', 'filename'=>'string'], + 'SimpleXMLElement::asXML\'1' => ['string|false'], + 'SimpleXMLElement::attributes' => ['?SimpleXMLElement', 'ns='=>'string', 'is_prefix='=>'bool'], + 'SimpleXMLElement::children' => ['SimpleXMLElement', 'ns='=>'string', 'is_prefix='=>'bool'], + 'SimpleXMLElement::count' => ['int'], + 'SimpleXMLElement::getDocNamespaces' => ['string[]', 'recursive='=>'bool', 'from_root='=>'bool'], + 'SimpleXMLElement::getName' => ['string'], + 'SimpleXMLElement::getNamespaces' => ['string[]', 'recursive='=>'bool'], + 'SimpleXMLElement::offsetExists' => ['bool', 'offset'=>'int|string'], + 'SimpleXMLElement::offsetGet' => ['SimpleXMLElement', 'offset'=>'int|string'], + 'SimpleXMLElement::offsetSet' => ['void', 'offset'=>'int|string', 'value'=>'mixed'], + 'SimpleXMLElement::offsetUnset' => ['void', 'offset'=>'int|string'], + 'SimpleXMLElement::registerXPathNamespace' => ['bool', 'prefix'=>'string', 'ns'=>'string'], + 'SimpleXMLElement::saveXML' => ['string|bool', 'filename='=>'string'], + 'SimpleXMLElement::xpath' => ['SimpleXMLElement[]|false', 'path'=>'string'], + 'SimpleXMLIterator::current' => ['?SimpleXMLIterator'], + 'SimpleXMLIterator::getChildren' => ['?SimpleXMLIterator'], + 'SimpleXMLIterator::hasChildren' => ['bool'], + 'SimpleXMLIterator::key' => ['string|false'], + 'SimpleXMLIterator::next' => ['void'], + 'SimpleXMLIterator::rewind' => ['void'], + 'SimpleXMLIterator::valid' => ['bool'], + 'SoapClient::SoapClient' => ['object', 'wsdl'=>'mixed', 'options='=>'array|null'], + 'SoapClient::__call' => ['', 'function_name'=>'string', 'arguments'=>'array'], + 'SoapClient::__construct' => ['void', 'wsdl'=>'mixed', 'options='=>'array|null'], + 'SoapClient::__doRequest' => ['?string', 'request'=>'string', 'location'=>'string', 'action'=>'string', 'version'=>'int', 'one_way='=>'int'], + 'SoapClient::__getCookies' => ['array'], + 'SoapClient::__getFunctions' => ['?array'], + 'SoapClient::__getLastRequest' => ['?string'], + 'SoapClient::__getLastRequestHeaders' => ['?string'], + 'SoapClient::__getLastResponse' => ['?string'], + 'SoapClient::__getLastResponseHeaders' => ['?string'], + 'SoapClient::__getTypes' => ['?array'], + 'SoapClient::__setCookie' => ['', 'name'=>'string', 'value='=>'string'], + 'SoapClient::__setLocation' => ['string', 'new_location='=>'string'], + 'SoapClient::__setSoapHeaders' => ['bool', 'soapheaders='=>''], + 'SoapClient::__soapCall' => ['', 'function_name'=>'string', 'arguments'=>'array', 'options='=>'array', 'input_headers='=>'SoapHeader|array', '&w_output_headers='=>'array'], + 'SoapFault::SoapFault' => ['object', 'faultcode'=>'string', 'faultstring'=>'string', 'faultactor='=>'?string', 'detail='=>'?mixed', 'faultname='=>'?string', 'headerfault='=>'?mixed'], + 'SoapFault::__clone' => ['void'], + 'SoapFault::__construct' => ['void', 'code'=>'array|string|null', 'string'=>'string', 'actor='=>'?string', 'details='=>'?mixed', 'name='=>'?string', 'headerFault='=>'?mixed'], + 'SoapFault::__toString' => ['string'], + 'SoapFault::__wakeup' => ['void'], + 'SoapFault::getCode' => ['int'], + 'SoapFault::getFile' => ['string'], + 'SoapFault::getLine' => ['int'], + 'SoapFault::getMessage' => ['string'], + 'SoapFault::getPrevious' => ['?Exception|?Throwable'], + 'SoapFault::getTrace' => ['list\',args?:array}>'], + 'SoapFault::getTraceAsString' => ['string'], + 'SoapHeader::SoapHeader' => ['object', 'namespace'=>'string', 'name'=>'string', 'data='=>'mixed', 'mustunderstand='=>'bool', 'actor='=>'string'], + 'SoapHeader::__construct' => ['void', 'namespace'=>'string', 'name'=>'string', 'data='=>'mixed', 'mustunderstand='=>'bool', 'actor='=>'string'], + 'SoapParam::SoapParam' => ['object', 'data'=>'mixed', 'name'=>'string'], + 'SoapParam::__construct' => ['void', 'data'=>'mixed', 'name'=>'string'], + 'SoapServer::SoapServer' => ['object', 'wsdl'=>'?string', 'options='=>'array'], + 'SoapServer::__construct' => ['void', 'wsdl'=>'?string', 'options='=>'array'], + 'SoapServer::addFunction' => ['void', 'functions'=>'mixed'], + 'SoapServer::addSoapHeader' => ['void', 'object'=>'SoapHeader'], + 'SoapServer::fault' => ['void', 'code'=>'string', 'string'=>'string', 'actor='=>'string', 'details='=>'string', 'name='=>'string'], + 'SoapServer::getFunctions' => ['array'], + 'SoapServer::handle' => ['void', 'soap_request='=>'string'], + 'SoapServer::setClass' => ['void', 'class_name'=>'string', '...args='=>'mixed'], + 'SoapServer::setObject' => ['void', 'object'=>'object'], + 'SoapServer::setPersistence' => ['void', 'mode'=>'int'], + 'SoapVar::SoapVar' => ['object', 'data'=>'mixed', 'encoding'=>'int', 'type_name='=>'string|null', 'type_namespace='=>'string|null', 'node_name='=>'string|null', 'node_namespace='=>'string|null'], + 'SoapVar::__construct' => ['void', 'data'=>'mixed', 'encoding'=>'int', 'type_name='=>'string|null', 'type_namespace='=>'string|null', 'node_name='=>'string|null', 'node_namespace='=>'string|null'], + 'Sodium\add' => ['void', '&left'=>'string', 'right'=>'string'], + 'Sodium\bin2hex' => ['string', 'binary'=>'string'], + 'Sodium\compare' => ['int', 'left'=>'string', 'right'=>'string'], + 'Sodium\crypto_aead_aes256gcm_decrypt' => ['string|false', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_aead_aes256gcm_encrypt' => ['string', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_aead_aes256gcm_is_available' => ['bool'], + 'Sodium\crypto_aead_chacha20poly1305_decrypt' => ['string', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_aead_chacha20poly1305_encrypt' => ['string', 'msg'=>'string', 'nonce'=>'string', 'key'=>'string', 'ad='=>'string'], + 'Sodium\crypto_auth' => ['string', 'msg'=>'string', 'key'=>'string'], + 'Sodium\crypto_auth_verify' => ['bool', 'mac'=>'string', 'msg'=>'string', 'key'=>'string'], + 'Sodium\crypto_box' => ['string', 'msg'=>'string', 'nonce'=>'string', 'keypair'=>'string'], + 'Sodium\crypto_box_keypair' => ['string'], + 'Sodium\crypto_box_keypair_from_secretkey_and_publickey' => ['string', 'secretkey'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_box_open' => ['string', 'msg'=>'string', 'nonce'=>'string', 'keypair'=>'string'], + 'Sodium\crypto_box_publickey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_box_publickey_from_secretkey' => ['string', 'secretkey'=>'string'], + 'Sodium\crypto_box_seal' => ['string', 'message'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_box_seal_open' => ['string', 'encrypted'=>'string', 'keypair'=>'string'], + 'Sodium\crypto_box_secretkey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_box_seed_keypair' => ['string', 'seed'=>'string'], + 'Sodium\crypto_generichash' => ['string', 'input'=>'string', 'key='=>'string', 'length='=>'int'], + 'Sodium\crypto_generichash_final' => ['string', 'state'=>'string', 'length='=>'int'], + 'Sodium\crypto_generichash_init' => ['string', 'key='=>'string', 'length='=>'int'], + 'Sodium\crypto_generichash_update' => ['bool', '&hashState'=>'string', 'append'=>'string'], + 'Sodium\crypto_kx' => ['string', 'secretkey'=>'string', 'publickey'=>'string', 'client_publickey'=>'string', 'server_publickey'=>'string'], + 'Sodium\crypto_pwhash' => ['string', 'out_len'=>'int', 'passwd'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_scryptsalsa208sha256' => ['string', 'out_len'=>'int', 'passwd'=>'string', 'salt'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_scryptsalsa208sha256_str' => ['string', 'passwd'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_scryptsalsa208sha256_str_verify' => ['bool', 'hash'=>'string', 'passwd'=>'string'], + 'Sodium\crypto_pwhash_str' => ['string', 'passwd'=>'string', 'opslimit'=>'int', 'memlimit'=>'int'], + 'Sodium\crypto_pwhash_str_verify' => ['bool', 'hash'=>'string', 'passwd'=>'string'], + 'Sodium\crypto_scalarmult' => ['string', 'ecdhA'=>'string', 'ecdhB'=>'string'], + 'Sodium\crypto_scalarmult_base' => ['string', 'sk'=>'string'], + 'Sodium\crypto_secretbox' => ['string', 'plaintext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\crypto_secretbox_open' => ['string', 'ciphertext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\crypto_shorthash' => ['string', 'message'=>'string', 'key'=>'string'], + 'Sodium\crypto_sign' => ['string', 'message'=>'string', 'secretkey'=>'string'], + 'Sodium\crypto_sign_detached' => ['string', 'message'=>'string', 'secretkey'=>'string'], + 'Sodium\crypto_sign_ed25519_pk_to_curve25519' => ['string', 'sign_pk'=>'string'], + 'Sodium\crypto_sign_ed25519_sk_to_curve25519' => ['string', 'sign_sk'=>'string'], + 'Sodium\crypto_sign_keypair' => ['string'], + 'Sodium\crypto_sign_keypair_from_secretkey_and_publickey' => ['string', 'secretkey'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_sign_open' => ['string|false', 'signed_message'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_sign_publickey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_sign_publickey_from_secretkey' => ['string', 'secretkey'=>'string'], + 'Sodium\crypto_sign_secretkey' => ['string', 'keypair'=>'string'], + 'Sodium\crypto_sign_seed_keypair' => ['string', 'seed'=>'string'], + 'Sodium\crypto_sign_verify_detached' => ['bool', 'signature'=>'string', 'msg'=>'string', 'publickey'=>'string'], + 'Sodium\crypto_stream' => ['string', 'length'=>'int', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\crypto_stream_xor' => ['string', 'plaintext'=>'string', 'nonce'=>'string', 'key'=>'string'], + 'Sodium\hex2bin' => ['string', 'hex'=>'string'], + 'Sodium\increment' => ['string', '&nonce'=>'string'], + 'Sodium\library_version_major' => ['int'], + 'Sodium\library_version_minor' => ['int'], + 'Sodium\memcmp' => ['int', 'left'=>'string', 'right'=>'string'], + 'Sodium\memzero' => ['void', '&target'=>'string'], + 'Sodium\randombytes_buf' => ['string', 'length'=>'int'], + 'Sodium\randombytes_random16' => ['int|string'], + 'Sodium\randombytes_uniform' => ['int', 'upperBoundNonInclusive'=>'int'], + 'Sodium\version_string' => ['string'], + 'SolrClient::__construct' => ['void', 'clientOptions'=>'array'], + 'SolrClient::__destruct' => ['void'], + 'SolrClient::addDocument' => ['SolrUpdateResponse', 'doc'=>'SolrInputDocument', 'allowdups='=>'bool', 'commitwithin='=>'int'], + 'SolrClient::addDocuments' => ['SolrUpdateResponse', 'docs'=>'array', 'allowdups='=>'bool', 'commitwithin='=>'int'], + 'SolrClient::commit' => ['SolrUpdateResponse', 'maxsegments='=>'int', 'waitflush='=>'bool', 'waitsearcher='=>'bool'], + 'SolrClient::deleteById' => ['SolrUpdateResponse', 'id'=>'string'], + 'SolrClient::deleteByIds' => ['SolrUpdateResponse', 'ids'=>'array'], + 'SolrClient::deleteByQueries' => ['SolrUpdateResponse', 'queries'=>'array'], + 'SolrClient::deleteByQuery' => ['SolrUpdateResponse', 'query'=>'string'], + 'SolrClient::getById' => ['SolrQueryResponse', 'id'=>'string'], + 'SolrClient::getByIds' => ['SolrQueryResponse', 'ids'=>'array'], + 'SolrClient::getDebug' => ['string'], + 'SolrClient::getOptions' => ['array'], + 'SolrClient::optimize' => ['SolrUpdateResponse', 'maxsegments='=>'int', 'waitflush='=>'bool', 'waitsearcher='=>'bool'], + 'SolrClient::ping' => ['SolrPingResponse'], + 'SolrClient::query' => ['SolrQueryResponse', 'query'=>'SolrParams'], + 'SolrClient::request' => ['SolrUpdateResponse', 'raw_request'=>'string'], + 'SolrClient::rollback' => ['SolrUpdateResponse'], + 'SolrClient::setResponseWriter' => ['void', 'responsewriter'=>'string'], + 'SolrClient::setServlet' => ['bool', 'type'=>'int', 'value'=>'string'], + 'SolrClient::system' => ['SolrGenericResponse'], + 'SolrClient::threads' => ['SolrGenericResponse'], + 'SolrClientException::__clone' => ['void'], + 'SolrClientException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'SolrClientException::__toString' => ['string'], + 'SolrClientException::__wakeup' => ['void'], + 'SolrClientException::getCode' => ['int'], + 'SolrClientException::getFile' => ['string'], + 'SolrClientException::getInternalInfo' => ['array'], + 'SolrClientException::getLine' => ['int'], + 'SolrClientException::getMessage' => ['string'], + 'SolrClientException::getPrevious' => ['?Exception|?Throwable'], + 'SolrClientException::getTrace' => ['list\',args?:array}>'], + 'SolrClientException::getTraceAsString' => ['string'], + 'SolrCollapseFunction::__construct' => ['void', 'field'=>'string'], + 'SolrCollapseFunction::__toString' => ['string'], + 'SolrCollapseFunction::getField' => ['string'], + 'SolrCollapseFunction::getHint' => ['string'], + 'SolrCollapseFunction::getMax' => ['string'], + 'SolrCollapseFunction::getMin' => ['string'], + 'SolrCollapseFunction::getNullPolicy' => ['string'], + 'SolrCollapseFunction::getSize' => ['int'], + 'SolrCollapseFunction::setField' => ['SolrCollapseFunction', 'fieldName'=>'string'], + 'SolrCollapseFunction::setHint' => ['SolrCollapseFunction', 'hint'=>'string'], + 'SolrCollapseFunction::setMax' => ['SolrCollapseFunction', 'max'=>'string'], + 'SolrCollapseFunction::setMin' => ['SolrCollapseFunction', 'min'=>'string'], + 'SolrCollapseFunction::setNullPolicy' => ['SolrCollapseFunction', 'nullPolicy'=>'string'], + 'SolrCollapseFunction::setSize' => ['SolrCollapseFunction', 'size'=>'int'], + 'SolrDisMaxQuery::__construct' => ['void', 'q='=>'string'], + 'SolrDisMaxQuery::__destruct' => ['void'], + 'SolrDisMaxQuery::add' => ['SolrParams', 'name'=>'string', 'value'=>'string'], + 'SolrDisMaxQuery::addBigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost'=>'string', 'slop='=>'string'], + 'SolrDisMaxQuery::addBoostQuery' => ['SolrDisMaxQuery', 'field'=>'string', 'value'=>'string', 'boost='=>'string'], + 'SolrDisMaxQuery::addExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrDisMaxQuery::addExpandSortField' => ['SolrQuery', 'field'=>'string', 'order'=>'string'], + 'SolrDisMaxQuery::addFacetDateField' => ['SolrQuery', 'dateField'=>'string'], + 'SolrDisMaxQuery::addFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::addFacetField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::addFacetQuery' => ['SolrQuery', 'facetQuery'=>'string'], + 'SolrDisMaxQuery::addField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::addFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrDisMaxQuery::addGroupField' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::addGroupFunction' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::addGroupQuery' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::addGroupSortField' => ['SolrQuery', 'field'=>'string', 'order'=>'int'], + 'SolrDisMaxQuery::addHighlightField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::addMltField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::addMltQueryField' => ['SolrQuery', 'field'=>'string', 'boost'=>'float'], + 'SolrDisMaxQuery::addParam' => ['SolrParams', 'name'=>'string', 'value'=>'string'], + 'SolrDisMaxQuery::addPhraseField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost'=>'string', 'slop='=>'string'], + 'SolrDisMaxQuery::addQueryField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost='=>'string'], + 'SolrDisMaxQuery::addSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'int'], + 'SolrDisMaxQuery::addStatsFacet' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::addStatsField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::addTrigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string', 'boost'=>'string', 'slop='=>'string'], + 'SolrDisMaxQuery::addUserField' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::collapse' => ['SolrQuery', 'collapseFunction'=>'SolrCollapseFunction'], + 'SolrDisMaxQuery::get' => ['mixed', 'param_name'=>'string'], + 'SolrDisMaxQuery::getExpand' => ['bool'], + 'SolrDisMaxQuery::getExpandFilterQueries' => ['array'], + 'SolrDisMaxQuery::getExpandQuery' => ['array'], + 'SolrDisMaxQuery::getExpandRows' => ['int'], + 'SolrDisMaxQuery::getExpandSortFields' => ['array'], + 'SolrDisMaxQuery::getFacet' => ['bool'], + 'SolrDisMaxQuery::getFacetDateEnd' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetDateFields' => ['array'], + 'SolrDisMaxQuery::getFacetDateGap' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetDateHardEnd' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetDateOther' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetDateStart' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetFields' => ['array'], + 'SolrDisMaxQuery::getFacetLimit' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetMethod' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetMinCount' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetMissing' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetOffset' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetPrefix' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFacetQueries' => ['string'], + 'SolrDisMaxQuery::getFacetSort' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getFields' => ['string'], + 'SolrDisMaxQuery::getFilterQueries' => ['string'], + 'SolrDisMaxQuery::getGroup' => ['bool'], + 'SolrDisMaxQuery::getGroupCachePercent' => ['int'], + 'SolrDisMaxQuery::getGroupFacet' => ['bool'], + 'SolrDisMaxQuery::getGroupFields' => ['array'], + 'SolrDisMaxQuery::getGroupFormat' => ['string'], + 'SolrDisMaxQuery::getGroupFunctions' => ['array'], + 'SolrDisMaxQuery::getGroupLimit' => ['int'], + 'SolrDisMaxQuery::getGroupMain' => ['bool'], + 'SolrDisMaxQuery::getGroupNGroups' => ['bool'], + 'SolrDisMaxQuery::getGroupOffset' => ['bool'], + 'SolrDisMaxQuery::getGroupQueries' => ['array'], + 'SolrDisMaxQuery::getGroupSortFields' => ['array'], + 'SolrDisMaxQuery::getGroupTruncate' => ['bool'], + 'SolrDisMaxQuery::getHighlight' => ['bool'], + 'SolrDisMaxQuery::getHighlightAlternateField' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightFields' => ['array'], + 'SolrDisMaxQuery::getHighlightFormatter' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightFragmenter' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightFragsize' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightHighlightMultiTerm' => ['bool'], + 'SolrDisMaxQuery::getHighlightMaxAlternateFieldLength' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightMaxAnalyzedChars' => ['int'], + 'SolrDisMaxQuery::getHighlightMergeContiguous' => ['bool', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightRegexMaxAnalyzedChars' => ['int'], + 'SolrDisMaxQuery::getHighlightRegexPattern' => ['string'], + 'SolrDisMaxQuery::getHighlightRegexSlop' => ['float'], + 'SolrDisMaxQuery::getHighlightRequireFieldMatch' => ['bool'], + 'SolrDisMaxQuery::getHighlightSimplePost' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightSimplePre' => ['string', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightSnippets' => ['int', 'field_override'=>'string'], + 'SolrDisMaxQuery::getHighlightUsePhraseHighlighter' => ['bool'], + 'SolrDisMaxQuery::getMlt' => ['bool'], + 'SolrDisMaxQuery::getMltBoost' => ['bool'], + 'SolrDisMaxQuery::getMltCount' => ['int'], + 'SolrDisMaxQuery::getMltFields' => ['array'], + 'SolrDisMaxQuery::getMltMaxNumQueryTerms' => ['int'], + 'SolrDisMaxQuery::getMltMaxNumTokens' => ['int'], + 'SolrDisMaxQuery::getMltMaxWordLength' => ['int'], + 'SolrDisMaxQuery::getMltMinDocFrequency' => ['int'], + 'SolrDisMaxQuery::getMltMinTermFrequency' => ['int'], + 'SolrDisMaxQuery::getMltMinWordLength' => ['int'], + 'SolrDisMaxQuery::getMltQueryFields' => ['array'], + 'SolrDisMaxQuery::getParam' => ['mixed', 'param_name'=>'string'], + 'SolrDisMaxQuery::getParams' => ['array'], + 'SolrDisMaxQuery::getPreparedParams' => ['array'], + 'SolrDisMaxQuery::getQuery' => ['string'], + 'SolrDisMaxQuery::getRows' => ['int'], + 'SolrDisMaxQuery::getSortFields' => ['array'], + 'SolrDisMaxQuery::getStart' => ['int'], + 'SolrDisMaxQuery::getStats' => ['bool'], + 'SolrDisMaxQuery::getStatsFacets' => ['array'], + 'SolrDisMaxQuery::getStatsFields' => ['array'], + 'SolrDisMaxQuery::getTerms' => ['bool'], + 'SolrDisMaxQuery::getTermsField' => ['string'], + 'SolrDisMaxQuery::getTermsIncludeLowerBound' => ['bool'], + 'SolrDisMaxQuery::getTermsIncludeUpperBound' => ['bool'], + 'SolrDisMaxQuery::getTermsLimit' => ['int'], + 'SolrDisMaxQuery::getTermsLowerBound' => ['string'], + 'SolrDisMaxQuery::getTermsMaxCount' => ['int'], + 'SolrDisMaxQuery::getTermsMinCount' => ['int'], + 'SolrDisMaxQuery::getTermsPrefix' => ['string'], + 'SolrDisMaxQuery::getTermsReturnRaw' => ['bool'], + 'SolrDisMaxQuery::getTermsSort' => ['int'], + 'SolrDisMaxQuery::getTermsUpperBound' => ['string'], + 'SolrDisMaxQuery::getTimeAllowed' => ['int'], + 'SolrDisMaxQuery::removeBigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeBoostQuery' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrDisMaxQuery::removeExpandSortField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeFacetDateField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::removeFacetField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeFacetQuery' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::removeField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrDisMaxQuery::removeHighlightField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeMltField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeMltQueryField' => ['SolrQuery', 'queryField'=>'string'], + 'SolrDisMaxQuery::removePhraseField' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeQueryField' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeSortField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeStatsFacet' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::removeStatsField' => ['SolrQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeTrigramPhraseField' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::removeUserField' => ['SolrDisMaxQuery', 'field'=>'string'], + 'SolrDisMaxQuery::serialize' => ['string'], + 'SolrDisMaxQuery::set' => ['SolrParams', 'name'=>'string', 'value'=>''], + 'SolrDisMaxQuery::setBigramPhraseFields' => ['SolrDisMaxQuery', 'fields'=>'string'], + 'SolrDisMaxQuery::setBigramPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], + 'SolrDisMaxQuery::setBoostFunction' => ['SolrDisMaxQuery', 'function'=>'string'], + 'SolrDisMaxQuery::setBoostQuery' => ['SolrDisMaxQuery', 'q'=>'string'], + 'SolrDisMaxQuery::setEchoHandler' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setEchoParams' => ['SolrQuery', 'type'=>'string'], + 'SolrDisMaxQuery::setExpand' => ['SolrQuery', 'value'=>'bool'], + 'SolrDisMaxQuery::setExpandQuery' => ['SolrQuery', 'q'=>'string'], + 'SolrDisMaxQuery::setExpandRows' => ['SolrQuery', 'value'=>'int'], + 'SolrDisMaxQuery::setExplainOther' => ['SolrQuery', 'query'=>'string'], + 'SolrDisMaxQuery::setFacet' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setFacetDateEnd' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetDateGap' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetDateHardEnd' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetDateStart' => ['SolrQuery', 'value'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetEnumCacheMinDefaultFrequency' => ['SolrQuery', 'frequency'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetLimit' => ['SolrQuery', 'limit'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetMethod' => ['SolrQuery', 'method'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetMinCount' => ['SolrQuery', 'mincount'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetMissing' => ['SolrQuery', 'flag'=>'bool', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetOffset' => ['SolrQuery', 'offset'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetPrefix' => ['SolrQuery', 'prefix'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setFacetSort' => ['SolrQuery', 'facetSort'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setGroup' => ['SolrQuery', 'value'=>'bool'], + 'SolrDisMaxQuery::setGroupCachePercent' => ['SolrQuery', 'percent'=>'int'], + 'SolrDisMaxQuery::setGroupFacet' => ['SolrQuery', 'value'=>'bool'], + 'SolrDisMaxQuery::setGroupFormat' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::setGroupLimit' => ['SolrQuery', 'value'=>'int'], + 'SolrDisMaxQuery::setGroupMain' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::setGroupNGroups' => ['SolrQuery', 'value'=>'bool'], + 'SolrDisMaxQuery::setGroupOffset' => ['SolrQuery', 'value'=>'int'], + 'SolrDisMaxQuery::setGroupTruncate' => ['SolrQuery', 'value'=>'bool'], + 'SolrDisMaxQuery::setHighlight' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setHighlightAlternateField' => ['SolrQuery', 'field'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightFormatter' => ['SolrQuery', 'formatter'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightFragmenter' => ['SolrQuery', 'fragmenter'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightFragsize' => ['SolrQuery', 'size'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightHighlightMultiTerm' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setHighlightMaxAlternateFieldLength' => ['SolrQuery', 'fieldLength'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightMaxAnalyzedChars' => ['SolrQuery', 'value'=>'int'], + 'SolrDisMaxQuery::setHighlightMergeContiguous' => ['SolrQuery', 'flag'=>'bool', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightRegexMaxAnalyzedChars' => ['SolrQuery', 'maxAnalyzedChars'=>'int'], + 'SolrDisMaxQuery::setHighlightRegexPattern' => ['SolrQuery', 'value'=>'string'], + 'SolrDisMaxQuery::setHighlightRegexSlop' => ['SolrQuery', 'factor'=>'float'], + 'SolrDisMaxQuery::setHighlightRequireFieldMatch' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setHighlightSimplePost' => ['SolrQuery', 'simplePost'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightSimplePre' => ['SolrQuery', 'simplePre'=>'string', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightSnippets' => ['SolrQuery', 'value'=>'int', 'field_override'=>'string'], + 'SolrDisMaxQuery::setHighlightUsePhraseHighlighter' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setMinimumMatch' => ['SolrDisMaxQuery', 'value'=>'string'], + 'SolrDisMaxQuery::setMlt' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setMltBoost' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setMltCount' => ['SolrQuery', 'count'=>'int'], + 'SolrDisMaxQuery::setMltMaxNumQueryTerms' => ['SolrQuery', 'value'=>'int'], + 'SolrDisMaxQuery::setMltMaxNumTokens' => ['SolrQuery', 'value'=>'int'], + 'SolrDisMaxQuery::setMltMaxWordLength' => ['SolrQuery', 'maxWordLength'=>'int'], + 'SolrDisMaxQuery::setMltMinDocFrequency' => ['SolrQuery', 'minDocFrequency'=>'int'], + 'SolrDisMaxQuery::setMltMinTermFrequency' => ['SolrQuery', 'minTermFrequency'=>'int'], + 'SolrDisMaxQuery::setMltMinWordLength' => ['SolrQuery', 'minWordLength'=>'int'], + 'SolrDisMaxQuery::setOmitHeader' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setParam' => ['SolrParams', 'name'=>'string', 'value'=>''], + 'SolrDisMaxQuery::setPhraseFields' => ['SolrDisMaxQuery', 'fields'=>'string'], + 'SolrDisMaxQuery::setPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], + 'SolrDisMaxQuery::setQuery' => ['SolrQuery', 'query'=>'string'], + 'SolrDisMaxQuery::setQueryAlt' => ['SolrDisMaxQuery', 'q'=>'string'], + 'SolrDisMaxQuery::setQueryPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], + 'SolrDisMaxQuery::setRows' => ['SolrQuery', 'rows'=>'int'], + 'SolrDisMaxQuery::setShowDebugInfo' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setStart' => ['SolrQuery', 'start'=>'int'], + 'SolrDisMaxQuery::setStats' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setTerms' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setTermsField' => ['SolrQuery', 'fieldname'=>'string'], + 'SolrDisMaxQuery::setTermsIncludeLowerBound' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setTermsIncludeUpperBound' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setTermsLimit' => ['SolrQuery', 'limit'=>'int'], + 'SolrDisMaxQuery::setTermsLowerBound' => ['SolrQuery', 'lowerBound'=>'string'], + 'SolrDisMaxQuery::setTermsMaxCount' => ['SolrQuery', 'frequency'=>'int'], + 'SolrDisMaxQuery::setTermsMinCount' => ['SolrQuery', 'frequency'=>'int'], + 'SolrDisMaxQuery::setTermsPrefix' => ['SolrQuery', 'prefix'=>'string'], + 'SolrDisMaxQuery::setTermsReturnRaw' => ['SolrQuery', 'flag'=>'bool'], + 'SolrDisMaxQuery::setTermsSort' => ['SolrQuery', 'sortType'=>'int'], + 'SolrDisMaxQuery::setTermsUpperBound' => ['SolrQuery', 'upperBound'=>'string'], + 'SolrDisMaxQuery::setTieBreaker' => ['SolrDisMaxQuery', 'tieBreaker'=>'string'], + 'SolrDisMaxQuery::setTimeAllowed' => ['SolrQuery', 'timeAllowed'=>'int'], + 'SolrDisMaxQuery::setTrigramPhraseFields' => ['SolrDisMaxQuery', 'fields'=>'string'], + 'SolrDisMaxQuery::setTrigramPhraseSlop' => ['SolrDisMaxQuery', 'slop'=>'string'], + 'SolrDisMaxQuery::setUserFields' => ['SolrDisMaxQuery', 'fields'=>'string'], + 'SolrDisMaxQuery::toString' => ['string', 'url_encode='=>'bool'], + 'SolrDisMaxQuery::unserialize' => ['void', 'serialized'=>'string'], + 'SolrDisMaxQuery::useDisMaxQueryParser' => ['SolrDisMaxQuery'], + 'SolrDisMaxQuery::useEDisMaxQueryParser' => ['SolrDisMaxQuery'], + 'SolrDocument::__clone' => ['void'], + 'SolrDocument::__construct' => ['void'], + 'SolrDocument::__destruct' => ['void'], + 'SolrDocument::__get' => ['SolrDocumentField', 'fieldname'=>'string'], + 'SolrDocument::__isset' => ['bool', 'fieldname'=>'string'], + 'SolrDocument::__set' => ['bool', 'fieldname'=>'string', 'fieldvalue'=>'string'], + 'SolrDocument::__unset' => ['bool', 'fieldname'=>'string'], + 'SolrDocument::addField' => ['bool', 'fieldname'=>'string', 'fieldvalue'=>'string'], + 'SolrDocument::clear' => ['bool'], + 'SolrDocument::current' => ['SolrDocumentField'], + 'SolrDocument::deleteField' => ['bool', 'fieldname'=>'string'], + 'SolrDocument::fieldExists' => ['bool', 'fieldname'=>'string'], + 'SolrDocument::getChildDocuments' => ['SolrInputDocument[]'], + 'SolrDocument::getChildDocumentsCount' => ['int'], + 'SolrDocument::getField' => ['SolrDocumentField|false', 'fieldname'=>'string'], + 'SolrDocument::getFieldCount' => ['int|false'], + 'SolrDocument::getFieldNames' => ['array|false'], + 'SolrDocument::getInputDocument' => ['SolrInputDocument'], + 'SolrDocument::hasChildDocuments' => ['bool'], + 'SolrDocument::key' => ['string'], + 'SolrDocument::merge' => ['bool', 'sourcedoc'=>'solrdocument', 'overwrite='=>'bool'], + 'SolrDocument::next' => ['void'], + 'SolrDocument::offsetExists' => ['bool', 'fieldname'=>'string'], + 'SolrDocument::offsetGet' => ['SolrDocumentField', 'fieldname'=>'string'], + 'SolrDocument::offsetSet' => ['void', 'fieldname'=>'string', 'fieldvalue'=>'string'], + 'SolrDocument::offsetUnset' => ['void', 'fieldname'=>'string'], + 'SolrDocument::reset' => ['bool'], + 'SolrDocument::rewind' => ['void'], + 'SolrDocument::serialize' => ['string'], + 'SolrDocument::sort' => ['bool', 'sortorderby'=>'int', 'sortdirection='=>'int'], + 'SolrDocument::toArray' => ['array'], + 'SolrDocument::unserialize' => ['void', 'serialized'=>'string'], + 'SolrDocument::valid' => ['bool'], + 'SolrDocumentField::__construct' => ['void'], + 'SolrDocumentField::__destruct' => ['void'], + 'SolrException::__clone' => ['void'], + 'SolrException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'SolrException::__toString' => ['string'], + 'SolrException::__wakeup' => ['void'], + 'SolrException::getCode' => ['int'], + 'SolrException::getFile' => ['string'], + 'SolrException::getInternalInfo' => ['array'], + 'SolrException::getLine' => ['int'], + 'SolrException::getMessage' => ['string'], + 'SolrException::getPrevious' => ['Exception|Throwable'], + 'SolrException::getTrace' => ['list\',args?:array}>'], + 'SolrException::getTraceAsString' => ['string'], + 'SolrGenericResponse::__construct' => ['void'], + 'SolrGenericResponse::__destruct' => ['void'], + 'SolrGenericResponse::getDigestedResponse' => ['string'], + 'SolrGenericResponse::getHttpStatus' => ['int'], + 'SolrGenericResponse::getHttpStatusMessage' => ['string'], + 'SolrGenericResponse::getRawRequest' => ['string'], + 'SolrGenericResponse::getRawRequestHeaders' => ['string'], + 'SolrGenericResponse::getRawResponse' => ['string'], + 'SolrGenericResponse::getRawResponseHeaders' => ['string'], + 'SolrGenericResponse::getRequestUrl' => ['string'], + 'SolrGenericResponse::getResponse' => ['SolrObject'], + 'SolrGenericResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], + 'SolrGenericResponse::success' => ['bool'], + 'SolrIllegalArgumentException::__clone' => ['void'], + 'SolrIllegalArgumentException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'SolrIllegalArgumentException::__toString' => ['string'], + 'SolrIllegalArgumentException::__wakeup' => ['void'], + 'SolrIllegalArgumentException::getCode' => ['int'], + 'SolrIllegalArgumentException::getFile' => ['string'], + 'SolrIllegalArgumentException::getInternalInfo' => ['array'], + 'SolrIllegalArgumentException::getLine' => ['int'], + 'SolrIllegalArgumentException::getMessage' => ['string'], + 'SolrIllegalArgumentException::getPrevious' => ['Exception|Throwable'], + 'SolrIllegalArgumentException::getTrace' => ['list\',args?:array}>'], + 'SolrIllegalArgumentException::getTraceAsString' => ['string'], + 'SolrIllegalOperationException::__clone' => ['void'], + 'SolrIllegalOperationException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'SolrIllegalOperationException::__toString' => ['string'], + 'SolrIllegalOperationException::__wakeup' => ['void'], + 'SolrIllegalOperationException::getCode' => ['int'], + 'SolrIllegalOperationException::getFile' => ['string'], + 'SolrIllegalOperationException::getInternalInfo' => ['array'], + 'SolrIllegalOperationException::getLine' => ['int'], + 'SolrIllegalOperationException::getMessage' => ['string'], + 'SolrIllegalOperationException::getPrevious' => ['Exception|Throwable'], + 'SolrIllegalOperationException::getTrace' => ['list\',args?:array}>'], + 'SolrIllegalOperationException::getTraceAsString' => ['string'], + 'SolrInputDocument::__clone' => ['void'], + 'SolrInputDocument::__construct' => ['void'], + 'SolrInputDocument::__destruct' => ['void'], + 'SolrInputDocument::addChildDocument' => ['void', 'child'=>'SolrInputDocument'], + 'SolrInputDocument::addChildDocuments' => ['void', 'docs'=>'array'], + 'SolrInputDocument::addField' => ['bool', 'fieldname'=>'string', 'fieldvalue'=>'string', 'fieldboostvalue='=>'float'], + 'SolrInputDocument::clear' => ['bool'], + 'SolrInputDocument::deleteField' => ['bool', 'fieldname'=>'string'], + 'SolrInputDocument::fieldExists' => ['bool', 'fieldname'=>'string'], + 'SolrInputDocument::getBoost' => ['float|false'], + 'SolrInputDocument::getChildDocuments' => ['SolrInputDocument[]'], + 'SolrInputDocument::getChildDocumentsCount' => ['int'], + 'SolrInputDocument::getField' => ['SolrDocumentField|false', 'fieldname'=>'string'], + 'SolrInputDocument::getFieldBoost' => ['float|false', 'fieldname'=>'string'], + 'SolrInputDocument::getFieldCount' => ['int|false'], + 'SolrInputDocument::getFieldNames' => ['array|false'], + 'SolrInputDocument::hasChildDocuments' => ['bool'], + 'SolrInputDocument::merge' => ['bool', 'sourcedoc'=>'SolrInputDocument', 'overwrite='=>'bool'], + 'SolrInputDocument::reset' => ['bool'], + 'SolrInputDocument::setBoost' => ['bool', 'documentboostvalue'=>'float'], + 'SolrInputDocument::setFieldBoost' => ['bool', 'fieldname'=>'string', 'fieldboostvalue'=>'float'], + 'SolrInputDocument::sort' => ['bool', 'sortorderby'=>'int', 'sortdirection='=>'int'], + 'SolrInputDocument::toArray' => ['array|false'], + 'SolrModifiableParams::__construct' => ['void'], + 'SolrModifiableParams::__destruct' => ['void'], + 'SolrModifiableParams::add' => ['SolrParams', 'name'=>'string', 'value'=>'string'], + 'SolrModifiableParams::addParam' => ['SolrParams', 'name'=>'string', 'value'=>'string'], + 'SolrModifiableParams::get' => ['mixed', 'param_name'=>'string'], + 'SolrModifiableParams::getParam' => ['mixed', 'param_name'=>'string'], + 'SolrModifiableParams::getParams' => ['array'], + 'SolrModifiableParams::getPreparedParams' => ['array'], + 'SolrModifiableParams::serialize' => ['string'], + 'SolrModifiableParams::set' => ['SolrParams', 'name'=>'string', 'value'=>''], + 'SolrModifiableParams::setParam' => ['SolrParams', 'name'=>'string', 'value'=>''], + 'SolrModifiableParams::toString' => ['string', 'url_encode='=>'bool'], + 'SolrModifiableParams::unserialize' => ['void', 'serialized'=>'string'], + 'SolrObject::__construct' => ['void'], + 'SolrObject::__destruct' => ['void'], + 'SolrObject::getPropertyNames' => ['array'], + 'SolrObject::offsetExists' => ['bool', 'property_name'=>'string'], + 'SolrObject::offsetGet' => ['SolrDocumentField', 'property_name'=>'string'], + 'SolrObject::offsetSet' => ['void', 'property_name'=>'string', 'property_value'=>'string'], + 'SolrObject::offsetUnset' => ['void', 'property_name'=>'string'], + 'SolrParams::__construct' => ['void'], + 'SolrParams::add' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], + 'SolrParams::addParam' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], + 'SolrParams::get' => ['mixed', 'param_name'=>'string'], + 'SolrParams::getParam' => ['mixed', 'param_name='=>'string'], + 'SolrParams::getParams' => ['array'], + 'SolrParams::getPreparedParams' => ['array'], + 'SolrParams::serialize' => ['string'], + 'SolrParams::set' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], + 'SolrParams::setParam' => ['SolrParams|false', 'name'=>'string', 'value'=>'string'], + 'SolrParams::toString' => ['string|false', 'url_encode='=>'bool'], + 'SolrParams::unserialize' => ['void', 'serialized'=>'string'], + 'SolrPingResponse::__construct' => ['void'], + 'SolrPingResponse::__destruct' => ['void'], + 'SolrPingResponse::getDigestedResponse' => ['string'], + 'SolrPingResponse::getHttpStatus' => ['int'], + 'SolrPingResponse::getHttpStatusMessage' => ['string'], + 'SolrPingResponse::getRawRequest' => ['string'], + 'SolrPingResponse::getRawRequestHeaders' => ['string'], + 'SolrPingResponse::getRawResponse' => ['string'], + 'SolrPingResponse::getRawResponseHeaders' => ['string'], + 'SolrPingResponse::getRequestUrl' => ['string'], + 'SolrPingResponse::getResponse' => ['string'], + 'SolrPingResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], + 'SolrPingResponse::success' => ['bool'], + 'SolrQuery::__construct' => ['void', 'q='=>'string'], + 'SolrQuery::__destruct' => ['void'], + 'SolrQuery::add' => ['SolrParams', 'name'=>'string', 'value'=>'string'], + 'SolrQuery::addExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrQuery::addExpandSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'string'], + 'SolrQuery::addFacetDateField' => ['SolrQuery', 'datefield'=>'string'], + 'SolrQuery::addFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], + 'SolrQuery::addFacetField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::addFacetQuery' => ['SolrQuery', 'facetquery'=>'string'], + 'SolrQuery::addField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::addFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrQuery::addGroupField' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::addGroupFunction' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::addGroupQuery' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::addGroupSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'int'], + 'SolrQuery::addHighlightField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::addMltField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::addMltQueryField' => ['SolrQuery', 'field'=>'string', 'boost'=>'float'], + 'SolrQuery::addParam' => ['SolrParams', 'name'=>'string', 'value'=>'string'], + 'SolrQuery::addSortField' => ['SolrQuery', 'field'=>'string', 'order='=>'int'], + 'SolrQuery::addStatsFacet' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::addStatsField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::collapse' => ['SolrQuery', 'collapseFunction'=>'SolrCollapseFunction'], + 'SolrQuery::get' => ['mixed', 'param_name'=>'string'], + 'SolrQuery::getExpand' => ['bool'], + 'SolrQuery::getExpandFilterQueries' => ['array'], + 'SolrQuery::getExpandQuery' => ['array'], + 'SolrQuery::getExpandRows' => ['int'], + 'SolrQuery::getExpandSortFields' => ['array'], + 'SolrQuery::getFacet' => ['?bool'], + 'SolrQuery::getFacetDateEnd' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetDateFields' => ['array'], + 'SolrQuery::getFacetDateGap' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetDateHardEnd' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetDateOther' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetDateStart' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetFields' => ['array'], + 'SolrQuery::getFacetLimit' => ['?int', 'field_override='=>'string'], + 'SolrQuery::getFacetMethod' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetMinCount' => ['?int', 'field_override='=>'string'], + 'SolrQuery::getFacetMissing' => ['?bool', 'field_override='=>'string'], + 'SolrQuery::getFacetOffset' => ['?int', 'field_override='=>'string'], + 'SolrQuery::getFacetPrefix' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getFacetQueries' => ['?array'], + 'SolrQuery::getFacetSort' => ['int', 'field_override='=>'string'], + 'SolrQuery::getFields' => ['?array'], + 'SolrQuery::getFilterQueries' => ['?array'], + 'SolrQuery::getGroup' => ['bool'], + 'SolrQuery::getGroupCachePercent' => ['int'], + 'SolrQuery::getGroupFacet' => ['bool'], + 'SolrQuery::getGroupFields' => ['array'], + 'SolrQuery::getGroupFormat' => ['string'], + 'SolrQuery::getGroupFunctions' => ['array'], + 'SolrQuery::getGroupLimit' => ['int'], + 'SolrQuery::getGroupMain' => ['bool'], + 'SolrQuery::getGroupNGroups' => ['bool'], + 'SolrQuery::getGroupOffset' => ['int'], + 'SolrQuery::getGroupQueries' => ['array'], + 'SolrQuery::getGroupSortFields' => ['array'], + 'SolrQuery::getGroupTruncate' => ['bool'], + 'SolrQuery::getHighlight' => ['bool'], + 'SolrQuery::getHighlightAlternateField' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getHighlightFields' => ['?array'], + 'SolrQuery::getHighlightFormatter' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getHighlightFragmenter' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getHighlightFragsize' => ['?int', 'field_override='=>'string'], + 'SolrQuery::getHighlightHighlightMultiTerm' => ['?bool'], + 'SolrQuery::getHighlightMaxAlternateFieldLength' => ['?int', 'field_override='=>'string'], + 'SolrQuery::getHighlightMaxAnalyzedChars' => ['?int'], + 'SolrQuery::getHighlightMergeContiguous' => ['?bool', 'field_override='=>'string'], + 'SolrQuery::getHighlightRegexMaxAnalyzedChars' => ['?int'], + 'SolrQuery::getHighlightRegexPattern' => ['?string'], + 'SolrQuery::getHighlightRegexSlop' => ['?float'], + 'SolrQuery::getHighlightRequireFieldMatch' => ['?bool'], + 'SolrQuery::getHighlightSimplePost' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getHighlightSimplePre' => ['?string', 'field_override='=>'string'], + 'SolrQuery::getHighlightSnippets' => ['?int', 'field_override='=>'string'], + 'SolrQuery::getHighlightUsePhraseHighlighter' => ['?bool'], + 'SolrQuery::getMlt' => ['?bool'], + 'SolrQuery::getMltBoost' => ['?bool'], + 'SolrQuery::getMltCount' => ['?int'], + 'SolrQuery::getMltFields' => ['?array'], + 'SolrQuery::getMltMaxNumQueryTerms' => ['?int'], + 'SolrQuery::getMltMaxNumTokens' => ['?int'], + 'SolrQuery::getMltMaxWordLength' => ['?int'], + 'SolrQuery::getMltMinDocFrequency' => ['?int'], + 'SolrQuery::getMltMinTermFrequency' => ['?int'], + 'SolrQuery::getMltMinWordLength' => ['?int'], + 'SolrQuery::getMltQueryFields' => ['?array'], + 'SolrQuery::getParam' => ['?mixed', 'param_name'=>'string'], + 'SolrQuery::getParams' => ['?array'], + 'SolrQuery::getPreparedParams' => ['?array'], + 'SolrQuery::getQuery' => ['?string'], + 'SolrQuery::getRows' => ['?int'], + 'SolrQuery::getSortFields' => ['?array'], + 'SolrQuery::getStart' => ['?int'], + 'SolrQuery::getStats' => ['?bool'], + 'SolrQuery::getStatsFacets' => ['?array'], + 'SolrQuery::getStatsFields' => ['?array'], + 'SolrQuery::getTerms' => ['?bool'], + 'SolrQuery::getTermsField' => ['?string'], + 'SolrQuery::getTermsIncludeLowerBound' => ['?bool'], + 'SolrQuery::getTermsIncludeUpperBound' => ['?bool'], + 'SolrQuery::getTermsLimit' => ['?int'], + 'SolrQuery::getTermsLowerBound' => ['?string'], + 'SolrQuery::getTermsMaxCount' => ['?int'], + 'SolrQuery::getTermsMinCount' => ['?int'], + 'SolrQuery::getTermsPrefix' => ['?string'], + 'SolrQuery::getTermsReturnRaw' => ['?bool'], + 'SolrQuery::getTermsSort' => ['?int'], + 'SolrQuery::getTermsUpperBound' => ['?string'], + 'SolrQuery::getTimeAllowed' => ['?int'], + 'SolrQuery::removeExpandFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrQuery::removeExpandSortField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeFacetDateField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeFacetDateOther' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], + 'SolrQuery::removeFacetField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeFacetQuery' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::removeField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeFilterQuery' => ['SolrQuery', 'fq'=>'string'], + 'SolrQuery::removeHighlightField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeMltField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeMltQueryField' => ['SolrQuery', 'queryfield'=>'string'], + 'SolrQuery::removeSortField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::removeStatsFacet' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::removeStatsField' => ['SolrQuery', 'field'=>'string'], + 'SolrQuery::serialize' => ['string'], + 'SolrQuery::set' => ['SolrParams', 'name'=>'string', 'value'=>''], + 'SolrQuery::setEchoHandler' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setEchoParams' => ['SolrQuery', 'type'=>'string'], + 'SolrQuery::setExpand' => ['SolrQuery', 'value'=>'bool'], + 'SolrQuery::setExpandQuery' => ['SolrQuery', 'q'=>'string'], + 'SolrQuery::setExpandRows' => ['SolrQuery', 'value'=>'int'], + 'SolrQuery::setExplainOther' => ['SolrQuery', 'query'=>'string'], + 'SolrQuery::setFacet' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setFacetDateEnd' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], + 'SolrQuery::setFacetDateGap' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], + 'SolrQuery::setFacetDateHardEnd' => ['SolrQuery', 'value'=>'bool', 'field_override='=>'string'], + 'SolrQuery::setFacetDateStart' => ['SolrQuery', 'value'=>'string', 'field_override='=>'string'], + 'SolrQuery::setFacetEnumCacheMinDefaultFrequency' => ['SolrQuery', 'frequency'=>'int', 'field_override='=>'string'], + 'SolrQuery::setFacetLimit' => ['SolrQuery', 'limit'=>'int', 'field_override='=>'string'], + 'SolrQuery::setFacetMethod' => ['SolrQuery', 'method'=>'string', 'field_override='=>'string'], + 'SolrQuery::setFacetMinCount' => ['SolrQuery', 'mincount'=>'int', 'field_override='=>'string'], + 'SolrQuery::setFacetMissing' => ['SolrQuery', 'flag'=>'bool', 'field_override='=>'string'], + 'SolrQuery::setFacetOffset' => ['SolrQuery', 'offset'=>'int', 'field_override='=>'string'], + 'SolrQuery::setFacetPrefix' => ['SolrQuery', 'prefix'=>'string', 'field_override='=>'string'], + 'SolrQuery::setFacetSort' => ['SolrQuery', 'facetsort'=>'int', 'field_override='=>'string'], + 'SolrQuery::setGroup' => ['SolrQuery', 'value'=>'bool'], + 'SolrQuery::setGroupCachePercent' => ['SolrQuery', 'percent'=>'int'], + 'SolrQuery::setGroupFacet' => ['SolrQuery', 'value'=>'bool'], + 'SolrQuery::setGroupFormat' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::setGroupLimit' => ['SolrQuery', 'value'=>'int'], + 'SolrQuery::setGroupMain' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::setGroupNGroups' => ['SolrQuery', 'value'=>'bool'], + 'SolrQuery::setGroupOffset' => ['SolrQuery', 'value'=>'int'], + 'SolrQuery::setGroupTruncate' => ['SolrQuery', 'value'=>'bool'], + 'SolrQuery::setHighlight' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setHighlightAlternateField' => ['SolrQuery', 'field'=>'string', 'field_override='=>'string'], + 'SolrQuery::setHighlightFormatter' => ['SolrQuery', 'formatter'=>'string', 'field_override='=>'string'], + 'SolrQuery::setHighlightFragmenter' => ['SolrQuery', 'fragmenter'=>'string', 'field_override='=>'string'], + 'SolrQuery::setHighlightFragsize' => ['SolrQuery', 'size'=>'int', 'field_override='=>'string'], + 'SolrQuery::setHighlightHighlightMultiTerm' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setHighlightMaxAlternateFieldLength' => ['SolrQuery', 'fieldlength'=>'int', 'field_override='=>'string'], + 'SolrQuery::setHighlightMaxAnalyzedChars' => ['SolrQuery', 'value'=>'int'], + 'SolrQuery::setHighlightMergeContiguous' => ['SolrQuery', 'flag'=>'bool', 'field_override='=>'string'], + 'SolrQuery::setHighlightRegexMaxAnalyzedChars' => ['SolrQuery', 'maxanalyzedchars'=>'int'], + 'SolrQuery::setHighlightRegexPattern' => ['SolrQuery', 'value'=>'string'], + 'SolrQuery::setHighlightRegexSlop' => ['SolrQuery', 'factor'=>'float'], + 'SolrQuery::setHighlightRequireFieldMatch' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setHighlightSimplePost' => ['SolrQuery', 'simplepost'=>'string', 'field_override='=>'string'], + 'SolrQuery::setHighlightSimplePre' => ['SolrQuery', 'simplepre'=>'string', 'field_override='=>'string'], + 'SolrQuery::setHighlightSnippets' => ['SolrQuery', 'value'=>'int', 'field_override='=>'string'], + 'SolrQuery::setHighlightUsePhraseHighlighter' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setMlt' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setMltBoost' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setMltCount' => ['SolrQuery', 'count'=>'int'], + 'SolrQuery::setMltMaxNumQueryTerms' => ['SolrQuery', 'value'=>'int'], + 'SolrQuery::setMltMaxNumTokens' => ['SolrQuery', 'value'=>'int'], + 'SolrQuery::setMltMaxWordLength' => ['SolrQuery', 'maxwordlength'=>'int'], + 'SolrQuery::setMltMinDocFrequency' => ['SolrQuery', 'mindocfrequency'=>'int'], + 'SolrQuery::setMltMinTermFrequency' => ['SolrQuery', 'mintermfrequency'=>'int'], + 'SolrQuery::setMltMinWordLength' => ['SolrQuery', 'minwordlength'=>'int'], + 'SolrQuery::setOmitHeader' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setParam' => ['SolrParams', 'name'=>'string', 'value'=>''], + 'SolrQuery::setQuery' => ['SolrQuery', 'query'=>'string'], + 'SolrQuery::setRows' => ['SolrQuery', 'rows'=>'int'], + 'SolrQuery::setShowDebugInfo' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setStart' => ['SolrQuery', 'start'=>'int'], + 'SolrQuery::setStats' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setTerms' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setTermsField' => ['SolrQuery', 'fieldname'=>'string'], + 'SolrQuery::setTermsIncludeLowerBound' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setTermsIncludeUpperBound' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setTermsLimit' => ['SolrQuery', 'limit'=>'int'], + 'SolrQuery::setTermsLowerBound' => ['SolrQuery', 'lowerbound'=>'string'], + 'SolrQuery::setTermsMaxCount' => ['SolrQuery', 'frequency'=>'int'], + 'SolrQuery::setTermsMinCount' => ['SolrQuery', 'frequency'=>'int'], + 'SolrQuery::setTermsPrefix' => ['SolrQuery', 'prefix'=>'string'], + 'SolrQuery::setTermsReturnRaw' => ['SolrQuery', 'flag'=>'bool'], + 'SolrQuery::setTermsSort' => ['SolrQuery', 'sorttype'=>'int'], + 'SolrQuery::setTermsUpperBound' => ['SolrQuery', 'upperbound'=>'string'], + 'SolrQuery::setTimeAllowed' => ['SolrQuery', 'timeallowed'=>'int'], + 'SolrQuery::toString' => ['string', 'url_encode='=>'bool'], + 'SolrQuery::unserialize' => ['void', 'serialized'=>'string'], + 'SolrQueryResponse::__construct' => ['void'], + 'SolrQueryResponse::__destruct' => ['void'], + 'SolrQueryResponse::getDigestedResponse' => ['string'], + 'SolrQueryResponse::getHttpStatus' => ['int'], + 'SolrQueryResponse::getHttpStatusMessage' => ['string'], + 'SolrQueryResponse::getRawRequest' => ['string'], + 'SolrQueryResponse::getRawRequestHeaders' => ['string'], + 'SolrQueryResponse::getRawResponse' => ['string'], + 'SolrQueryResponse::getRawResponseHeaders' => ['string'], + 'SolrQueryResponse::getRequestUrl' => ['string'], + 'SolrQueryResponse::getResponse' => ['SolrObject'], + 'SolrQueryResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], + 'SolrQueryResponse::success' => ['bool'], + 'SolrResponse::getDigestedResponse' => ['string'], + 'SolrResponse::getHttpStatus' => ['int'], + 'SolrResponse::getHttpStatusMessage' => ['string'], + 'SolrResponse::getRawRequest' => ['string'], + 'SolrResponse::getRawRequestHeaders' => ['string'], + 'SolrResponse::getRawResponse' => ['string'], + 'SolrResponse::getRawResponseHeaders' => ['string'], + 'SolrResponse::getRequestUrl' => ['string'], + 'SolrResponse::getResponse' => ['SolrObject'], + 'SolrResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], + 'SolrResponse::success' => ['bool'], + 'SolrServerException::__clone' => ['void'], + 'SolrServerException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'SolrServerException::__toString' => ['string'], + 'SolrServerException::__wakeup' => ['void'], + 'SolrServerException::getCode' => ['int'], + 'SolrServerException::getFile' => ['string'], + 'SolrServerException::getInternalInfo' => ['array'], + 'SolrServerException::getLine' => ['int'], + 'SolrServerException::getMessage' => ['string'], + 'SolrServerException::getPrevious' => ['Exception|Throwable'], + 'SolrServerException::getTrace' => ['list\',args?:array}>'], + 'SolrServerException::getTraceAsString' => ['string'], + 'SolrUpdateResponse::__construct' => ['void'], + 'SolrUpdateResponse::__destruct' => ['void'], + 'SolrUpdateResponse::getDigestedResponse' => ['string'], + 'SolrUpdateResponse::getHttpStatus' => ['int'], + 'SolrUpdateResponse::getHttpStatusMessage' => ['string'], + 'SolrUpdateResponse::getRawRequest' => ['string'], + 'SolrUpdateResponse::getRawRequestHeaders' => ['string'], + 'SolrUpdateResponse::getRawResponse' => ['string'], + 'SolrUpdateResponse::getRawResponseHeaders' => ['string'], + 'SolrUpdateResponse::getRequestUrl' => ['string'], + 'SolrUpdateResponse::getResponse' => ['SolrObject'], + 'SolrUpdateResponse::setParseMode' => ['bool', 'parser_mode='=>'int'], + 'SolrUpdateResponse::success' => ['bool'], + 'SolrUtils::digestXmlResponse' => ['SolrObject', 'xmlresponse'=>'string', 'parse_mode='=>'int'], + 'SolrUtils::escapeQueryChars' => ['string|false', 'string'=>'string'], + 'SolrUtils::getSolrVersion' => ['string'], + 'SolrUtils::queryPhrase' => ['string', 'string'=>'string'], + 'SphinxClient::__construct' => ['void'], + 'SphinxClient::addQuery' => ['int', 'query'=>'string', 'index='=>'string', 'comment='=>'string'], + 'SphinxClient::buildExcerpts' => ['array', 'docs'=>'array', 'index'=>'string', 'words'=>'string', 'opts='=>'array'], + 'SphinxClient::buildKeywords' => ['array', 'query'=>'string', 'index'=>'string', 'hits'=>'bool'], + 'SphinxClient::close' => ['bool'], + 'SphinxClient::escapeString' => ['string', 'string'=>'string'], + 'SphinxClient::getLastError' => ['string'], + 'SphinxClient::getLastWarning' => ['string'], + 'SphinxClient::open' => ['bool'], + 'SphinxClient::query' => ['array', 'query'=>'string', 'index='=>'string', 'comment='=>'string'], + 'SphinxClient::resetFilters' => ['void'], + 'SphinxClient::resetGroupBy' => ['void'], + 'SphinxClient::runQueries' => ['array'], + 'SphinxClient::setArrayResult' => ['bool', 'array_result'=>'bool'], + 'SphinxClient::setConnectTimeout' => ['bool', 'timeout'=>'float'], + 'SphinxClient::setFieldWeights' => ['bool', 'weights'=>'array'], + 'SphinxClient::setFilter' => ['bool', 'attribute'=>'string', 'values'=>'array', 'exclude='=>'bool'], + 'SphinxClient::setFilterFloatRange' => ['bool', 'attribute'=>'string', 'min'=>'float', 'max'=>'float', 'exclude='=>'bool'], + 'SphinxClient::setFilterRange' => ['bool', 'attribute'=>'string', 'min'=>'int', 'max'=>'int', 'exclude='=>'bool'], + 'SphinxClient::setGeoAnchor' => ['bool', 'attrlat'=>'string', 'attrlong'=>'string', 'latitude'=>'float', 'longitude'=>'float'], + 'SphinxClient::setGroupBy' => ['bool', 'attribute'=>'string', 'func'=>'int', 'groupsort='=>'string'], + 'SphinxClient::setGroupDistinct' => ['bool', 'attribute'=>'string'], + 'SphinxClient::setIDRange' => ['bool', 'min'=>'int', 'max'=>'int'], + 'SphinxClient::setIndexWeights' => ['bool', 'weights'=>'array'], + 'SphinxClient::setLimits' => ['bool', 'offset'=>'int', 'limit'=>'int', 'max_matches='=>'int', 'cutoff='=>'int'], + 'SphinxClient::setMatchMode' => ['bool', 'mode'=>'int'], + 'SphinxClient::setMaxQueryTime' => ['bool', 'qtime'=>'int'], + 'SphinxClient::setOverride' => ['bool', 'attribute'=>'string', 'type'=>'int', 'values'=>'array'], + 'SphinxClient::setRankingMode' => ['bool', 'ranker'=>'int'], + 'SphinxClient::setRetries' => ['bool', 'count'=>'int', 'delay='=>'int'], + 'SphinxClient::setSelect' => ['bool', 'clause'=>'string'], + 'SphinxClient::setServer' => ['bool', 'server'=>'string', 'port'=>'int'], + 'SphinxClient::setSortMode' => ['bool', 'mode'=>'int', 'sortby='=>'string'], + 'SphinxClient::status' => ['array'], + 'SphinxClient::updateAttributes' => ['int', 'index'=>'string', 'attributes'=>'array', 'values'=>'array', 'mva='=>'bool'], + 'SplDoublyLinkedList::__construct' => ['void'], + 'SplDoublyLinkedList::add' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], + 'SplDoublyLinkedList::bottom' => ['mixed'], + 'SplDoublyLinkedList::count' => ['int'], + 'SplDoublyLinkedList::current' => ['mixed'], + 'SplDoublyLinkedList::getIteratorMode' => ['int'], + 'SplDoublyLinkedList::isEmpty' => ['bool'], + 'SplDoublyLinkedList::key' => ['int'], + 'SplDoublyLinkedList::next' => ['void'], + 'SplDoublyLinkedList::offsetExists' => ['bool', 'index'=>'mixed'], + 'SplDoublyLinkedList::offsetGet' => ['mixed', 'index'=>'mixed'], + 'SplDoublyLinkedList::offsetSet' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], + 'SplDoublyLinkedList::offsetUnset' => ['void', 'index'=>'mixed'], + 'SplDoublyLinkedList::pop' => ['mixed'], + 'SplDoublyLinkedList::prev' => ['void'], + 'SplDoublyLinkedList::push' => ['void', 'value'=>'mixed'], + 'SplDoublyLinkedList::rewind' => ['void'], + 'SplDoublyLinkedList::serialize' => ['string'], + 'SplDoublyLinkedList::setIteratorMode' => ['void', 'flags'=>'int'], + 'SplDoublyLinkedList::shift' => ['mixed'], + 'SplDoublyLinkedList::top' => ['mixed'], + 'SplDoublyLinkedList::unserialize' => ['void', 'serialized'=>'string'], + 'SplDoublyLinkedList::unshift' => ['void', 'value'=>'mixed'], + 'SplDoublyLinkedList::valid' => ['bool'], + 'SplEnum::__construct' => ['void', 'initial_value='=>'mixed', 'strict='=>'bool'], + 'SplEnum::getConstList' => ['array', 'include_default='=>'bool'], + 'SplFileInfo::__construct' => ['void', 'filename'=>'string'], + 'SplFileInfo::__toString' => ['string'], + 'SplFileInfo::__wakeup' => ['void'], + 'SplFileInfo::getATime' => ['int|false'], + 'SplFileInfo::getBasename' => ['string', 'suffix='=>'string'], + 'SplFileInfo::getCTime' => ['int|false'], + 'SplFileInfo::getExtension' => ['string'], + 'SplFileInfo::getFileInfo' => ['SplFileInfo', 'class='=>'string'], + 'SplFileInfo::getFilename' => ['string'], + 'SplFileInfo::getGroup' => ['int|false'], + 'SplFileInfo::getInode' => ['int|false'], + 'SplFileInfo::getLinkTarget' => ['string|false'], + 'SplFileInfo::getMTime' => ['int|false'], + 'SplFileInfo::getOwner' => ['int|false'], + 'SplFileInfo::getPath' => ['string'], + 'SplFileInfo::getPathInfo' => ['SplFileInfo|null', 'class='=>'string'], + 'SplFileInfo::getPathname' => ['string'], + 'SplFileInfo::getPerms' => ['int|false'], + 'SplFileInfo::getRealPath' => ['string|false'], + 'SplFileInfo::getSize' => ['int|false'], + 'SplFileInfo::getType' => ['string|false'], + 'SplFileInfo::isDir' => ['bool'], + 'SplFileInfo::isExecutable' => ['bool'], + 'SplFileInfo::isFile' => ['bool'], + 'SplFileInfo::isLink' => ['bool'], + 'SplFileInfo::isReadable' => ['bool'], + 'SplFileInfo::isWritable' => ['bool'], + 'SplFileInfo::openFile' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'resource'], + 'SplFileInfo::setFileClass' => ['void', 'class='=>'string'], + 'SplFileInfo::setInfoClass' => ['void', 'class='=>'string'], + 'SplFileObject::__construct' => ['void', 'filename'=>'string', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'?resource'], + 'SplFileObject::__toString' => ['string'], + 'SplFileObject::current' => ['string|array|false'], + 'SplFileObject::eof' => ['bool'], + 'SplFileObject::fflush' => ['bool'], + 'SplFileObject::fgetc' => ['string|false'], + 'SplFileObject::fgetcsv' => ['list|array{0: null}|false', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'SplFileObject::fgets' => ['string|false'], + 'SplFileObject::fgetss' => ['string|false', 'allowable_tags='=>'string'], + 'SplFileObject::flock' => ['bool', 'operation'=>'int', '&w_wouldBlock='=>'int'], + 'SplFileObject::fpassthru' => ['int'], + 'SplFileObject::fputcsv' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'SplFileObject::fread' => ['string|false', 'length'=>'int'], + 'SplFileObject::fscanf' => ['array|int', 'format'=>'string', '&...w_vars='=>'string|int|float'], + 'SplFileObject::fseek' => ['int', 'offset'=>'int', 'whence='=>'int'], + 'SplFileObject::fstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}'], + 'SplFileObject::ftell' => ['int|false'], + 'SplFileObject::ftruncate' => ['bool', 'size'=>'int'], + 'SplFileObject::fwrite' => ['int', 'data'=>'string', 'length='=>'int'], + 'SplFileObject::getATime' => ['int|false'], + 'SplFileObject::getBasename' => ['string', 'suffix='=>'string'], + 'SplFileObject::getCTime' => ['int|false'], + 'SplFileObject::getChildren' => ['null'], + 'SplFileObject::getCsvControl' => ['array'], + 'SplFileObject::getCurrentLine' => ['string|false'], + 'SplFileObject::getExtension' => ['string'], + 'SplFileObject::getFileInfo' => ['SplFileInfo', 'class='=>'string'], + 'SplFileObject::getFilename' => ['string'], + 'SplFileObject::getFlags' => ['int'], + 'SplFileObject::getGroup' => ['int|false'], + 'SplFileObject::getInode' => ['int|false'], + 'SplFileObject::getLinkTarget' => ['string|false'], + 'SplFileObject::getMaxLineLen' => ['int'], + 'SplFileObject::getMTime' => ['int|false'], + 'SplFileObject::getOwner' => ['int|false'], + 'SplFileObject::getPath' => ['string'], + 'SplFileObject::getPathInfo' => ['SplFileInfo|null', 'class='=>'string'], + 'SplFileObject::getPathname' => ['string'], + 'SplFileObject::getPerms' => ['int|false'], + 'SplFileObject::getRealPath' => ['false|string'], + 'SplFileObject::getSize' => ['int|false'], + 'SplFileObject::getType' => ['string|false'], + 'SplFileObject::hasChildren' => ['false'], + 'SplFileObject::isDir' => ['bool'], + 'SplFileObject::isExecutable' => ['bool'], + 'SplFileObject::isFile' => ['bool'], + 'SplFileObject::isLink' => ['bool'], + 'SplFileObject::isReadable' => ['bool'], + 'SplFileObject::isWritable' => ['bool'], + 'SplFileObject::key' => ['int'], + 'SplFileObject::next' => ['void'], + 'SplFileObject::openFile' => ['SplFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'resource'], + 'SplFileObject::rewind' => ['void'], + 'SplFileObject::seek' => ['void', 'line'=>'int'], + 'SplFileObject::setCsvControl' => ['void', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'SplFileObject::setFileClass' => ['void', 'class='=>'string'], + 'SplFileObject::setFlags' => ['void', 'flags'=>'int'], + 'SplFileObject::setInfoClass' => ['void', 'class='=>'string'], + 'SplFileObject::setMaxLineLen' => ['void', 'maxLength'=>'int'], + 'SplFileObject::valid' => ['bool'], + 'SplFixedArray::__construct' => ['void', 'size='=>'int'], + 'SplFixedArray::__wakeup' => ['void'], + 'SplFixedArray::count' => ['int'], + 'SplFixedArray::current' => ['mixed'], + 'SplFixedArray::fromArray' => ['SplFixedArray', 'data'=>'array', 'save_indexes='=>'bool'], + 'SplFixedArray::getSize' => ['int'], + 'SplFixedArray::key' => ['int'], + 'SplFixedArray::next' => ['void'], + 'SplFixedArray::offsetExists' => ['bool', 'index'=>'int'], + 'SplFixedArray::offsetGet' => ['mixed', 'index'=>'int'], + 'SplFixedArray::offsetSet' => ['void', 'index'=>'int', 'newval'=>'mixed'], + 'SplFixedArray::offsetUnset' => ['void', 'index'=>'int'], + 'SplFixedArray::rewind' => ['void'], + 'SplFixedArray::setSize' => ['bool', 'size'=>'int'], + 'SplFixedArray::toArray' => ['array'], + 'SplFixedArray::valid' => ['bool'], + 'SplHeap::__construct' => ['void'], + 'SplHeap::compare' => ['int', 'value1'=>'mixed', 'value2'=>'mixed'], + 'SplHeap::count' => ['int'], + 'SplHeap::current' => ['mixed'], + 'SplHeap::extract' => ['mixed'], + 'SplHeap::insert' => ['bool', 'value'=>'mixed'], + 'SplHeap::isCorrupted' => ['bool'], + 'SplHeap::isEmpty' => ['bool'], + 'SplHeap::key' => ['int'], + 'SplHeap::next' => ['void'], + 'SplHeap::recoverFromCorruption' => ['true'], + 'SplHeap::rewind' => ['void'], + 'SplHeap::top' => ['mixed'], + 'SplHeap::valid' => ['bool'], + 'SplMaxHeap::__construct' => ['void'], + 'SplMaxHeap::compare' => ['int', 'a'=>'mixed', 'b'=>'mixed'], + 'SplMinHeap::compare' => ['int', 'a'=>'mixed', 'b'=>'mixed'], + 'SplMinHeap::count' => ['int'], + 'SplMinHeap::current' => ['mixed'], + 'SplMinHeap::extract' => ['mixed'], + 'SplMinHeap::insert' => ['true', 'value'=>'mixed'], + 'SplMinHeap::isCorrupted' => ['bool'], + 'SplMinHeap::isEmpty' => ['bool'], + 'SplMinHeap::key' => ['int'], + 'SplMinHeap::next' => ['void'], + 'SplMinHeap::recoverFromCorruption' => ['true'], + 'SplMinHeap::rewind' => ['void'], + 'SplMinHeap::top' => ['mixed'], + 'SplMinHeap::valid' => ['bool'], + 'SplObjectStorage::__construct' => ['void'], + 'SplObjectStorage::addAll' => ['void', 'os'=>'splobjectstorage'], + 'SplObjectStorage::attach' => ['void', 'object'=>'object', 'inf='=>'mixed'], + 'SplObjectStorage::contains' => ['bool', 'object'=>'object'], + 'SplObjectStorage::count' => ['int'], + 'SplObjectStorage::current' => ['object'], + 'SplObjectStorage::detach' => ['void', 'object'=>'object'], + 'SplObjectStorage::getHash' => ['string', 'object'=>'object'], + 'SplObjectStorage::getInfo' => ['mixed'], + 'SplObjectStorage::key' => ['int'], + 'SplObjectStorage::next' => ['void'], + 'SplObjectStorage::offsetExists' => ['bool', 'object'=>'object'], + 'SplObjectStorage::offsetGet' => ['mixed', 'object'=>'object'], + 'SplObjectStorage::offsetSet' => ['object', 'object'=>'object', 'data='=>'mixed'], + 'SplObjectStorage::offsetUnset' => ['void', 'object'=>'object'], + 'SplObjectStorage::removeAll' => ['void', 'os'=>'splobjectstorage'], + 'SplObjectStorage::removeAllExcept' => ['void', 'os'=>'splobjectstorage'], + 'SplObjectStorage::rewind' => ['void'], + 'SplObjectStorage::serialize' => ['string'], + 'SplObjectStorage::setInfo' => ['void', 'inf'=>'mixed'], + 'SplObjectStorage::unserialize' => ['void', 'serialized'=>'string'], + 'SplObjectStorage::valid' => ['bool'], + 'SplObserver::update' => ['void', 'subject'=>'SplSubject'], + 'SplPriorityQueue::__construct' => ['void'], + 'SplPriorityQueue::compare' => ['int', 'a'=>'mixed', 'b'=>'mixed'], + 'SplPriorityQueue::count' => ['int'], + 'SplPriorityQueue::current' => ['mixed'], + 'SplPriorityQueue::extract' => ['mixed'], + 'SplPriorityQueue::getExtractFlags' => ['int'], + 'SplPriorityQueue::insert' => ['bool', 'value'=>'mixed', 'priority'=>'mixed'], + 'SplPriorityQueue::isEmpty' => ['bool'], + 'SplPriorityQueue::key' => ['int'], + 'SplPriorityQueue::next' => ['void'], + 'SplPriorityQueue::recoverFromCorruption' => ['void'], + 'SplPriorityQueue::rewind' => ['void'], + 'SplPriorityQueue::setExtractFlags' => ['int', 'flags'=>'int'], + 'SplPriorityQueue::top' => ['mixed'], + 'SplPriorityQueue::valid' => ['bool'], + 'SplQueue::dequeue' => ['mixed'], + 'SplQueue::enqueue' => ['void', 'value'=>'mixed'], + 'SplQueue::getIteratorMode' => ['int'], + 'SplQueue::isEmpty' => ['bool'], + 'SplQueue::key' => ['int'], + 'SplQueue::next' => ['void'], + 'SplQueue::offsetExists' => ['bool', 'index'=>'mixed'], + 'SplQueue::offsetGet' => ['mixed', 'index'=>'mixed'], + 'SplQueue::offsetSet' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], + 'SplQueue::offsetUnset' => ['void', 'index'=>'mixed'], + 'SplQueue::pop' => ['mixed'], + 'SplQueue::prev' => ['void'], + 'SplQueue::push' => ['void', 'value'=>'mixed'], + 'SplQueue::rewind' => ['void'], + 'SplQueue::serialize' => ['string'], + 'SplQueue::setIteratorMode' => ['int', 'mode'=>'int'], + 'SplQueue::shift' => ['mixed'], + 'SplQueue::top' => ['mixed'], + 'SplQueue::unserialize' => ['void', 'serialized'=>'string'], + 'SplQueue::unshift' => ['void', 'value'=>'mixed'], + 'SplQueue::valid' => ['bool'], + 'SplStack::__construct' => ['void'], + 'SplStack::add' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], + 'SplStack::bottom' => ['mixed'], + 'SplStack::count' => ['int'], + 'SplStack::current' => ['mixed'], + 'SplStack::getIteratorMode' => ['int'], + 'SplStack::isEmpty' => ['bool'], + 'SplStack::key' => ['int'], + 'SplStack::next' => ['void'], + 'SplStack::offsetExists' => ['bool', 'index'=>'mixed'], + 'SplStack::offsetGet' => ['mixed', 'index'=>'mixed'], + 'SplStack::offsetSet' => ['void', 'index'=>'mixed', 'newval'=>'mixed'], + 'SplStack::offsetUnset' => ['void', 'index'=>'mixed'], + 'SplStack::pop' => ['mixed'], + 'SplStack::prev' => ['void'], + 'SplStack::push' => ['void', 'value'=>'mixed'], + 'SplStack::rewind' => ['void'], + 'SplStack::serialize' => ['string'], + 'SplStack::setIteratorMode' => ['int', 'mode'=>'int'], + 'SplStack::shift' => ['mixed'], + 'SplStack::top' => ['mixed'], + 'SplStack::unserialize' => ['void', 'serialized'=>'string'], + 'SplStack::unshift' => ['void', 'value'=>'mixed'], + 'SplStack::valid' => ['bool'], + 'SplSubject::attach' => ['void', 'observer'=>'SplObserver'], + 'SplSubject::detach' => ['void', 'observer'=>'SplObserver'], + 'SplSubject::notify' => ['void'], + 'SplTempFileObject::__construct' => ['void', 'maxMemory='=>'int'], + 'SplTempFileObject::__toString' => ['string'], + 'SplTempFileObject::current' => ['string|array|false'], + 'SplTempFileObject::eof' => ['bool'], + 'SplTempFileObject::fflush' => ['bool'], + 'SplTempFileObject::fgetc' => ['string|false'], + 'SplTempFileObject::fgetcsv' => ['list|array{0: null}|false', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'SplTempFileObject::fgets' => ['string'], + 'SplTempFileObject::fgetss' => ['string', 'allowable_tags='=>'string'], + 'SplTempFileObject::flock' => ['bool', 'operation'=>'int', '&w_wouldBlock='=>'int'], + 'SplTempFileObject::fpassthru' => ['int'], + 'SplTempFileObject::fputcsv' => ['int|false', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'SplTempFileObject::fread' => ['string|false', 'length'=>'int'], + 'SplTempFileObject::fscanf' => ['array|int', 'format'=>'string', '&...w_vars='=>'string|int|float'], + 'SplTempFileObject::fseek' => ['int', 'offset'=>'int', 'whence='=>'int'], + 'SplTempFileObject::fstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}'], + 'SplTempFileObject::ftell' => ['int|false'], + 'SplTempFileObject::ftruncate' => ['bool', 'size'=>'int'], + 'SplTempFileObject::fwrite' => ['int', 'data'=>'string', 'length='=>'int'], + 'SplTempFileObject::getATime' => ['int|false'], + 'SplTempFileObject::getBasename' => ['string', 'suffix='=>'string'], + 'SplTempFileObject::getCTime' => ['int|false'], + 'SplTempFileObject::getChildren' => ['null'], + 'SplTempFileObject::getCsvControl' => ['array'], + 'SplTempFileObject::getCurrentLine' => ['string'], + 'SplTempFileObject::getExtension' => ['string'], + 'SplTempFileObject::getFileInfo' => ['SplFileInfo', 'class='=>'string'], + 'SplTempFileObject::getFilename' => ['string'], + 'SplTempFileObject::getFlags' => ['int'], + 'SplTempFileObject::getGroup' => ['int|false'], + 'SplTempFileObject::getInode' => ['int|false'], + 'SplTempFileObject::getLinkTarget' => ['string|false'], + 'SplTempFileObject::getMaxLineLen' => ['int'], + 'SplTempFileObject::getMTime' => ['int|false'], + 'SplTempFileObject::getOwner' => ['int|false'], + 'SplTempFileObject::getPath' => ['string'], + 'SplTempFileObject::getPathInfo' => ['SplFileInfo|null', 'class='=>'string'], + 'SplTempFileObject::getPathname' => ['string'], + 'SplTempFileObject::getPerms' => ['int|false'], + 'SplTempFileObject::getRealPath' => ['false|string'], + 'SplTempFileObject::getSize' => ['int|false'], + 'SplTempFileObject::getType' => ['string|false'], + 'SplTempFileObject::hasChildren' => ['false'], + 'SplTempFileObject::isDir' => ['bool'], + 'SplTempFileObject::isExecutable' => ['bool'], + 'SplTempFileObject::isFile' => ['bool'], + 'SplTempFileObject::isLink' => ['bool'], + 'SplTempFileObject::isReadable' => ['bool'], + 'SplTempFileObject::isWritable' => ['bool'], + 'SplTempFileObject::key' => ['int'], + 'SplTempFileObject::next' => ['void'], + 'SplTempFileObject::openFile' => ['SplTempFileObject', 'mode='=>'string', 'useIncludePath='=>'bool', 'context='=>'resource'], + 'SplTempFileObject::rewind' => ['void'], + 'SplTempFileObject::seek' => ['void', 'line'=>'int'], + 'SplTempFileObject::setCsvControl' => ['void', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'SplTempFileObject::setFileClass' => ['void', 'class='=>'string'], + 'SplTempFileObject::setFlags' => ['void', 'flags'=>'int'], + 'SplTempFileObject::setInfoClass' => ['void', 'class='=>'string'], + 'SplTempFileObject::setMaxLineLen' => ['void', 'maxLength'=>'int'], + 'SplTempFileObject::valid' => ['bool'], + 'SplType::__construct' => ['void', 'initial_value='=>'mixed', 'strict='=>'bool'], + 'Spoofchecker::__construct' => ['void'], + 'Spoofchecker::areConfusable' => ['bool', 'string1'=>'string', 'string2'=>'string', '&w_errorCode='=>'int'], + 'Spoofchecker::isSuspicious' => ['bool', 'string'=>'string', '&w_errorCode='=>'int'], + 'Spoofchecker::setAllowedLocales' => ['void', 'locales'=>'string'], + 'Spoofchecker::setChecks' => ['void', 'checks'=>'int'], + 'Spoofchecker::setRestrictionLevel' => ['void', 'level'=>'int'], + 'Stomp::__construct' => ['void', 'broker='=>'string', 'username='=>'string', 'password='=>'string', 'headers='=>'?array'], + 'Stomp::abort' => ['bool', 'transaction_id'=>'string', 'headers='=>'?array'], + 'Stomp::ack' => ['bool', 'msg'=>'', 'headers='=>'?array'], + 'Stomp::begin' => ['bool', 'transaction_id'=>'string', 'headers='=>'?array'], + 'Stomp::commit' => ['bool', 'transaction_id'=>'string', 'headers='=>'?array'], + 'Stomp::error' => ['string'], + 'Stomp::getReadTimeout' => ['array'], + 'Stomp::getSessionId' => ['string'], + 'Stomp::hasFrame' => ['bool'], + 'Stomp::readFrame' => ['array', 'class_name='=>'string'], + 'Stomp::send' => ['bool', 'destination'=>'string', 'msg'=>'', 'headers='=>'?array'], + 'Stomp::setReadTimeout' => ['void', 'seconds'=>'int', 'microseconds='=>'?int'], + 'Stomp::subscribe' => ['bool', 'destination'=>'string', 'headers='=>'?array'], + 'Stomp::unsubscribe' => ['bool', 'destination'=>'string', 'headers='=>'?array'], + 'StompException::getDetails' => ['string'], + 'StompFrame::__construct' => ['void', 'command='=>'string', 'headers='=>'?array', 'body='=>'string'], + 'Swish::__construct' => ['void', 'index_names'=>'string'], + 'Swish::getMetaList' => ['array', 'index_name'=>'string'], + 'Swish::getPropertyList' => ['array', 'index_name'=>'string'], + 'Swish::prepare' => ['object', 'query='=>'string'], + 'Swish::query' => ['object', 'query'=>'string'], + 'SwishResult::getMetaList' => ['array'], + 'SwishResult::stem' => ['array', 'word'=>'string'], + 'SwishResults::getParsedWords' => ['array', 'index_name'=>'string'], + 'SwishResults::getRemovedStopwords' => ['array', 'index_name'=>'string'], + 'SwishResults::nextResult' => ['object'], + 'SwishResults::seekResult' => ['int', 'position'=>'int'], + 'SwishSearch::execute' => ['object', 'query='=>'string'], + 'SwishSearch::resetLimit' => [''], + 'SwishSearch::setLimit' => ['', 'property'=>'string', 'low'=>'string', 'high'=>'string'], + 'SwishSearch::setPhraseDelimiter' => ['', 'delimiter'=>'string'], + 'SwishSearch::setSort' => ['', 'sort'=>'string'], + 'SwishSearch::setStructure' => ['', 'structure'=>'int'], + 'SyncEvent::__construct' => ['void', 'name='=>'string', 'manual='=>'bool'], + 'SyncEvent::fire' => ['bool'], + 'SyncEvent::reset' => ['bool'], + 'SyncEvent::wait' => ['bool', 'wait='=>'int'], + 'SyncMutex::__construct' => ['void', 'name='=>'string'], + 'SyncMutex::lock' => ['bool', 'wait='=>'int'], + 'SyncMutex::unlock' => ['bool', 'all='=>'bool'], + 'SyncReaderWriter::__construct' => ['void', 'name='=>'string', 'autounlock='=>'bool'], + 'SyncReaderWriter::readlock' => ['bool', 'wait='=>'int'], + 'SyncReaderWriter::readunlock' => ['bool'], + 'SyncReaderWriter::writelock' => ['bool', 'wait='=>'int'], + 'SyncReaderWriter::writeunlock' => ['bool'], + 'SyncSemaphore::__construct' => ['void', 'name='=>'string', 'initialval='=>'int', 'autounlock='=>'bool'], + 'SyncSemaphore::lock' => ['bool', 'wait='=>'int'], + 'SyncSemaphore::unlock' => ['bool', '&w_prevcount='=>'int'], + 'SyncSharedMemory::__construct' => ['void', 'name'=>'string', 'size'=>'int'], + 'SyncSharedMemory::first' => ['bool'], + 'SyncSharedMemory::read' => ['string', 'start='=>'int', 'length='=>'int'], + 'SyncSharedMemory::size' => ['int'], + 'SyncSharedMemory::write' => ['int', 'string='=>'string', 'start='=>'int'], + 'Thread::__construct' => ['void'], + 'Thread::addRef' => ['void'], + 'Thread::chunk' => ['array', 'size'=>'int', 'preserve'=>'bool'], + 'Thread::count' => ['int'], + 'Thread::delRef' => ['void'], + 'Thread::detach' => ['void'], + 'Thread::extend' => ['bool', 'class'=>'string'], + 'Thread::getCreatorId' => ['int'], + 'Thread::getCurrentThread' => ['Thread'], + 'Thread::getCurrentThreadId' => ['int'], + 'Thread::getRefCount' => ['int'], + 'Thread::getTerminationInfo' => ['array'], + 'Thread::getThreadId' => ['int'], + 'Thread::globally' => ['mixed'], + 'Thread::isGarbage' => ['bool'], + 'Thread::isJoined' => ['bool'], + 'Thread::isRunning' => ['bool'], + 'Thread::isStarted' => ['bool'], + 'Thread::isTerminated' => ['bool'], + 'Thread::isWaiting' => ['bool'], + 'Thread::join' => ['bool'], + 'Thread::kill' => ['void'], + 'Thread::lock' => ['bool'], + 'Thread::merge' => ['bool', 'from'=>'', 'overwrite='=>'mixed'], + 'Thread::notify' => ['bool'], + 'Thread::notifyOne' => ['bool'], + 'Thread::offsetExists' => ['bool', 'offset'=>'mixed'], + 'Thread::offsetGet' => ['mixed', 'offset'=>'mixed'], + 'Thread::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], + 'Thread::offsetUnset' => ['void', 'offset'=>'mixed'], + 'Thread::pop' => ['bool'], + 'Thread::run' => ['void'], + 'Thread::setGarbage' => ['void'], + 'Thread::shift' => ['bool'], + 'Thread::start' => ['bool', 'options='=>'int'], + 'Thread::synchronized' => ['mixed', 'block'=>'Closure', '_='=>'mixed'], + 'Thread::unlock' => ['bool'], + 'Thread::wait' => ['bool', 'timeout='=>'int'], + 'Threaded::__construct' => ['void'], + 'Threaded::addRef' => ['void'], + 'Threaded::chunk' => ['array', 'size'=>'int', 'preserve'=>'bool'], + 'Threaded::count' => ['int'], + 'Threaded::delRef' => ['void'], + 'Threaded::extend' => ['bool', 'class'=>'string'], + 'Threaded::from' => ['Threaded', 'run'=>'Closure', 'construct='=>'Closure', 'args='=>'array'], + 'Threaded::getRefCount' => ['int'], + 'Threaded::getTerminationInfo' => ['array'], + 'Threaded::isGarbage' => ['bool'], + 'Threaded::isRunning' => ['bool'], + 'Threaded::isTerminated' => ['bool'], + 'Threaded::isWaiting' => ['bool'], + 'Threaded::lock' => ['bool'], + 'Threaded::merge' => ['bool', 'from'=>'mixed', 'overwrite='=>'bool'], + 'Threaded::notify' => ['bool'], + 'Threaded::notifyOne' => ['bool'], + 'Threaded::offsetExists' => ['bool', 'offset'=>'mixed'], + 'Threaded::offsetGet' => ['mixed', 'offset'=>'mixed'], + 'Threaded::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], + 'Threaded::offsetUnset' => ['void', 'offset'=>'mixed'], + 'Threaded::pop' => ['bool'], + 'Threaded::run' => ['void'], + 'Threaded::setGarbage' => ['void'], + 'Threaded::shift' => ['mixed'], + 'Threaded::synchronized' => ['mixed', 'block'=>'Closure', '...args='=>'mixed'], + 'Threaded::unlock' => ['bool'], + 'Threaded::wait' => ['bool', 'timeout='=>'int'], + 'Throwable::__toString' => ['string'], + 'Throwable::getCode' => ['int|string'], + 'Throwable::getFile' => ['string'], + 'Throwable::getLine' => ['int'], + 'Throwable::getMessage' => ['string'], + 'Throwable::getPrevious' => ['?Throwable'], + 'Throwable::getTrace' => ['list\',args?:array}>'], + 'Throwable::getTraceAsString' => ['string'], + 'TokyoTyrant::__construct' => ['void', 'host='=>'string', 'port='=>'int', 'options='=>'array'], + 'TokyoTyrant::add' => ['int|float', 'key'=>'string', 'increment'=>'float', 'type='=>'int'], + 'TokyoTyrant::connect' => ['TokyoTyrant', 'host'=>'string', 'port='=>'int', 'options='=>'array'], + 'TokyoTyrant::connectUri' => ['TokyoTyrant', 'uri'=>'string'], + 'TokyoTyrant::copy' => ['TokyoTyrant', 'path'=>'string'], + 'TokyoTyrant::ext' => ['string', 'name'=>'string', 'options'=>'int', 'key'=>'string', 'value'=>'string'], + 'TokyoTyrant::fwmKeys' => ['array', 'prefix'=>'string', 'max_recs'=>'int'], + 'TokyoTyrant::get' => ['array', 'keys'=>'mixed'], + 'TokyoTyrant::getIterator' => ['TokyoTyrantIterator'], + 'TokyoTyrant::num' => ['int'], + 'TokyoTyrant::out' => ['string', 'keys'=>'mixed'], + 'TokyoTyrant::put' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], + 'TokyoTyrant::putCat' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], + 'TokyoTyrant::putKeep' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], + 'TokyoTyrant::putNr' => ['TokyoTyrant', 'keys'=>'mixed', 'value='=>'string'], + 'TokyoTyrant::putShl' => ['mixed', 'key'=>'string', 'value'=>'string', 'width'=>'int'], + 'TokyoTyrant::restore' => ['mixed', 'log_dir'=>'string', 'timestamp'=>'int', 'check_consistency='=>'bool'], + 'TokyoTyrant::setMaster' => ['mixed', 'host'=>'string', 'port'=>'int', 'timestamp'=>'int', 'check_consistency='=>'bool'], + 'TokyoTyrant::size' => ['int', 'key'=>'string'], + 'TokyoTyrant::stat' => ['array'], + 'TokyoTyrant::sync' => ['mixed'], + 'TokyoTyrant::tune' => ['TokyoTyrant', 'timeout'=>'float', 'options='=>'int'], + 'TokyoTyrant::vanish' => ['mixed'], + 'TokyoTyrantIterator::__construct' => ['void', 'object'=>'mixed'], + 'TokyoTyrantIterator::current' => ['mixed'], + 'TokyoTyrantIterator::key' => ['mixed'], + 'TokyoTyrantIterator::next' => ['mixed'], + 'TokyoTyrantIterator::rewind' => ['void'], + 'TokyoTyrantIterator::valid' => ['bool'], + 'TokyoTyrantQuery::__construct' => ['void', 'table'=>'TokyoTyrantTable'], + 'TokyoTyrantQuery::addCond' => ['mixed', 'name'=>'string', 'op'=>'int', 'expr'=>'string'], + 'TokyoTyrantQuery::count' => ['int'], + 'TokyoTyrantQuery::current' => ['array'], + 'TokyoTyrantQuery::hint' => ['string'], + 'TokyoTyrantQuery::key' => ['string'], + 'TokyoTyrantQuery::metaSearch' => ['array', 'queries'=>'array', 'type'=>'int'], + 'TokyoTyrantQuery::next' => ['array'], + 'TokyoTyrantQuery::out' => ['TokyoTyrantQuery'], + 'TokyoTyrantQuery::rewind' => ['bool'], + 'TokyoTyrantQuery::search' => ['array'], + 'TokyoTyrantQuery::setLimit' => ['mixed', 'max='=>'int', 'skip='=>'int'], + 'TokyoTyrantQuery::setOrder' => ['mixed', 'name'=>'string', 'type'=>'int'], + 'TokyoTyrantQuery::valid' => ['bool'], + 'TokyoTyrantTable::add' => ['void', 'key'=>'string', 'increment'=>'mixed', 'type='=>'string'], + 'TokyoTyrantTable::genUid' => ['int'], + 'TokyoTyrantTable::get' => ['array', 'keys'=>'mixed'], + 'TokyoTyrantTable::getIterator' => ['TokyoTyrantIterator'], + 'TokyoTyrantTable::getQuery' => ['TokyoTyrantQuery'], + 'TokyoTyrantTable::out' => ['void', 'keys'=>'mixed'], + 'TokyoTyrantTable::put' => ['int', 'key'=>'string', 'columns'=>'array'], + 'TokyoTyrantTable::putCat' => ['void', 'key'=>'string', 'columns'=>'array'], + 'TokyoTyrantTable::putKeep' => ['void', 'key'=>'string', 'columns'=>'array'], + 'TokyoTyrantTable::putNr' => ['void', 'keys'=>'mixed', 'value='=>'string'], + 'TokyoTyrantTable::putShl' => ['void', 'key'=>'string', 'value'=>'string', 'width'=>'int'], + 'TokyoTyrantTable::setIndex' => ['mixed', 'column'=>'string', 'type'=>'int'], + 'Transliterator::create' => ['?Transliterator', 'id'=>'string', 'direction='=>'int'], + 'Transliterator::createFromRules' => ['?Transliterator', 'rules'=>'string', 'direction='=>'int'], + 'Transliterator::createInverse' => ['?Transliterator'], + 'Transliterator::getErrorCode' => ['int'], + 'Transliterator::getErrorMessage' => ['string'], + 'Transliterator::listIDs' => ['array'], + 'Transliterator::transliterate' => ['string|false', 'subject'=>'string', 'start='=>'int', 'end='=>'int'], + 'TypeError::__clone' => ['void'], + 'TypeError::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'TypeError::__toString' => ['string'], + 'TypeError::getCode' => ['int'], + 'TypeError::getFile' => ['string'], + 'TypeError::getLine' => ['int'], + 'TypeError::getMessage' => ['string'], + 'TypeError::getPrevious' => ['?Throwable'], + 'TypeError::getTrace' => ['list\',args?:array}>'], + 'TypeError::getTraceAsString' => ['string'], + 'UConverter::__construct' => ['void', 'destination_encoding='=>'?string', 'source_encoding='=>'?string'], + 'UConverter::convert' => ['string', 'string'=>'string', 'reverse='=>'bool'], + 'UConverter::fromUCallback' => ['mixed', 'reason'=>'int', 'source'=>'string', 'codePoint'=>'string', '&w_error'=>'int'], + 'UConverter::getAliases' => ['array|false|null', 'name'=>'string'], + 'UConverter::getAvailable' => ['array'], + 'UConverter::getDestinationEncoding' => ['string|false|null'], + 'UConverter::getDestinationType' => ['int|false|null'], + 'UConverter::getErrorCode' => ['int'], + 'UConverter::getErrorMessage' => ['?string'], + 'UConverter::getSourceEncoding' => ['string|false|null'], + 'UConverter::getSourceType' => ['int|false|null'], + 'UConverter::getStandards' => ['?array'], + 'UConverter::getSubstChars' => ['string|false|null'], + 'UConverter::reasonText' => ['string', 'reason='=>'int'], + 'UConverter::setDestinationEncoding' => ['bool', 'encoding'=>'string'], + 'UConverter::setSourceEncoding' => ['bool', 'encoding'=>'string'], + 'UConverter::setSubstChars' => ['bool', 'chars'=>'string'], + 'UConverter::toUCallback' => ['string|int|array|null', 'reason'=>'int', 'source'=>'string', 'codeUnits'=>'string', '&w_error'=>'int'], + 'UConverter::transcode' => ['string', 'string'=>'string', 'toEncoding'=>'string', 'fromEncoding'=>'string', 'options='=>'?array'], + 'UnderflowException::__clone' => ['void'], + 'UnderflowException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'UnderflowException::__toString' => ['string'], + 'UnderflowException::getCode' => ['int'], + 'UnderflowException::getFile' => ['string'], + 'UnderflowException::getLine' => ['int'], + 'UnderflowException::getMessage' => ['string'], + 'UnderflowException::getPrevious' => ['?Throwable'], + 'UnderflowException::getTrace' => ['list\',args?:array}>'], + 'UnderflowException::getTraceAsString' => ['string'], + 'UnexpectedValueException::__clone' => ['void'], + 'UnexpectedValueException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Throwable'], + 'UnexpectedValueException::__toString' => ['string'], + 'UnexpectedValueException::getCode' => ['int'], + 'UnexpectedValueException::getFile' => ['string'], + 'UnexpectedValueException::getLine' => ['int'], + 'UnexpectedValueException::getMessage' => ['string'], + 'UnexpectedValueException::getPrevious' => ['?Throwable'], + 'UnexpectedValueException::getTrace' => ['list\',args?:array}>'], + 'UnexpectedValueException::getTraceAsString' => ['string'], + 'V8Js::__construct' => ['void', 'object_name='=>'string', 'variables='=>'array', 'extensions='=>'array', 'report_uncaught_exceptions='=>'bool', 'snapshot_blob='=>'string'], + 'V8Js::clearPendingException' => [''], + 'V8Js::compileString' => ['resource', 'script'=>'', 'identifier='=>'string'], + 'V8Js::createSnapshot' => ['false|string', 'embed_source'=>'string'], + 'V8Js::executeScript' => ['', 'script'=>'resource', 'flags='=>'int', 'time_limit='=>'int', 'memory_limit='=>'int'], + 'V8Js::executeString' => ['mixed', 'script'=>'string', 'identifier='=>'string', 'flags='=>'int'], + 'V8Js::getExtensions' => ['string[]'], + 'V8Js::getPendingException' => ['?V8JsException'], + 'V8Js::registerExtension' => ['bool', 'extension_name'=>'string', 'script'=>'string', 'dependencies='=>'array', 'auto_enable='=>'bool'], + 'V8Js::setAverageObjectSize' => ['', 'average_object_size'=>'int'], + 'V8Js::setMemoryLimit' => ['', 'limit'=>'int'], + 'V8Js::setModuleLoader' => ['', 'loader'=>'callable'], + 'V8Js::setModuleNormaliser' => ['', 'normaliser'=>'callable'], + 'V8Js::setTimeLimit' => ['', 'limit'=>'int'], + 'V8JsException::getJsFileName' => ['string'], + 'V8JsException::getJsLineNumber' => ['int'], + 'V8JsException::getJsSourceLine' => ['int'], + 'V8JsException::getJsTrace' => ['string'], + 'V8JsScriptException::__clone' => ['void'], + 'V8JsScriptException::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'V8JsScriptException::__toString' => ['string'], + 'V8JsScriptException::__wakeup' => ['void'], + 'V8JsScriptException::getCode' => ['int'], + 'V8JsScriptException::getFile' => ['string'], + 'V8JsScriptException::getJsEndColumn' => ['int'], + 'V8JsScriptException::getJsFileName' => ['string'], + 'V8JsScriptException::getJsLineNumber' => ['int'], + 'V8JsScriptException::getJsSourceLine' => ['string'], + 'V8JsScriptException::getJsStartColumn' => ['int'], + 'V8JsScriptException::getJsTrace' => ['string'], + 'V8JsScriptException::getLine' => ['int'], + 'V8JsScriptException::getMessage' => ['string'], + 'V8JsScriptException::getPrevious' => ['Exception|Throwable'], + 'V8JsScriptException::getTrace' => ['list\',args?:array}>'], + 'V8JsScriptException::getTraceAsString' => ['string'], + 'VARIANT::__construct' => ['void', 'value='=>'mixed', 'type='=>'int', 'codepage='=>'int'], + 'VarnishAdmin::__construct' => ['void', 'args='=>'array'], + 'VarnishAdmin::auth' => ['bool'], + 'VarnishAdmin::ban' => ['int', 'vcl_regex'=>'string'], + 'VarnishAdmin::banUrl' => ['int', 'vcl_regex'=>'string'], + 'VarnishAdmin::clearPanic' => ['int'], + 'VarnishAdmin::connect' => ['bool'], + 'VarnishAdmin::disconnect' => ['bool'], + 'VarnishAdmin::getPanic' => ['string'], + 'VarnishAdmin::getParams' => ['array'], + 'VarnishAdmin::isRunning' => ['bool'], + 'VarnishAdmin::setCompat' => ['void', 'compat'=>'int'], + 'VarnishAdmin::setHost' => ['void', 'host'=>'string'], + 'VarnishAdmin::setIdent' => ['void', 'ident'=>'string'], + 'VarnishAdmin::setParam' => ['int', 'name'=>'string', 'value'=>'string|int'], + 'VarnishAdmin::setPort' => ['void', 'port'=>'int'], + 'VarnishAdmin::setSecret' => ['void', 'secret'=>'string'], + 'VarnishAdmin::setTimeout' => ['void', 'timeout'=>'int'], + 'VarnishAdmin::start' => ['int'], + 'VarnishAdmin::stop' => ['int'], + 'VarnishLog::__construct' => ['void', 'args='=>'array'], + 'VarnishLog::getLine' => ['array'], + 'VarnishLog::getTagName' => ['string', 'index'=>'int'], + 'VarnishStat::__construct' => ['void', 'args='=>'array'], + 'VarnishStat::getSnapshot' => ['array'], + 'Vtiful\Kernel\Chart::__construct' => ['void', 'handle'=>'resource', 'type'=>'int'], + 'Vtiful\Kernel\Chart::axisNameX' => ['Vtiful\Kernel\Chart', 'name'=>'string'], + 'Vtiful\Kernel\Chart::axisNameY' => ['Vtiful\Kernel\Chart', 'name'=>'string'], + 'Vtiful\Kernel\Chart::legendSetPosition' => ['Vtiful\Kernel\Chart', 'type'=>'int'], + 'Vtiful\Kernel\Chart::series' => ['Vtiful\Kernel\Chart', 'value'=>'string', 'categories='=>'string'], + 'Vtiful\Kernel\Chart::seriesName' => ['Vtiful\Kernel\Chart', 'value'=>'string'], + 'Vtiful\Kernel\Chart::style' => ['Vtiful\Kernel\Chart', 'style'=>'int'], + 'Vtiful\Kernel\Chart::title' => ['Vtiful\Kernel\Chart', 'title'=>'string'], + 'Vtiful\Kernel\Chart::toResource' => ['resource'], + 'Vtiful\Kernel\Excel::__construct' => ['void', 'config'=>'array'], + 'Vtiful\Kernel\Excel::activateSheet' => ['bool', 'sheet_name'=>'string'], + 'Vtiful\Kernel\Excel::addSheet' => ['Vtiful\Kernel\Excel', 'sheet_name='=>'?string'], + 'Vtiful\Kernel\Excel::autoFilter' => ['Vtiful\Kernel\Excel', 'range'=>'string'], + 'Vtiful\Kernel\Excel::checkoutSheet' => ['Vtiful\Kernel\Excel', 'sheet_name'=>'string'], + 'Vtiful\Kernel\Excel::close' => ['Vtiful\Kernel\Excel'], + 'Vtiful\Kernel\Excel::columnIndexFromString' => ['int', 'index'=>'string'], + 'Vtiful\Kernel\Excel::constMemory' => ['Vtiful\Kernel\Excel', 'file_name'=>'string', 'sheet_name='=>'?string'], + 'Vtiful\Kernel\Excel::data' => ['Vtiful\Kernel\Excel', 'data'=>'array'], + 'Vtiful\Kernel\Excel::defaultFormat' => ['Vtiful\Kernel\Excel', 'format_handle'=>'resource'], + 'Vtiful\Kernel\Excel::existSheet' => ['bool', 'sheet_name'=>'string'], + 'Vtiful\Kernel\Excel::fileName' => ['Vtiful\Kernel\Excel', 'file_name'=>'string', 'sheet_name='=>'?string'], + 'Vtiful\Kernel\Excel::freezePanes' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int'], + 'Vtiful\Kernel\Excel::getHandle' => ['resource'], + 'Vtiful\Kernel\Excel::getSheetData' => ['array|false'], + 'Vtiful\Kernel\Excel::gridline' => ['Vtiful\Kernel\Excel', 'option='=>'int'], + 'Vtiful\Kernel\Excel::header' => ['Vtiful\Kernel\Excel', 'header'=>'array', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::insertChart' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'chart_resource'=>'resource'], + 'Vtiful\Kernel\Excel::insertComment' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'comment'=>'string'], + 'Vtiful\Kernel\Excel::insertDate' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'timestamp'=>'int', 'format='=>'?string', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::insertFormula' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'formula'=>'string', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::insertImage' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'image'=>'string', 'width='=>'?float', 'height='=>'?float'], + 'Vtiful\Kernel\Excel::insertText' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'data'=>'int|string|double', 'format='=>'?string', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::insertUrl' => ['Vtiful\Kernel\Excel', 'row'=>'int', 'column'=>'int', 'url'=>'string', 'text='=>'?string', 'tool_tip='=>'?string', 'format='=>'?resource'], + 'Vtiful\Kernel\Excel::mergeCells' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'data'=>'string', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::nextCellCallback' => ['void', 'fci'=>'callable(int,int,mixed)', 'sheet_name='=>'?string'], + 'Vtiful\Kernel\Excel::nextRow' => ['array|false', 'zv_type_t='=>'?array'], + 'Vtiful\Kernel\Excel::openFile' => ['Vtiful\Kernel\Excel', 'zs_file_name'=>'string'], + 'Vtiful\Kernel\Excel::openSheet' => ['Vtiful\Kernel\Excel', 'zs_sheet_name='=>'?string', 'zl_flag='=>'?int'], + 'Vtiful\Kernel\Excel::output' => ['string'], + 'Vtiful\Kernel\Excel::protection' => ['Vtiful\Kernel\Excel', 'password='=>'?string'], + 'Vtiful\Kernel\Excel::putCSV' => ['bool', 'fp'=>'resource', 'delimiter_str='=>'?string', 'enclosure_str='=>'?string', 'escape_str='=>'?string'], + 'Vtiful\Kernel\Excel::putCSVCallback' => ['bool', 'callback'=>'callable(array):array', 'fp'=>'resource', 'delimiter_str='=>'?string', 'enclosure_str='=>'?string', 'escape_str='=>'?string'], + 'Vtiful\Kernel\Excel::setColumn' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'width'=>'float', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::setCurrentSheetHide' => ['Vtiful\Kernel\Excel'], + 'Vtiful\Kernel\Excel::setCurrentSheetIsFirst' => ['Vtiful\Kernel\Excel'], + 'Vtiful\Kernel\Excel::setGlobalType' => ['Vtiful\Kernel\Excel', 'zv_type_t'=>'int'], + 'Vtiful\Kernel\Excel::setLandscape' => ['Vtiful\Kernel\Excel'], + 'Vtiful\Kernel\Excel::setMargins' => ['Vtiful\Kernel\Excel', 'left='=>'?float', 'right='=>'?float', 'top='=>'?float', 'bottom='=>'?float'], + 'Vtiful\Kernel\Excel::setPaper' => ['Vtiful\Kernel\Excel', 'paper'=>'int'], + 'Vtiful\Kernel\Excel::setPortrait' => ['Vtiful\Kernel\Excel'], + 'Vtiful\Kernel\Excel::setRow' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'height'=>'float', 'format_handle='=>'?resource'], + 'Vtiful\Kernel\Excel::setSkipRows' => ['Vtiful\Kernel\Excel', 'zv_skip_t'=>'int'], + 'Vtiful\Kernel\Excel::setType' => ['Vtiful\Kernel\Excel', 'zv_type_t'=>'array'], + 'Vtiful\Kernel\Excel::sheetList' => ['array'], + 'Vtiful\Kernel\Excel::showComment' => ['Vtiful\Kernel\Excel'], + 'Vtiful\Kernel\Excel::stringFromColumnIndex' => ['string', 'index'=>'int'], + 'Vtiful\Kernel\Excel::timestampFromDateDouble' => ['int', 'index'=>'?float'], + 'Vtiful\Kernel\Excel::validation' => ['Vtiful\Kernel\Excel', 'range'=>'string', 'validation_resource'=>'resource'], + 'Vtiful\Kernel\Excel::zoom' => ['Vtiful\Kernel\Excel', 'scale'=>'int'], + 'Vtiful\Kernel\Format::__construct' => ['void', 'handle'=>'resource'], + 'Vtiful\Kernel\Format::align' => ['Vtiful\Kernel\Format', '...style'=>'int'], + 'Vtiful\Kernel\Format::background' => ['Vtiful\Kernel\Format', 'color'=>'int', 'pattern='=>'int'], + 'Vtiful\Kernel\Format::bold' => ['Vtiful\Kernel\Format'], + 'Vtiful\Kernel\Format::border' => ['Vtiful\Kernel\Format', 'style'=>'int'], + 'Vtiful\Kernel\Format::font' => ['Vtiful\Kernel\Format', 'font'=>'string'], + 'Vtiful\Kernel\Format::fontColor' => ['Vtiful\Kernel\Format', 'color'=>'int'], + 'Vtiful\Kernel\Format::fontSize' => ['Vtiful\Kernel\Format', 'size'=>'float'], + 'Vtiful\Kernel\Format::italic' => ['Vtiful\Kernel\Format'], + 'Vtiful\Kernel\Format::number' => ['Vtiful\Kernel\Format', 'format'=>'string'], + 'Vtiful\Kernel\Format::strikeout' => ['Vtiful\Kernel\Format'], + 'Vtiful\Kernel\Format::toResource' => ['resource'], + 'Vtiful\Kernel\Format::underline' => ['Vtiful\Kernel\Format', 'style'=>'int'], + 'Vtiful\Kernel\Format::unlocked' => ['Vtiful\Kernel\Format'], + 'Vtiful\Kernel\Format::wrap' => ['Vtiful\Kernel\Format'], + 'Vtiful\Kernel\Validation::__construct' => ['void'], + 'Vtiful\Kernel\Validation::criteriaType' => ['?Vtiful\Kernel\Validation', 'type'=>'int'], + 'Vtiful\Kernel\Validation::maximumFormula' => ['?Vtiful\Kernel\Validation', 'maximum_formula'=>'string'], + 'Vtiful\Kernel\Validation::maximumNumber' => ['?Vtiful\Kernel\Validation', 'maximum_number'=>'float'], + 'Vtiful\Kernel\Validation::minimumFormula' => ['?Vtiful\Kernel\Validation', 'minimum_formula'=>'string'], + 'Vtiful\Kernel\Validation::minimumNumber' => ['?Vtiful\Kernel\Validation', 'minimum_number'=>'float'], + 'Vtiful\Kernel\Validation::toResource' => ['resource'], + 'Vtiful\Kernel\Validation::validationType' => ['?Vtiful\Kernel\Validation', 'type'=>'int'], + 'Vtiful\Kernel\Validation::valueList' => ['?Vtiful\Kernel\Validation', 'value_list'=>'array'], + 'Vtiful\Kernel\Validation::valueNumber' => ['?Vtiful\Kernel\Validation', 'value_number'=>'int'], + 'WeakMap::__construct' => ['void'], + 'WeakMap::count' => ['int'], + 'WeakMap::current' => ['mixed'], + 'WeakMap::key' => ['object'], + 'WeakMap::next' => ['void'], + 'WeakMap::offsetExists' => ['bool', 'object'=>'object'], + 'WeakMap::offsetGet' => ['mixed', 'object'=>'object'], + 'WeakMap::offsetSet' => ['void', 'object'=>'object', 'value'=>'mixed'], + 'WeakMap::offsetUnset' => ['void', 'object'=>'object'], + 'WeakMap::rewind' => ['void'], + 'WeakMap::valid' => ['bool'], + 'Weakref::acquire' => ['bool'], + 'Weakref::get' => ['object'], + 'Weakref::release' => ['bool'], + 'Weakref::valid' => ['bool'], + 'Worker::__construct' => ['void'], + 'Worker::addRef' => ['void'], + 'Worker::chunk' => ['array', 'size'=>'int', 'preserve'=>'bool'], + 'Worker::collect' => ['int', 'collector='=>'Callable'], + 'Worker::count' => ['int'], + 'Worker::delRef' => ['void'], + 'Worker::detach' => ['void'], + 'Worker::extend' => ['bool', 'class'=>'string'], + 'Worker::getCreatorId' => ['int'], + 'Worker::getCurrentThread' => ['Thread'], + 'Worker::getCurrentThreadId' => ['int'], + 'Worker::getRefCount' => ['int'], + 'Worker::getStacked' => ['int'], + 'Worker::getTerminationInfo' => ['array'], + 'Worker::getThreadId' => ['int'], + 'Worker::globally' => ['mixed'], + 'Worker::isGarbage' => ['bool'], + 'Worker::isJoined' => ['bool'], + 'Worker::isRunning' => ['bool'], + 'Worker::isShutdown' => ['bool'], + 'Worker::isStarted' => ['bool'], + 'Worker::isTerminated' => ['bool'], + 'Worker::isWaiting' => ['bool'], + 'Worker::isWorking' => ['bool'], + 'Worker::join' => ['bool'], + 'Worker::kill' => ['bool'], + 'Worker::lock' => ['bool'], + 'Worker::merge' => ['bool', 'from'=>'', 'overwrite='=>'mixed'], + 'Worker::notify' => ['bool'], + 'Worker::notifyOne' => ['bool'], + 'Worker::offsetExists' => ['bool', 'offset'=>'mixed'], + 'Worker::offsetGet' => ['mixed', 'offset'=>'mixed'], + 'Worker::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], + 'Worker::offsetUnset' => ['void', 'offset'=>'mixed'], + 'Worker::pop' => ['bool'], + 'Worker::run' => ['void'], + 'Worker::setGarbage' => ['void'], + 'Worker::shift' => ['bool'], + 'Worker::shutdown' => ['bool'], + 'Worker::stack' => ['int', '&rw_work'=>'Threaded'], + 'Worker::start' => ['bool', 'options='=>'int'], + 'Worker::synchronized' => ['mixed', 'block'=>'Closure', '_='=>'mixed'], + 'Worker::unlock' => ['bool'], + 'Worker::unstack' => ['int', '&rw_work='=>'Threaded'], + 'Worker::wait' => ['bool', 'timeout='=>'int'], + 'XMLDiff\Base::__construct' => ['void', 'nsname'=>'string'], + 'XMLDiff\Base::diff' => ['mixed', 'from'=>'mixed', 'to'=>'mixed'], + 'XMLDiff\Base::merge' => ['mixed', 'src'=>'mixed', 'diff'=>'mixed'], + 'XMLDiff\DOM::diff' => ['DOMDocument', 'from'=>'DOMDocument', 'to'=>'DOMDocument'], + 'XMLDiff\DOM::merge' => ['DOMDocument', 'src'=>'DOMDocument', 'diff'=>'DOMDocument'], + 'XMLDiff\File::diff' => ['string', 'from'=>'string', 'to'=>'string'], + 'XMLDiff\File::merge' => ['string', 'src'=>'string', 'diff'=>'string'], + 'XMLDiff\Memory::diff' => ['string', 'from'=>'string', 'to'=>'string'], + 'XMLDiff\Memory::merge' => ['string', 'src'=>'string', 'diff'=>'string'], + 'XMLReader::XML' => ['bool', 'source'=>'string', 'encoding='=>'?string', 'options='=>'int'], + 'XMLReader::close' => ['bool'], + 'XMLReader::expand' => ['DOMNode|false', 'baseNode='=>'?DOMNode'], + 'XMLReader::getAttribute' => ['?string', 'name'=>'string'], + 'XMLReader::getAttributeNo' => ['?string', 'index'=>'int'], + 'XMLReader::getAttributeNs' => ['?string', 'name'=>'string', 'namespaceuri'=>'string'], + 'XMLReader::getParserProperty' => ['bool', 'property'=>'int'], + 'XMLReader::isValid' => ['bool'], + 'XMLReader::lookupNamespace' => ['?string', 'prefix'=>'string'], + 'XMLReader::moveToAttribute' => ['bool', 'name'=>'string'], + 'XMLReader::moveToAttributeNo' => ['bool', 'index'=>'int'], + 'XMLReader::moveToAttributeNs' => ['bool', 'localname'=>'string', 'namespaceuri'=>'string'], + 'XMLReader::moveToElement' => ['bool'], + 'XMLReader::moveToFirstAttribute' => ['bool'], + 'XMLReader::moveToNextAttribute' => ['bool'], + 'XMLReader::next' => ['bool', 'localname='=>'string'], + 'XMLReader::open' => ['bool', 'uri'=>'string', 'encoding='=>'?string', 'options='=>'int'], + 'XMLReader::read' => ['bool'], + 'XMLReader::readInnerXML' => ['string'], + 'XMLReader::readOuterXML' => ['string'], + 'XMLReader::readString' => ['string'], + 'XMLReader::setParserProperty' => ['bool', 'property'=>'int', 'value'=>'bool'], + 'XMLReader::setRelaxNGSchema' => ['bool', 'filename'=>'?string'], + 'XMLReader::setRelaxNGSchemaSource' => ['bool', 'source'=>'?string'], + 'XMLReader::setSchema' => ['bool', 'filename'=>'?string'], + 'XMLWriter::endAttribute' => ['bool'], + 'XMLWriter::endCdata' => ['bool'], + 'XMLWriter::endComment' => ['bool'], + 'XMLWriter::endDocument' => ['bool'], + 'XMLWriter::endDtd' => ['bool'], + 'XMLWriter::endDtdAttlist' => ['bool'], + 'XMLWriter::endDtdElement' => ['bool'], + 'XMLWriter::endDtdEntity' => ['bool'], + 'XMLWriter::endElement' => ['bool'], + 'XMLWriter::endPi' => ['bool'], + 'XMLWriter::flush' => ['string|int|false', 'empty='=>'bool'], + 'XMLWriter::fullEndElement' => ['bool'], + 'XMLWriter::openMemory' => ['bool'], + 'XMLWriter::openUri' => ['bool', 'uri'=>'string'], + 'XMLWriter::outputMemory' => ['string', 'flush='=>'bool'], + 'XMLWriter::setIndent' => ['bool', 'enable'=>'bool'], + 'XMLWriter::setIndentString' => ['bool', 'indentation'=>'string'], + 'XMLWriter::startAttribute' => ['bool', 'name'=>'string'], + 'XMLWriter::startAttributeNs' => ['bool', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string'], + 'XMLWriter::startCdata' => ['bool'], + 'XMLWriter::startComment' => ['bool'], + 'XMLWriter::startDocument' => ['bool', 'version='=>'?string', 'encoding='=>'?string', 'standalone='=>'?string'], + 'XMLWriter::startDtd' => ['bool', 'qualifiedName'=>'string', 'publicId='=>'?string', 'systemId='=>'?string'], + 'XMLWriter::startDtdAttlist' => ['bool', 'name'=>'string'], + 'XMLWriter::startDtdElement' => ['bool', 'qualifiedName'=>'string'], + 'XMLWriter::startDtdEntity' => ['bool', 'name'=>'string', 'isParam'=>'bool'], + 'XMLWriter::startElement' => ['bool', 'name'=>'string'], + 'XMLWriter::startElementNs' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], + 'XMLWriter::startPi' => ['bool', 'target'=>'string'], + 'XMLWriter::text' => ['bool', 'content'=>'string'], + 'XMLWriter::writeAttribute' => ['bool', 'name'=>'string', 'value'=>'string'], + 'XMLWriter::writeAttributeNs' => ['bool', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], + 'XMLWriter::writeCdata' => ['bool', 'content'=>'string'], + 'XMLWriter::writeComment' => ['bool', 'content'=>'string'], + 'XMLWriter::writeDtd' => ['bool', 'name'=>'string', 'publicId='=>'?string', 'systemId='=>'?string', 'content='=>'?string'], + 'XMLWriter::writeDtdAttlist' => ['bool', 'name'=>'string', 'content'=>'string'], + 'XMLWriter::writeDtdElement' => ['bool', 'name'=>'string', 'content'=>'string'], + 'XMLWriter::writeDtdEntity' => ['bool', 'name'=>'string', 'content'=>'string', 'isParam'=>'bool', 'publicId'=>'string', 'systemId'=>'string', 'notationData'=>'string'], + 'XMLWriter::writeElement' => ['bool', 'name'=>'string', 'content='=>'?string'], + 'XMLWriter::writeElementNs' => ['bool', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string', 'content='=>'?string'], + 'XMLWriter::writePi' => ['bool', 'target'=>'string', 'content'=>'string'], + 'XMLWriter::writeRaw' => ['bool', 'content'=>'string'], + 'XSLTProcessor::getParameter' => ['string|false', 'namespace'=>'string', 'name'=>'string'], + 'XSLTProcessor::hasExsltSupport' => ['bool'], + 'XSLTProcessor::importStylesheet' => ['bool', 'stylesheet'=>'object'], + 'XSLTProcessor::registerPHPFunctions' => ['void', 'functions='=>'mixed'], + 'XSLTProcessor::removeParameter' => ['bool', 'namespace'=>'string', 'name'=>'string'], + 'XSLTProcessor::setParameter' => ['bool', 'namespace'=>'string', 'name'=>'string', 'value'=>'string'], + 'XSLTProcessor::setParameter\'1' => ['bool', 'namespace'=>'string', 'options'=>'array'], + 'XSLTProcessor::setProfiling' => ['bool', 'filename'=>'?string'], + 'XSLTProcessor::transformToDoc' => ['DOMDocument|false', 'document'=>'DOMNode'], + 'XSLTProcessor::transformToURI' => ['int', 'document'=>'DOMDocument', 'uri'=>'string'], + 'XSLTProcessor::transformToXML' => ['string|false', 'document'=>'DOMDocument'], + 'Xcom::__construct' => ['void', 'fabric_url='=>'string', 'fabric_token='=>'string', 'capability_token='=>'string'], + 'Xcom::decode' => ['object', 'avro_msg'=>'string', 'json_schema'=>'string'], + 'Xcom::encode' => ['string', 'data'=>'stdClass', 'avro_schema'=>'string'], + 'Xcom::getDebugOutput' => ['string'], + 'Xcom::getLastResponse' => ['string'], + 'Xcom::getLastResponseInfo' => ['array'], + 'Xcom::getOnboardingURL' => ['string', 'capability_name'=>'string', 'agreement_url'=>'string'], + 'Xcom::send' => ['int', 'topic'=>'string', 'data'=>'mixed', 'json_schema='=>'string', 'http_headers='=>'array'], + 'Xcom::sendAsync' => ['int', 'topic'=>'string', 'data'=>'mixed', 'json_schema='=>'string', 'http_headers='=>'array'], + 'XsltProcessor::getSecurityPrefs' => ['int'], + 'XsltProcessor::setSecurityPrefs' => ['int', 'preferences'=>'int'], + 'Yaconf::get' => ['mixed', 'name'=>'string', 'default_value='=>'mixed'], + 'Yaconf::has' => ['bool', 'name'=>'string'], + 'Yaf\Action_Abstract::__clone' => ['void'], + 'Yaf\Action_Abstract::__construct' => ['void', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract', 'view'=>'Yaf\View_Interface', 'invokeArgs='=>'?array'], + 'Yaf\Action_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'?array'], + 'Yaf\Action_Abstract::execute' => ['mixed'], + 'Yaf\Action_Abstract::forward' => ['bool', 'module'=>'string', 'controller='=>'string', 'action='=>'string', 'parameters='=>'?array'], + 'Yaf\Action_Abstract::getController' => ['Yaf\Controller_Abstract'], + 'Yaf\Action_Abstract::getInvokeArg' => ['mixed|null', 'name'=>'string'], + 'Yaf\Action_Abstract::getInvokeArgs' => ['array'], + 'Yaf\Action_Abstract::getModuleName' => ['string'], + 'Yaf\Action_Abstract::getRequest' => ['Yaf\Request_Abstract'], + 'Yaf\Action_Abstract::getResponse' => ['Yaf\Response_Abstract'], + 'Yaf\Action_Abstract::getView' => ['Yaf\View_Interface'], + 'Yaf\Action_Abstract::getViewpath' => ['string'], + 'Yaf\Action_Abstract::init' => [''], + 'Yaf\Action_Abstract::initView' => ['Yaf\Response_Abstract', 'options='=>'?array'], + 'Yaf\Action_Abstract::redirect' => ['bool', 'url'=>'string'], + 'Yaf\Action_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'?array'], + 'Yaf\Action_Abstract::setViewpath' => ['bool', 'view_directory'=>'string'], + 'Yaf\Application::__clone' => ['void'], + 'Yaf\Application::__construct' => ['void', 'config'=>'array|string', 'envrion='=>'string'], + 'Yaf\Application::__destruct' => ['void'], + 'Yaf\Application::__sleep' => ['string[]'], + 'Yaf\Application::__wakeup' => ['void'], + 'Yaf\Application::app' => ['?Yaf\Application'], + 'Yaf\Application::bootstrap' => ['Yaf\Application', 'bootstrap='=>'?Yaf\Bootstrap_Abstract'], + 'Yaf\Application::clearLastError' => ['void'], + 'Yaf\Application::environ' => ['string'], + 'Yaf\Application::execute' => ['void', 'entry'=>'callable', '_='=>'string'], + 'Yaf\Application::getAppDirectory' => ['string'], + 'Yaf\Application::getConfig' => ['Yaf\Config_Abstract'], + 'Yaf\Application::getDispatcher' => ['Yaf\Dispatcher'], + 'Yaf\Application::getLastErrorMsg' => ['string'], + 'Yaf\Application::getLastErrorNo' => ['int'], + 'Yaf\Application::getModules' => ['array'], + 'Yaf\Application::run' => ['void'], + 'Yaf\Application::setAppDirectory' => ['Yaf\Application', 'directory'=>'string'], + 'Yaf\Config\Ini::__construct' => ['void', 'config_file'=>'string', 'section='=>'string'], + 'Yaf\Config\Ini::__get' => ['', 'name='=>'mixed'], + 'Yaf\Config\Ini::__isset' => ['', 'name'=>'string'], + 'Yaf\Config\Ini::__set' => ['void', 'name'=>'', 'value'=>''], + 'Yaf\Config\Ini::count' => ['int'], + 'Yaf\Config\Ini::current' => ['mixed'], + 'Yaf\Config\Ini::get' => ['mixed', 'name='=>'mixed'], + 'Yaf\Config\Ini::key' => ['int|string'], + 'Yaf\Config\Ini::next' => ['void'], + 'Yaf\Config\Ini::offsetExists' => ['bool', 'name'=>'mixed'], + 'Yaf\Config\Ini::offsetGet' => ['mixed', 'name'=>'mixed'], + 'Yaf\Config\Ini::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], + 'Yaf\Config\Ini::offsetUnset' => ['void', 'name'=>'mixed'], + 'Yaf\Config\Ini::readonly' => ['bool'], + 'Yaf\Config\Ini::rewind' => ['void'], + 'Yaf\Config\Ini::set' => ['Yaf\Config_Abstract', 'name'=>'string', 'value'=>'mixed'], + 'Yaf\Config\Ini::toArray' => ['array'], + 'Yaf\Config\Ini::valid' => ['bool'], + 'Yaf\Config\Simple::__construct' => ['void', 'array'=>'array', 'readonly='=>'string'], + 'Yaf\Config\Simple::__get' => ['', 'name='=>'mixed'], + 'Yaf\Config\Simple::__isset' => ['', 'name'=>'string'], + 'Yaf\Config\Simple::__set' => ['void', 'name'=>'', 'value'=>''], + 'Yaf\Config\Simple::count' => ['int'], + 'Yaf\Config\Simple::current' => ['mixed'], + 'Yaf\Config\Simple::get' => ['mixed', 'name='=>'mixed'], + 'Yaf\Config\Simple::key' => ['int|string'], + 'Yaf\Config\Simple::next' => ['void'], + 'Yaf\Config\Simple::offsetExists' => ['bool', 'name'=>'mixed'], + 'Yaf\Config\Simple::offsetGet' => ['mixed', 'name'=>'mixed'], + 'Yaf\Config\Simple::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], + 'Yaf\Config\Simple::offsetUnset' => ['void', 'name'=>'mixed'], + 'Yaf\Config\Simple::readonly' => ['bool'], + 'Yaf\Config\Simple::rewind' => ['void'], + 'Yaf\Config\Simple::set' => ['Yaf\Config_Abstract', 'name'=>'string', 'value'=>'mixed'], + 'Yaf\Config\Simple::toArray' => ['array'], + 'Yaf\Config\Simple::valid' => ['bool'], + 'Yaf\Config_Abstract::__construct' => ['void'], + 'Yaf\Config_Abstract::get' => ['mixed', 'name='=>'string'], + 'Yaf\Config_Abstract::readonly' => ['bool'], + 'Yaf\Config_Abstract::set' => ['Yaf\Config_Abstract', 'name'=>'string', 'value'=>'mixed'], + 'Yaf\Config_Abstract::toArray' => ['array'], + 'Yaf\Controller_Abstract::__clone' => ['void'], + 'Yaf\Controller_Abstract::__construct' => ['void', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract', 'view'=>'Yaf\View_Interface', 'invokeArgs='=>'?array'], + 'Yaf\Controller_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'?array'], + 'Yaf\Controller_Abstract::forward' => ['bool', 'module'=>'string', 'controller='=>'string', 'action='=>'string', 'parameters='=>'?array'], + 'Yaf\Controller_Abstract::getInvokeArg' => ['mixed|null', 'name'=>'string'], + 'Yaf\Controller_Abstract::getInvokeArgs' => ['array'], + 'Yaf\Controller_Abstract::getModuleName' => ['string'], + 'Yaf\Controller_Abstract::getRequest' => ['Yaf\Request_Abstract'], + 'Yaf\Controller_Abstract::getResponse' => ['Yaf\Response_Abstract'], + 'Yaf\Controller_Abstract::getView' => ['Yaf\View_Interface'], + 'Yaf\Controller_Abstract::getViewpath' => ['string'], + 'Yaf\Controller_Abstract::init' => [''], + 'Yaf\Controller_Abstract::initView' => ['Yaf\Response_Abstract', 'options='=>'?array'], + 'Yaf\Controller_Abstract::redirect' => ['bool', 'url'=>'string'], + 'Yaf\Controller_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'?array'], + 'Yaf\Controller_Abstract::setViewpath' => ['bool', 'view_directory'=>'string'], + 'Yaf\Dispatcher::__clone' => ['void'], + 'Yaf\Dispatcher::__construct' => ['void'], + 'Yaf\Dispatcher::__sleep' => ['list'], + 'Yaf\Dispatcher::__wakeup' => ['void'], + 'Yaf\Dispatcher::autoRender' => ['Yaf\Dispatcher', 'flag='=>'bool'], + 'Yaf\Dispatcher::catchException' => ['Yaf\Dispatcher', 'flag='=>'bool'], + 'Yaf\Dispatcher::disableView' => ['bool'], + 'Yaf\Dispatcher::dispatch' => ['Yaf\Response_Abstract', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Dispatcher::enableView' => ['Yaf\Dispatcher'], + 'Yaf\Dispatcher::flushInstantly' => ['Yaf\Dispatcher', 'flag='=>'bool'], + 'Yaf\Dispatcher::getApplication' => ['Yaf\Application'], + 'Yaf\Dispatcher::getInstance' => ['Yaf\Dispatcher'], + 'Yaf\Dispatcher::getRequest' => ['Yaf\Request_Abstract'], + 'Yaf\Dispatcher::getRouter' => ['Yaf\Router'], + 'Yaf\Dispatcher::initView' => ['Yaf\View_Interface', 'templates_dir'=>'string', 'options='=>'?array'], + 'Yaf\Dispatcher::registerPlugin' => ['Yaf\Dispatcher', 'plugin'=>'Yaf\Plugin_Abstract'], + 'Yaf\Dispatcher::returnResponse' => ['Yaf\Dispatcher', 'flag'=>'bool'], + 'Yaf\Dispatcher::setDefaultAction' => ['Yaf\Dispatcher', 'action'=>'string'], + 'Yaf\Dispatcher::setDefaultController' => ['Yaf\Dispatcher', 'controller'=>'string'], + 'Yaf\Dispatcher::setDefaultModule' => ['Yaf\Dispatcher', 'module'=>'string'], + 'Yaf\Dispatcher::setErrorHandler' => ['Yaf\Dispatcher', 'callback'=>'callable', 'error_types'=>'int'], + 'Yaf\Dispatcher::setRequest' => ['Yaf\Dispatcher', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Dispatcher::setView' => ['Yaf\Dispatcher', 'view'=>'Yaf\View_Interface'], + 'Yaf\Dispatcher::throwException' => ['Yaf\Dispatcher', 'flag='=>'bool'], + 'Yaf\Loader::__clone' => ['void'], + 'Yaf\Loader::__construct' => ['void'], + 'Yaf\Loader::__sleep' => ['list'], + 'Yaf\Loader::__wakeup' => ['void'], + 'Yaf\Loader::autoload' => ['bool', 'class_name'=>'string'], + 'Yaf\Loader::clearLocalNamespace' => [''], + 'Yaf\Loader::getInstance' => ['Yaf\Loader', 'local_library_path='=>'string', 'global_library_path='=>'string'], + 'Yaf\Loader::getLibraryPath' => ['string', 'is_global='=>'bool'], + 'Yaf\Loader::getLocalNamespace' => ['string'], + 'Yaf\Loader::import' => ['bool', 'file'=>'string'], + 'Yaf\Loader::isLocalName' => ['bool', 'class_name'=>'string'], + 'Yaf\Loader::registerLocalNamespace' => ['bool', 'name_prefix'=>'string|string[]'], + 'Yaf\Loader::setLibraryPath' => ['Yaf\Loader', 'directory'=>'string', 'global='=>'bool'], + 'Yaf\Plugin_Abstract::dispatchLoopShutdown' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Plugin_Abstract::dispatchLoopStartup' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Plugin_Abstract::postDispatch' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Plugin_Abstract::preDispatch' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Plugin_Abstract::preResponse' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Plugin_Abstract::routerShutdown' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Plugin_Abstract::routerStartup' => ['bool', 'request'=>'Yaf\Request_Abstract', 'response'=>'Yaf\Response_Abstract'], + 'Yaf\Registry::__clone' => ['void'], + 'Yaf\Registry::__construct' => ['void'], + 'Yaf\Registry::del' => ['bool|void', 'name'=>'string'], + 'Yaf\Registry::get' => ['mixed', 'name'=>'string'], + 'Yaf\Registry::has' => ['bool', 'name'=>'string'], + 'Yaf\Registry::set' => ['bool', 'name'=>'string', 'value'=>'mixed'], + 'Yaf\Request\Http::__clone' => ['void'], + 'Yaf\Request\Http::__construct' => ['void', 'request_uri'=>'string', 'base_uri'=>'string'], + 'Yaf\Request\Http::get' => ['mixed', 'name'=>'string', 'default='=>'string'], + 'Yaf\Request\Http::getActionName' => ['string'], + 'Yaf\Request\Http::getBaseUri' => ['string'], + 'Yaf\Request\Http::getControllerName' => ['string'], + 'Yaf\Request\Http::getCookie' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getException' => ['Yaf\Exception'], + 'Yaf\Request\Http::getFiles' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getLanguage' => ['string'], + 'Yaf\Request\Http::getMethod' => ['string'], + 'Yaf\Request\Http::getModuleName' => ['string'], + 'Yaf\Request\Http::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getParams' => ['array'], + 'Yaf\Request\Http::getPost' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getQuery' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getRequest' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::getRequestUri' => ['string'], + 'Yaf\Request\Http::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Http::isCli' => ['bool'], + 'Yaf\Request\Http::isDispatched' => ['bool'], + 'Yaf\Request\Http::isGet' => ['bool'], + 'Yaf\Request\Http::isHead' => ['bool'], + 'Yaf\Request\Http::isOptions' => ['bool'], + 'Yaf\Request\Http::isPost' => ['bool'], + 'Yaf\Request\Http::isPut' => ['bool'], + 'Yaf\Request\Http::isRouted' => ['bool'], + 'Yaf\Request\Http::isXmlHttpRequest' => ['bool'], + 'Yaf\Request\Http::setActionName' => ['Yaf\Request_Abstract|bool', 'action'=>'string'], + 'Yaf\Request\Http::setBaseUri' => ['bool', 'uri'=>'string'], + 'Yaf\Request\Http::setControllerName' => ['Yaf\Request_Abstract|bool', 'controller'=>'string'], + 'Yaf\Request\Http::setDispatched' => ['bool'], + 'Yaf\Request\Http::setModuleName' => ['Yaf\Request_Abstract|bool', 'module'=>'string'], + 'Yaf\Request\Http::setParam' => ['Yaf\Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], + 'Yaf\Request\Http::setRequestUri' => ['', 'uri'=>'string'], + 'Yaf\Request\Http::setRouted' => ['Yaf\Request_Abstract|bool'], + 'Yaf\Request\Simple::__clone' => ['void'], + 'Yaf\Request\Simple::__construct' => ['void', 'method'=>'string', 'controller'=>'string', 'action'=>'string', 'params='=>'string'], + 'Yaf\Request\Simple::get' => ['mixed', 'name'=>'string', 'default='=>'string'], + 'Yaf\Request\Simple::getActionName' => ['string'], + 'Yaf\Request\Simple::getBaseUri' => ['string'], + 'Yaf\Request\Simple::getControllerName' => ['string'], + 'Yaf\Request\Simple::getCookie' => ['mixed', 'name='=>'string', 'default='=>'string'], + 'Yaf\Request\Simple::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Simple::getException' => ['Yaf\Exception'], + 'Yaf\Request\Simple::getFiles' => ['array', 'name='=>'mixed', 'default='=>'null'], + 'Yaf\Request\Simple::getLanguage' => ['string'], + 'Yaf\Request\Simple::getMethod' => ['string'], + 'Yaf\Request\Simple::getModuleName' => ['string'], + 'Yaf\Request\Simple::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'Yaf\Request\Simple::getParams' => ['array'], + 'Yaf\Request\Simple::getPost' => ['mixed', 'name='=>'string', 'default='=>'string'], + 'Yaf\Request\Simple::getQuery' => ['mixed', 'name='=>'string', 'default='=>'string'], + 'Yaf\Request\Simple::getRequest' => ['mixed', 'name='=>'string', 'default='=>'string'], + 'Yaf\Request\Simple::getRequestUri' => ['string'], + 'Yaf\Request\Simple::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request\Simple::isCli' => ['bool'], + 'Yaf\Request\Simple::isDispatched' => ['bool'], + 'Yaf\Request\Simple::isGet' => ['bool'], + 'Yaf\Request\Simple::isHead' => ['bool'], + 'Yaf\Request\Simple::isOptions' => ['bool'], + 'Yaf\Request\Simple::isPost' => ['bool'], + 'Yaf\Request\Simple::isPut' => ['bool'], + 'Yaf\Request\Simple::isRouted' => ['bool'], + 'Yaf\Request\Simple::isXmlHttpRequest' => ['bool'], + 'Yaf\Request\Simple::setActionName' => ['Yaf\Request_Abstract|bool', 'action'=>'string'], + 'Yaf\Request\Simple::setBaseUri' => ['bool', 'uri'=>'string'], + 'Yaf\Request\Simple::setControllerName' => ['Yaf\Request_Abstract|bool', 'controller'=>'string'], + 'Yaf\Request\Simple::setDispatched' => ['bool'], + 'Yaf\Request\Simple::setModuleName' => ['Yaf\Request_Abstract|bool', 'module'=>'string'], + 'Yaf\Request\Simple::setParam' => ['Yaf\Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], + 'Yaf\Request\Simple::setRequestUri' => ['', 'uri'=>'string'], + 'Yaf\Request\Simple::setRouted' => ['Yaf\Request_Abstract|bool'], + 'Yaf\Request_Abstract::getActionName' => ['string'], + 'Yaf\Request_Abstract::getBaseUri' => ['string'], + 'Yaf\Request_Abstract::getControllerName' => ['string'], + 'Yaf\Request_Abstract::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request_Abstract::getException' => ['Yaf\Exception'], + 'Yaf\Request_Abstract::getLanguage' => ['string'], + 'Yaf\Request_Abstract::getMethod' => ['string'], + 'Yaf\Request_Abstract::getModuleName' => ['string'], + 'Yaf\Request_Abstract::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'Yaf\Request_Abstract::getParams' => ['array'], + 'Yaf\Request_Abstract::getRequestUri' => ['string'], + 'Yaf\Request_Abstract::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf\Request_Abstract::isCli' => ['bool'], + 'Yaf\Request_Abstract::isDispatched' => ['bool'], + 'Yaf\Request_Abstract::isGet' => ['bool'], + 'Yaf\Request_Abstract::isHead' => ['bool'], + 'Yaf\Request_Abstract::isOptions' => ['bool'], + 'Yaf\Request_Abstract::isPost' => ['bool'], + 'Yaf\Request_Abstract::isPut' => ['bool'], + 'Yaf\Request_Abstract::isRouted' => ['bool'], + 'Yaf\Request_Abstract::isXmlHttpRequest' => ['bool'], + 'Yaf\Request_Abstract::setActionName' => ['Yaf\Request_Abstract|bool', 'action'=>'string'], + 'Yaf\Request_Abstract::setBaseUri' => ['bool', 'uri'=>'string'], + 'Yaf\Request_Abstract::setControllerName' => ['Yaf\Request_Abstract|bool', 'controller'=>'string'], + 'Yaf\Request_Abstract::setDispatched' => ['bool'], + 'Yaf\Request_Abstract::setModuleName' => ['Yaf\Request_Abstract|bool', 'module'=>'string'], + 'Yaf\Request_Abstract::setParam' => ['Yaf\Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], + 'Yaf\Request_Abstract::setRequestUri' => ['', 'uri'=>'string'], + 'Yaf\Request_Abstract::setRouted' => ['Yaf\Request_Abstract|bool'], + 'Yaf\Response\Cli::__clone' => ['void'], + 'Yaf\Response\Cli::__construct' => ['void'], + 'Yaf\Response\Cli::__destruct' => ['void'], + 'Yaf\Response\Cli::__toString' => ['string'], + 'Yaf\Response\Cli::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response\Cli::clearBody' => ['bool', 'key='=>'string'], + 'Yaf\Response\Cli::getBody' => ['mixed', 'key='=>'?string'], + 'Yaf\Response\Cli::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response\Cli::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response\Http::__clone' => ['void'], + 'Yaf\Response\Http::__construct' => ['void'], + 'Yaf\Response\Http::__destruct' => ['void'], + 'Yaf\Response\Http::__toString' => ['string'], + 'Yaf\Response\Http::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response\Http::clearBody' => ['bool', 'key='=>'string'], + 'Yaf\Response\Http::clearHeaders' => ['Yaf\Response_Abstract|false', 'name='=>'string'], + 'Yaf\Response\Http::getBody' => ['mixed', 'key='=>'?string'], + 'Yaf\Response\Http::getHeader' => ['mixed', 'name='=>'string'], + 'Yaf\Response\Http::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response\Http::response' => ['bool'], + 'Yaf\Response\Http::setAllHeaders' => ['bool', 'headers'=>'array'], + 'Yaf\Response\Http::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response\Http::setHeader' => ['bool', 'name'=>'string', 'value'=>'string', 'replace='=>'bool', 'response_code='=>'int'], + 'Yaf\Response\Http::setRedirect' => ['bool', 'url'=>'string'], + 'Yaf\Response_Abstract::__clone' => ['void'], + 'Yaf\Response_Abstract::__construct' => ['void'], + 'Yaf\Response_Abstract::__destruct' => ['void'], + 'Yaf\Response_Abstract::__toString' => ['void'], + 'Yaf\Response_Abstract::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response_Abstract::clearBody' => ['bool', 'key='=>'string'], + 'Yaf\Response_Abstract::getBody' => ['mixed', 'key='=>'?string'], + 'Yaf\Response_Abstract::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Response_Abstract::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf\Route\Map::__construct' => ['void', 'controller_prefer='=>'bool', 'delimiter='=>'string'], + 'Yaf\Route\Map::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route\Map::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Route\Regex::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'map='=>'?array', 'verify='=>'?array', 'reverse='=>'string'], + 'Yaf\Route\Regex::addConfig' => ['Yaf\Router|bool', 'config'=>'Yaf\Config_Abstract'], + 'Yaf\Route\Regex::addRoute' => ['Yaf\Router|bool', 'name'=>'string', 'route'=>'Yaf\Route_Interface'], + 'Yaf\Route\Regex::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route\Regex::getCurrentRoute' => ['string'], + 'Yaf\Route\Regex::getRoute' => ['Yaf\Route_Interface', 'name'=>'string'], + 'Yaf\Route\Regex::getRoutes' => ['Yaf\Route_Interface[]'], + 'Yaf\Route\Regex::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Route\Rewrite::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'verify='=>'?array', 'reverse='=>'string'], + 'Yaf\Route\Rewrite::addConfig' => ['Yaf\Router|bool', 'config'=>'Yaf\Config_Abstract'], + 'Yaf\Route\Rewrite::addRoute' => ['Yaf\Router|bool', 'name'=>'string', 'route'=>'Yaf\Route_Interface'], + 'Yaf\Route\Rewrite::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route\Rewrite::getCurrentRoute' => ['string'], + 'Yaf\Route\Rewrite::getRoute' => ['Yaf\Route_Interface', 'name'=>'string'], + 'Yaf\Route\Rewrite::getRoutes' => ['Yaf\Route_Interface[]'], + 'Yaf\Route\Rewrite::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Route\Simple::__construct' => ['void', 'module_name'=>'string', 'controller_name'=>'string', 'action_name'=>'string'], + 'Yaf\Route\Simple::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route\Simple::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Route\Supervar::__construct' => ['void', 'supervar_name'=>'string'], + 'Yaf\Route\Supervar::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route\Supervar::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Route_Interface::__construct' => ['Yaf\Route_Interface'], + 'Yaf\Route_Interface::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route_Interface::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Route_Static::assemble' => ['bool', 'info'=>'array', 'query='=>'?array'], + 'Yaf\Route_Static::match' => ['bool', 'uri'=>'string'], + 'Yaf\Route_Static::route' => ['bool', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Router::__construct' => ['void'], + 'Yaf\Router::addConfig' => ['Yaf\Router|false', 'config'=>'Yaf\Config_Abstract'], + 'Yaf\Router::addRoute' => ['Yaf\Router|false', 'name'=>'string', 'route'=>'Yaf\Route_Interface'], + 'Yaf\Router::getCurrentRoute' => ['string'], + 'Yaf\Router::getRoute' => ['Yaf\Route_Interface', 'name'=>'string'], + 'Yaf\Router::getRoutes' => ['Yaf\Route_Interface[]'], + 'Yaf\Router::route' => ['Yaf\Router|false', 'request'=>'Yaf\Request_Abstract'], + 'Yaf\Session::__clone' => ['void'], + 'Yaf\Session::__construct' => ['void'], + 'Yaf\Session::__get' => ['void', 'name'=>''], + 'Yaf\Session::__isset' => ['void', 'name'=>''], + 'Yaf\Session::__set' => ['void', 'name'=>'', 'value'=>''], + 'Yaf\Session::__sleep' => ['list'], + 'Yaf\Session::__unset' => ['void', 'name'=>''], + 'Yaf\Session::__wakeup' => ['void'], + 'Yaf\Session::count' => ['int'], + 'Yaf\Session::current' => ['mixed'], + 'Yaf\Session::del' => ['Yaf\Session|false', 'name'=>'string'], + 'Yaf\Session::get' => ['mixed', 'name'=>'string'], + 'Yaf\Session::getInstance' => ['Yaf\Session'], + 'Yaf\Session::has' => ['bool', 'name'=>'string'], + 'Yaf\Session::key' => ['int|string'], + 'Yaf\Session::next' => ['void'], + 'Yaf\Session::offsetExists' => ['bool', 'name'=>'mixed'], + 'Yaf\Session::offsetGet' => ['mixed', 'name'=>'mixed'], + 'Yaf\Session::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], + 'Yaf\Session::offsetUnset' => ['void', 'name'=>'mixed'], + 'Yaf\Session::rewind' => ['void'], + 'Yaf\Session::set' => ['Yaf\Session|false', 'name'=>'string', 'value'=>'mixed'], + 'Yaf\Session::start' => ['Yaf\Session'], + 'Yaf\Session::valid' => ['bool'], + 'Yaf\View\Simple::__construct' => ['void', 'template_dir'=>'string', 'options='=>'?array'], + 'Yaf\View\Simple::__get' => ['mixed', 'name='=>'null'], + 'Yaf\View\Simple::__isset' => ['', 'name'=>'string'], + 'Yaf\View\Simple::__set' => ['void', 'name'=>'string', 'value='=>'mixed'], + 'Yaf\View\Simple::assign' => ['Yaf\View\Simple', 'name'=>'array|string', 'value='=>'mixed'], + 'Yaf\View\Simple::assignRef' => ['Yaf\View\Simple', 'name'=>'string', '&value'=>'mixed'], + 'Yaf\View\Simple::clear' => ['Yaf\View\Simple', 'name='=>'string'], + 'Yaf\View\Simple::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'?array'], + 'Yaf\View\Simple::eval' => ['bool|void', 'tpl_str'=>'string', 'vars='=>'?array'], + 'Yaf\View\Simple::getScriptPath' => ['string'], + 'Yaf\View\Simple::render' => ['string|void', 'tpl'=>'string', 'tpl_vars='=>'?array'], + 'Yaf\View\Simple::setScriptPath' => ['Yaf\View\Simple', 'template_dir'=>'string'], + 'Yaf\View_Interface::assign' => ['bool', 'name'=>'array|string', 'value'=>'mixed'], + 'Yaf\View_Interface::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'?array'], + 'Yaf\View_Interface::getScriptPath' => ['string'], + 'Yaf\View_Interface::render' => ['string', 'tpl'=>'string', 'tpl_vars='=>'?array'], + 'Yaf\View_Interface::setScriptPath' => ['void', 'template_dir'=>'string'], + 'Yaf_Action_Abstract::__clone' => ['void'], + 'Yaf_Action_Abstract::__construct' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract', 'view'=>'Yaf_View_Interface', 'invokeArgs='=>'?array'], + 'Yaf_Action_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'?array'], + 'Yaf_Action_Abstract::execute' => ['mixed', 'arg='=>'mixed', '...args='=>'mixed'], + 'Yaf_Action_Abstract::forward' => ['bool', 'module'=>'string', 'controller='=>'string', 'action='=>'string', 'parameters='=>'?array'], + 'Yaf_Action_Abstract::getController' => ['Yaf_Controller_Abstract'], + 'Yaf_Action_Abstract::getControllerName' => ['string'], + 'Yaf_Action_Abstract::getInvokeArg' => ['mixed|null', 'name'=>'string'], + 'Yaf_Action_Abstract::getInvokeArgs' => ['array'], + 'Yaf_Action_Abstract::getModuleName' => ['string'], + 'Yaf_Action_Abstract::getRequest' => ['Yaf_Request_Abstract'], + 'Yaf_Action_Abstract::getResponse' => ['Yaf_Response_Abstract'], + 'Yaf_Action_Abstract::getView' => ['Yaf_View_Interface'], + 'Yaf_Action_Abstract::getViewpath' => ['string'], + 'Yaf_Action_Abstract::init' => [''], + 'Yaf_Action_Abstract::initView' => ['Yaf_Response_Abstract', 'options='=>'?array'], + 'Yaf_Action_Abstract::redirect' => ['bool', 'url'=>'string'], + 'Yaf_Action_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'?array'], + 'Yaf_Action_Abstract::setViewpath' => ['bool', 'view_directory'=>'string'], + 'Yaf_Application::__clone' => ['void'], + 'Yaf_Application::__construct' => ['void', 'config'=>'mixed', 'envrion='=>'string'], + 'Yaf_Application::__destruct' => ['void'], + 'Yaf_Application::__sleep' => ['list'], + 'Yaf_Application::__wakeup' => ['void'], + 'Yaf_Application::app' => ['?Yaf_Application'], + 'Yaf_Application::bootstrap' => ['Yaf_Application', 'bootstrap='=>'Yaf_Bootstrap_Abstract'], + 'Yaf_Application::clearLastError' => ['Yaf_Application'], + 'Yaf_Application::environ' => ['string'], + 'Yaf_Application::execute' => ['void', 'entry'=>'callable', '...args'=>'string'], + 'Yaf_Application::getAppDirectory' => ['Yaf_Application'], + 'Yaf_Application::getConfig' => ['Yaf_Config_Abstract'], + 'Yaf_Application::getDispatcher' => ['Yaf_Dispatcher'], + 'Yaf_Application::getLastErrorMsg' => ['string'], + 'Yaf_Application::getLastErrorNo' => ['int'], + 'Yaf_Application::getModules' => ['array'], + 'Yaf_Application::run' => ['void'], + 'Yaf_Application::setAppDirectory' => ['Yaf_Application', 'directory'=>'string'], + 'Yaf_Config_Abstract::__construct' => ['void'], + 'Yaf_Config_Abstract::get' => ['mixed', 'name'=>'string', 'value'=>'mixed'], + 'Yaf_Config_Abstract::readonly' => ['bool'], + 'Yaf_Config_Abstract::set' => ['Yaf_Config_Abstract'], + 'Yaf_Config_Abstract::toArray' => ['array'], + 'Yaf_Config_Ini::__construct' => ['void', 'config_file'=>'string', 'section='=>'string'], + 'Yaf_Config_Ini::__get' => ['void', 'name='=>'string'], + 'Yaf_Config_Ini::__isset' => ['void', 'name'=>'string'], + 'Yaf_Config_Ini::__set' => ['void', 'name'=>'string', 'value'=>'mixed'], + 'Yaf_Config_Ini::count' => ['void'], + 'Yaf_Config_Ini::current' => ['void'], + 'Yaf_Config_Ini::get' => ['mixed', 'name='=>'mixed'], + 'Yaf_Config_Ini::key' => ['void'], + 'Yaf_Config_Ini::next' => ['void'], + 'Yaf_Config_Ini::offsetExists' => ['void', 'name'=>'string'], + 'Yaf_Config_Ini::offsetGet' => ['void', 'name'=>'string'], + 'Yaf_Config_Ini::offsetSet' => ['void', 'name'=>'string', 'value'=>'string'], + 'Yaf_Config_Ini::offsetUnset' => ['void', 'name'=>'string'], + 'Yaf_Config_Ini::readonly' => ['void'], + 'Yaf_Config_Ini::rewind' => ['void'], + 'Yaf_Config_Ini::set' => ['Yaf_Config_Abstract', 'name'=>'string', 'value'=>'mixed'], + 'Yaf_Config_Ini::toArray' => ['array'], + 'Yaf_Config_Ini::valid' => ['void'], + 'Yaf_Config_Simple::__construct' => ['void', 'config_file'=>'string', 'section='=>'string'], + 'Yaf_Config_Simple::__get' => ['void', 'name='=>'string'], + 'Yaf_Config_Simple::__isset' => ['void', 'name'=>'string'], + 'Yaf_Config_Simple::__set' => ['void', 'name'=>'string', 'value'=>'string'], + 'Yaf_Config_Simple::count' => ['void'], + 'Yaf_Config_Simple::current' => ['void'], + 'Yaf_Config_Simple::get' => ['mixed', 'name='=>'mixed'], + 'Yaf_Config_Simple::key' => ['void'], + 'Yaf_Config_Simple::next' => ['void'], + 'Yaf_Config_Simple::offsetExists' => ['void', 'name'=>'string'], + 'Yaf_Config_Simple::offsetGet' => ['void', 'name'=>'string'], + 'Yaf_Config_Simple::offsetSet' => ['void', 'name'=>'string', 'value'=>'string'], + 'Yaf_Config_Simple::offsetUnset' => ['void', 'name'=>'string'], + 'Yaf_Config_Simple::readonly' => ['void'], + 'Yaf_Config_Simple::rewind' => ['void'], + 'Yaf_Config_Simple::set' => ['Yaf_Config_Abstract', 'name'=>'string', 'value'=>'mixed'], + 'Yaf_Config_Simple::toArray' => ['array'], + 'Yaf_Config_Simple::valid' => ['void'], + 'Yaf_Controller_Abstract::__clone' => ['void'], + 'Yaf_Controller_Abstract::__construct' => ['void'], + 'Yaf_Controller_Abstract::display' => ['bool', 'tpl'=>'string', 'parameters='=>'array'], + 'Yaf_Controller_Abstract::forward' => ['void', 'action'=>'string', 'parameters='=>'array'], + 'Yaf_Controller_Abstract::forward\'1' => ['void', 'controller'=>'string', 'action'=>'string', 'parameters='=>'array'], + 'Yaf_Controller_Abstract::forward\'2' => ['void', 'module'=>'string', 'controller'=>'string', 'action'=>'string', 'parameters='=>'array'], + 'Yaf_Controller_Abstract::getInvokeArg' => ['void', 'name'=>'string'], + 'Yaf_Controller_Abstract::getInvokeArgs' => ['void'], + 'Yaf_Controller_Abstract::getModuleName' => ['string'], + 'Yaf_Controller_Abstract::getName' => ['string'], + 'Yaf_Controller_Abstract::getRequest' => ['Yaf_Request_Abstract'], + 'Yaf_Controller_Abstract::getResponse' => ['Yaf_Response_Abstract'], + 'Yaf_Controller_Abstract::getView' => ['Yaf_View_Interface'], + 'Yaf_Controller_Abstract::getViewpath' => ['void'], + 'Yaf_Controller_Abstract::init' => ['void'], + 'Yaf_Controller_Abstract::initView' => ['void', 'options='=>'array'], + 'Yaf_Controller_Abstract::redirect' => ['bool', 'url'=>'string'], + 'Yaf_Controller_Abstract::render' => ['string', 'tpl'=>'string', 'parameters='=>'array'], + 'Yaf_Controller_Abstract::setViewpath' => ['void', 'view_directory'=>'string'], + 'Yaf_Dispatcher::__clone' => ['void'], + 'Yaf_Dispatcher::__construct' => ['void'], + 'Yaf_Dispatcher::__sleep' => ['list'], + 'Yaf_Dispatcher::__wakeup' => ['void'], + 'Yaf_Dispatcher::autoRender' => ['Yaf_Dispatcher', 'flag='=>'bool'], + 'Yaf_Dispatcher::catchException' => ['Yaf_Dispatcher', 'flag='=>'bool'], + 'Yaf_Dispatcher::disableView' => ['bool'], + 'Yaf_Dispatcher::dispatch' => ['Yaf_Response_Abstract', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Dispatcher::enableView' => ['Yaf_Dispatcher'], + 'Yaf_Dispatcher::flushInstantly' => ['Yaf_Dispatcher', 'flag='=>'bool'], + 'Yaf_Dispatcher::getApplication' => ['Yaf_Application'], + 'Yaf_Dispatcher::getDefaultAction' => ['string'], + 'Yaf_Dispatcher::getDefaultController' => ['string'], + 'Yaf_Dispatcher::getDefaultModule' => ['string'], + 'Yaf_Dispatcher::getInstance' => ['Yaf_Dispatcher'], + 'Yaf_Dispatcher::getRequest' => ['Yaf_Request_Abstract'], + 'Yaf_Dispatcher::getRouter' => ['Yaf_Router'], + 'Yaf_Dispatcher::initView' => ['Yaf_View_Interface', 'templates_dir'=>'string', 'options='=>'array'], + 'Yaf_Dispatcher::registerPlugin' => ['Yaf_Dispatcher', 'plugin'=>'Yaf_Plugin_Abstract'], + 'Yaf_Dispatcher::returnResponse' => ['Yaf_Dispatcher', 'flag'=>'bool'], + 'Yaf_Dispatcher::setDefaultAction' => ['Yaf_Dispatcher', 'action'=>'string'], + 'Yaf_Dispatcher::setDefaultController' => ['Yaf_Dispatcher', 'controller'=>'string'], + 'Yaf_Dispatcher::setDefaultModule' => ['Yaf_Dispatcher', 'module'=>'string'], + 'Yaf_Dispatcher::setErrorHandler' => ['Yaf_Dispatcher', 'callback'=>'callable', 'error_types'=>'int'], + 'Yaf_Dispatcher::setRequest' => ['Yaf_Dispatcher', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Dispatcher::setView' => ['Yaf_Dispatcher', 'view'=>'Yaf_View_Interface'], + 'Yaf_Dispatcher::throwException' => ['Yaf_Dispatcher', 'flag='=>'bool'], + 'Yaf_Exception::__construct' => ['void'], + 'Yaf_Exception::getPrevious' => ['void'], + 'Yaf_Loader::__clone' => ['void'], + 'Yaf_Loader::__construct' => ['void'], + 'Yaf_Loader::__sleep' => ['list'], + 'Yaf_Loader::__wakeup' => ['void'], + 'Yaf_Loader::autoload' => ['void'], + 'Yaf_Loader::clearLocalNamespace' => ['void'], + 'Yaf_Loader::getInstance' => ['Yaf_Loader'], + 'Yaf_Loader::getLibraryPath' => ['Yaf_Loader', 'is_global='=>'bool'], + 'Yaf_Loader::getLocalNamespace' => ['void'], + 'Yaf_Loader::getNamespacePath' => ['string', 'namespaces'=>'string'], + 'Yaf_Loader::import' => ['bool'], + 'Yaf_Loader::isLocalName' => ['bool'], + 'Yaf_Loader::registerLocalNamespace' => ['void', 'prefix'=>'mixed'], + 'Yaf_Loader::registerNamespace' => ['bool', 'namespaces'=>'string|array', 'path='=>'string'], + 'Yaf_Loader::setLibraryPath' => ['Yaf_Loader', 'directory'=>'string', 'is_global='=>'bool'], + 'Yaf_Plugin_Abstract::dispatchLoopShutdown' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Plugin_Abstract::dispatchLoopStartup' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Plugin_Abstract::postDispatch' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Plugin_Abstract::preDispatch' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Plugin_Abstract::preResponse' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Plugin_Abstract::routerShutdown' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Plugin_Abstract::routerStartup' => ['void', 'request'=>'Yaf_Request_Abstract', 'response'=>'Yaf_Response_Abstract'], + 'Yaf_Registry::__clone' => ['void'], + 'Yaf_Registry::__construct' => ['void'], + 'Yaf_Registry::del' => ['void', 'name'=>'string'], + 'Yaf_Registry::get' => ['mixed', 'name'=>'string'], + 'Yaf_Registry::has' => ['bool', 'name'=>'string'], + 'Yaf_Registry::set' => ['bool', 'name'=>'string', 'value'=>'string'], + 'Yaf_Request_Abstract::clearParams' => ['bool'], + 'Yaf_Request_Abstract::getActionName' => ['void'], + 'Yaf_Request_Abstract::getBaseUri' => ['void'], + 'Yaf_Request_Abstract::getControllerName' => ['void'], + 'Yaf_Request_Abstract::getEnv' => ['void', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Abstract::getException' => ['void'], + 'Yaf_Request_Abstract::getLanguage' => ['void'], + 'Yaf_Request_Abstract::getMethod' => ['void'], + 'Yaf_Request_Abstract::getModuleName' => ['void'], + 'Yaf_Request_Abstract::getParam' => ['void', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Abstract::getParams' => ['void'], + 'Yaf_Request_Abstract::getRequestUri' => ['void'], + 'Yaf_Request_Abstract::getServer' => ['void', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Abstract::isCli' => ['void'], + 'Yaf_Request_Abstract::isDispatched' => ['void'], + 'Yaf_Request_Abstract::isGet' => ['void'], + 'Yaf_Request_Abstract::isHead' => ['void'], + 'Yaf_Request_Abstract::isOptions' => ['void'], + 'Yaf_Request_Abstract::isPost' => ['void'], + 'Yaf_Request_Abstract::isPut' => ['void'], + 'Yaf_Request_Abstract::isRouted' => ['void'], + 'Yaf_Request_Abstract::isXmlHttpRequest' => ['void'], + 'Yaf_Request_Abstract::setActionName' => ['void', 'action'=>'string'], + 'Yaf_Request_Abstract::setBaseUri' => ['bool', 'uir'=>'string'], + 'Yaf_Request_Abstract::setControllerName' => ['void', 'controller'=>'string'], + 'Yaf_Request_Abstract::setDispatched' => ['void'], + 'Yaf_Request_Abstract::setModuleName' => ['void', 'module'=>'string'], + 'Yaf_Request_Abstract::setParam' => ['void', 'name'=>'string', 'value='=>'string'], + 'Yaf_Request_Abstract::setRequestUri' => ['void', 'uir'=>'string'], + 'Yaf_Request_Abstract::setRouted' => ['void', 'flag='=>'string'], + 'Yaf_Request_Http::__clone' => ['void'], + 'Yaf_Request_Http::__construct' => ['void'], + 'Yaf_Request_Http::get' => ['mixed', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Http::getActionName' => ['string'], + 'Yaf_Request_Http::getBaseUri' => ['string'], + 'Yaf_Request_Http::getControllerName' => ['string'], + 'Yaf_Request_Http::getCookie' => ['mixed', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Http::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf_Request_Http::getException' => ['Yaf_Exception'], + 'Yaf_Request_Http::getFiles' => ['void'], + 'Yaf_Request_Http::getLanguage' => ['string'], + 'Yaf_Request_Http::getMethod' => ['string'], + 'Yaf_Request_Http::getModuleName' => ['string'], + 'Yaf_Request_Http::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'Yaf_Request_Http::getParams' => ['array'], + 'Yaf_Request_Http::getPost' => ['mixed', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Http::getQuery' => ['mixed', 'name'=>'string', 'default='=>'string'], + 'Yaf_Request_Http::getRaw' => ['mixed'], + 'Yaf_Request_Http::getRequest' => ['void'], + 'Yaf_Request_Http::getRequestUri' => ['string'], + 'Yaf_Request_Http::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf_Request_Http::isCli' => ['bool'], + 'Yaf_Request_Http::isDispatched' => ['bool'], + 'Yaf_Request_Http::isGet' => ['bool'], + 'Yaf_Request_Http::isHead' => ['bool'], + 'Yaf_Request_Http::isOptions' => ['bool'], + 'Yaf_Request_Http::isPost' => ['bool'], + 'Yaf_Request_Http::isPut' => ['bool'], + 'Yaf_Request_Http::isRouted' => ['bool'], + 'Yaf_Request_Http::isXmlHttpRequest' => ['bool'], + 'Yaf_Request_Http::setActionName' => ['Yaf_Request_Abstract|bool', 'action'=>'string'], + 'Yaf_Request_Http::setBaseUri' => ['bool', 'uri'=>'string'], + 'Yaf_Request_Http::setControllerName' => ['Yaf_Request_Abstract|bool', 'controller'=>'string'], + 'Yaf_Request_Http::setDispatched' => ['bool'], + 'Yaf_Request_Http::setModuleName' => ['Yaf_Request_Abstract|bool', 'module'=>'string'], + 'Yaf_Request_Http::setParam' => ['Yaf_Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], + 'Yaf_Request_Http::setRequestUri' => ['', 'uri'=>'string'], + 'Yaf_Request_Http::setRouted' => ['Yaf_Request_Abstract|bool'], + 'Yaf_Request_Simple::__clone' => ['void'], + 'Yaf_Request_Simple::__construct' => ['void'], + 'Yaf_Request_Simple::get' => ['void'], + 'Yaf_Request_Simple::getActionName' => ['string'], + 'Yaf_Request_Simple::getBaseUri' => ['string'], + 'Yaf_Request_Simple::getControllerName' => ['string'], + 'Yaf_Request_Simple::getCookie' => ['void'], + 'Yaf_Request_Simple::getEnv' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf_Request_Simple::getException' => ['Yaf_Exception'], + 'Yaf_Request_Simple::getFiles' => ['void'], + 'Yaf_Request_Simple::getLanguage' => ['string'], + 'Yaf_Request_Simple::getMethod' => ['string'], + 'Yaf_Request_Simple::getModuleName' => ['string'], + 'Yaf_Request_Simple::getParam' => ['mixed', 'name'=>'string', 'default='=>'mixed'], + 'Yaf_Request_Simple::getParams' => ['array'], + 'Yaf_Request_Simple::getPost' => ['void'], + 'Yaf_Request_Simple::getQuery' => ['void'], + 'Yaf_Request_Simple::getRequest' => ['void'], + 'Yaf_Request_Simple::getRequestUri' => ['string'], + 'Yaf_Request_Simple::getServer' => ['mixed', 'name='=>'string', 'default='=>'mixed'], + 'Yaf_Request_Simple::isCli' => ['bool'], + 'Yaf_Request_Simple::isDispatched' => ['bool'], + 'Yaf_Request_Simple::isGet' => ['bool'], + 'Yaf_Request_Simple::isHead' => ['bool'], + 'Yaf_Request_Simple::isOptions' => ['bool'], + 'Yaf_Request_Simple::isPost' => ['bool'], + 'Yaf_Request_Simple::isPut' => ['bool'], + 'Yaf_Request_Simple::isRouted' => ['bool'], + 'Yaf_Request_Simple::isXmlHttpRequest' => ['void'], + 'Yaf_Request_Simple::setActionName' => ['Yaf_Request_Abstract|bool', 'action'=>'string'], + 'Yaf_Request_Simple::setBaseUri' => ['bool', 'uri'=>'string'], + 'Yaf_Request_Simple::setControllerName' => ['Yaf_Request_Abstract|bool', 'controller'=>'string'], + 'Yaf_Request_Simple::setDispatched' => ['bool'], + 'Yaf_Request_Simple::setModuleName' => ['Yaf_Request_Abstract|bool', 'module'=>'string'], + 'Yaf_Request_Simple::setParam' => ['Yaf_Request_Abstract|bool', 'name'=>'array|string', 'value='=>'string'], + 'Yaf_Request_Simple::setRequestUri' => ['', 'uri'=>'string'], + 'Yaf_Request_Simple::setRouted' => ['Yaf_Request_Abstract|bool'], + 'Yaf_Response_Abstract::__clone' => ['void'], + 'Yaf_Response_Abstract::__construct' => ['void'], + 'Yaf_Response_Abstract::__destruct' => ['void'], + 'Yaf_Response_Abstract::__toString' => ['string'], + 'Yaf_Response_Abstract::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Abstract::clearBody' => ['bool', 'key='=>'string'], + 'Yaf_Response_Abstract::clearHeaders' => ['void'], + 'Yaf_Response_Abstract::getBody' => ['mixed', 'key='=>'string'], + 'Yaf_Response_Abstract::getHeader' => ['void'], + 'Yaf_Response_Abstract::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Abstract::response' => ['void'], + 'Yaf_Response_Abstract::setAllHeaders' => ['void'], + 'Yaf_Response_Abstract::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Abstract::setHeader' => ['void'], + 'Yaf_Response_Abstract::setRedirect' => ['void'], + 'Yaf_Response_Cli::__clone' => ['void'], + 'Yaf_Response_Cli::__construct' => ['void'], + 'Yaf_Response_Cli::__destruct' => ['void'], + 'Yaf_Response_Cli::__toString' => ['string'], + 'Yaf_Response_Cli::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Cli::clearBody' => ['bool', 'key='=>'string'], + 'Yaf_Response_Cli::getBody' => ['mixed', 'key='=>'?string'], + 'Yaf_Response_Cli::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Cli::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Http::__clone' => ['void'], + 'Yaf_Response_Http::__construct' => ['void'], + 'Yaf_Response_Http::__destruct' => ['void'], + 'Yaf_Response_Http::__toString' => ['string'], + 'Yaf_Response_Http::appendBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Http::clearBody' => ['bool', 'key='=>'string'], + 'Yaf_Response_Http::clearHeaders' => ['Yaf_Response_Abstract|false', 'name='=>'string'], + 'Yaf_Response_Http::getBody' => ['mixed', 'key='=>'?string'], + 'Yaf_Response_Http::getHeader' => ['mixed', 'name='=>'string'], + 'Yaf_Response_Http::prependBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Http::response' => ['bool'], + 'Yaf_Response_Http::setAllHeaders' => ['bool', 'headers'=>'array'], + 'Yaf_Response_Http::setBody' => ['bool', 'content'=>'string', 'key='=>'string'], + 'Yaf_Response_Http::setHeader' => ['bool', 'name'=>'string', 'value'=>'string', 'replace='=>'bool', 'response_code='=>'int'], + 'Yaf_Response_Http::setRedirect' => ['bool', 'url'=>'string'], + 'Yaf_Route_Interface::__construct' => ['void'], + 'Yaf_Route_Interface::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Interface::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Route_Map::__construct' => ['void', 'controller_prefer='=>'string', 'delimiter='=>'string'], + 'Yaf_Route_Map::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Map::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Route_Regex::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'map='=>'array', 'verify='=>'array', 'reverse='=>'string'], + 'Yaf_Route_Regex::addConfig' => ['Yaf_Router|bool', 'config'=>'Yaf_Config_Abstract'], + 'Yaf_Route_Regex::addRoute' => ['Yaf_Router|bool', 'name'=>'string', 'route'=>'Yaf_Route_Interface'], + 'Yaf_Route_Regex::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Regex::getCurrentRoute' => ['string'], + 'Yaf_Route_Regex::getRoute' => ['Yaf_Route_Interface', 'name'=>'string'], + 'Yaf_Route_Regex::getRoutes' => ['Yaf_Route_Interface[]'], + 'Yaf_Route_Regex::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Route_Rewrite::__construct' => ['void', 'match'=>'string', 'route'=>'array', 'verify='=>'array'], + 'Yaf_Route_Rewrite::addConfig' => ['Yaf_Router|bool', 'config'=>'Yaf_Config_Abstract'], + 'Yaf_Route_Rewrite::addRoute' => ['Yaf_Router|bool', 'name'=>'string', 'route'=>'Yaf_Route_Interface'], + 'Yaf_Route_Rewrite::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Rewrite::getCurrentRoute' => ['string'], + 'Yaf_Route_Rewrite::getRoute' => ['Yaf_Route_Interface', 'name'=>'string'], + 'Yaf_Route_Rewrite::getRoutes' => ['Yaf_Route_Interface[]'], + 'Yaf_Route_Rewrite::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Route_Simple::__construct' => ['void', 'module_name'=>'string', 'controller_name'=>'string', 'action_name'=>'string'], + 'Yaf_Route_Simple::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Simple::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Route_Static::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Static::match' => ['void', 'uri'=>'string'], + 'Yaf_Route_Static::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Route_Supervar::__construct' => ['void', 'supervar_name'=>'string'], + 'Yaf_Route_Supervar::assemble' => ['string', 'info'=>'array', 'query='=>'array'], + 'Yaf_Route_Supervar::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Router::__construct' => ['void'], + 'Yaf_Router::addConfig' => ['bool', 'config'=>'Yaf_Config_Abstract'], + 'Yaf_Router::addRoute' => ['bool', 'name'=>'string', 'route'=>'Yaf_Route_Interface'], + 'Yaf_Router::getCurrentRoute' => ['string'], + 'Yaf_Router::getRoute' => ['Yaf_Route_Interface', 'name'=>'string'], + 'Yaf_Router::getRoutes' => ['mixed'], + 'Yaf_Router::route' => ['bool', 'request'=>'Yaf_Request_Abstract'], + 'Yaf_Session::__clone' => ['void'], + 'Yaf_Session::__construct' => ['void'], + 'Yaf_Session::__get' => ['void', 'name'=>'string'], + 'Yaf_Session::__isset' => ['void', 'name'=>'string'], + 'Yaf_Session::__set' => ['void', 'name'=>'string', 'value'=>'string'], + 'Yaf_Session::__sleep' => ['list'], + 'Yaf_Session::__unset' => ['void', 'name'=>'string'], + 'Yaf_Session::__wakeup' => ['void'], + 'Yaf_Session::count' => ['void'], + 'Yaf_Session::current' => ['void'], + 'Yaf_Session::del' => ['void', 'name'=>'string'], + 'Yaf_Session::get' => ['mixed', 'name'=>'string'], + 'Yaf_Session::getInstance' => ['void'], + 'Yaf_Session::has' => ['void', 'name'=>'string'], + 'Yaf_Session::key' => ['void'], + 'Yaf_Session::next' => ['void'], + 'Yaf_Session::offsetExists' => ['void', 'name'=>'string'], + 'Yaf_Session::offsetGet' => ['void', 'name'=>'string'], + 'Yaf_Session::offsetSet' => ['void', 'name'=>'string', 'value'=>'string'], + 'Yaf_Session::offsetUnset' => ['void', 'name'=>'string'], + 'Yaf_Session::rewind' => ['void'], + 'Yaf_Session::set' => ['Yaf_Session|bool', 'name'=>'string', 'value'=>'mixed'], + 'Yaf_Session::start' => ['void'], + 'Yaf_Session::valid' => ['void'], + 'Yaf_View_Interface::assign' => ['bool', 'name'=>'string', 'value='=>'string'], + 'Yaf_View_Interface::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'array'], + 'Yaf_View_Interface::getScriptPath' => ['string'], + 'Yaf_View_Interface::render' => ['string', 'tpl'=>'string', 'tpl_vars='=>'array'], + 'Yaf_View_Interface::setScriptPath' => ['void', 'template_dir'=>'string'], + 'Yaf_View_Simple::__construct' => ['void', 'tempalte_dir'=>'string', 'options='=>'array'], + 'Yaf_View_Simple::__get' => ['void', 'name='=>'string'], + 'Yaf_View_Simple::__isset' => ['void', 'name'=>'string'], + 'Yaf_View_Simple::__set' => ['void', 'name'=>'string', 'value'=>'mixed'], + 'Yaf_View_Simple::assign' => ['bool', 'name'=>'string', 'value='=>'mixed'], + 'Yaf_View_Simple::assignRef' => ['bool', 'name'=>'string', '&rw_value'=>'mixed'], + 'Yaf_View_Simple::clear' => ['bool', 'name='=>'string'], + 'Yaf_View_Simple::display' => ['bool', 'tpl'=>'string', 'tpl_vars='=>'array'], + 'Yaf_View_Simple::eval' => ['string', 'tpl_content'=>'string', 'tpl_vars='=>'array'], + 'Yaf_View_Simple::getScriptPath' => ['string'], + 'Yaf_View_Simple::render' => ['string', 'tpl'=>'string', 'tpl_vars='=>'array'], + 'Yaf_View_Simple::setScriptPath' => ['bool', 'template_dir'=>'string'], + 'Yar_Client::__call' => ['void', 'method'=>'string', 'parameters'=>'array'], + 'Yar_Client::__construct' => ['void', 'url'=>'string'], + 'Yar_Client::setOpt' => ['Yar_Client|false', 'name'=>'int', 'value'=>'mixed'], + 'Yar_Client_Exception::__clone' => ['void'], + 'Yar_Client_Exception::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'Yar_Client_Exception::__toString' => ['string'], + 'Yar_Client_Exception::__wakeup' => ['void'], + 'Yar_Client_Exception::getCode' => ['int'], + 'Yar_Client_Exception::getFile' => ['string'], + 'Yar_Client_Exception::getLine' => ['int'], + 'Yar_Client_Exception::getMessage' => ['string'], + 'Yar_Client_Exception::getPrevious' => ['?Exception|?Throwable'], + 'Yar_Client_Exception::getTrace' => ['list\',args?:array}>'], + 'Yar_Client_Exception::getTraceAsString' => ['string'], + 'Yar_Client_Exception::getType' => ['string'], + 'Yar_Concurrent_Client::call' => ['int', 'uri'=>'string', 'method'=>'string', 'parameters'=>'array', 'callback='=>'callable'], + 'Yar_Concurrent_Client::loop' => ['bool', 'callback='=>'callable', 'error_callback='=>'callable'], + 'Yar_Concurrent_Client::reset' => ['bool'], + 'Yar_Server::__construct' => ['void', 'object'=>'Object'], + 'Yar_Server::handle' => ['bool'], + 'Yar_Server_Exception::__clone' => ['void'], + 'Yar_Server_Exception::__construct' => ['void', 'message='=>'string', 'code='=>'int', 'previous='=>'?Exception|?Throwable'], + 'Yar_Server_Exception::__toString' => ['string'], + 'Yar_Server_Exception::__wakeup' => ['void'], + 'Yar_Server_Exception::getCode' => ['int'], + 'Yar_Server_Exception::getFile' => ['string'], + 'Yar_Server_Exception::getLine' => ['int'], + 'Yar_Server_Exception::getMessage' => ['string'], + 'Yar_Server_Exception::getPrevious' => ['?Exception|?Throwable'], + 'Yar_Server_Exception::getTrace' => ['list\',args?:array}>'], + 'Yar_Server_Exception::getTraceAsString' => ['string'], + 'Yar_Server_Exception::getType' => ['string'], + 'ZMQ::__construct' => ['void'], + 'ZMQContext::__construct' => ['void', 'io_threads='=>'int', 'is_persistent='=>'bool'], + 'ZMQContext::getOpt' => ['int|string', 'key'=>'string'], + 'ZMQContext::getSocket' => ['ZMQSocket', 'type'=>'int', 'persistent_id='=>'string', 'on_new_socket='=>'callable'], + 'ZMQContext::isPersistent' => ['bool'], + 'ZMQContext::setOpt' => ['ZMQContext', 'key'=>'int', 'value'=>'mixed'], + 'ZMQDevice::__construct' => ['void', 'frontend'=>'ZMQSocket', 'backend'=>'ZMQSocket', 'listener='=>'ZMQSocket'], + 'ZMQDevice::getIdleTimeout' => ['ZMQDevice'], + 'ZMQDevice::getTimerTimeout' => ['ZMQDevice'], + 'ZMQDevice::run' => ['void'], + 'ZMQDevice::setIdleCallback' => ['ZMQDevice', 'cb_func'=>'callable', 'timeout'=>'int', 'user_data='=>'mixed'], + 'ZMQDevice::setIdleTimeout' => ['ZMQDevice', 'timeout'=>'int'], + 'ZMQDevice::setTimerCallback' => ['ZMQDevice', 'cb_func'=>'callable', 'timeout'=>'int', 'user_data='=>'mixed'], + 'ZMQDevice::setTimerTimeout' => ['ZMQDevice', 'timeout'=>'int'], + 'ZMQPoll::add' => ['string', 'entry'=>'mixed', 'type'=>'int'], + 'ZMQPoll::clear' => ['ZMQPoll'], + 'ZMQPoll::count' => ['int'], + 'ZMQPoll::getLastErrors' => ['array'], + 'ZMQPoll::poll' => ['int', '&w_readable'=>'array', '&w_writable'=>'array', 'timeout='=>'int'], + 'ZMQPoll::remove' => ['bool', 'item'=>'mixed'], + 'ZMQSocket::__construct' => ['void', 'context'=>'ZMQContext', 'type'=>'int', 'persistent_id='=>'string', 'on_new_socket='=>'callable'], + 'ZMQSocket::bind' => ['ZMQSocket', 'dsn'=>'string', 'force='=>'bool'], + 'ZMQSocket::connect' => ['ZMQSocket', 'dsn'=>'string', 'force='=>'bool'], + 'ZMQSocket::disconnect' => ['ZMQSocket', 'dsn'=>'string'], + 'ZMQSocket::getEndpoints' => ['array'], + 'ZMQSocket::getPersistentId' => ['?string'], + 'ZMQSocket::getSockOpt' => ['int|string', 'key'=>'string'], + 'ZMQSocket::getSocketType' => ['int'], + 'ZMQSocket::isPersistent' => ['bool'], + 'ZMQSocket::recv' => ['string', 'mode='=>'int'], + 'ZMQSocket::recvMulti' => ['string[]', 'mode='=>'int'], + 'ZMQSocket::send' => ['ZMQSocket', 'message'=>'array', 'mode='=>'int'], + 'ZMQSocket::send\'1' => ['ZMQSocket', 'message'=>'string', 'mode='=>'int'], + 'ZMQSocket::sendmulti' => ['ZMQSocket', 'message'=>'array', 'mode='=>'int'], + 'ZMQSocket::setSockOpt' => ['ZMQSocket', 'key'=>'int', 'value'=>'mixed'], + 'ZMQSocket::unbind' => ['ZMQSocket', 'dsn'=>'string'], + 'ZendAPI_Job::ZendAPI_Job' => ['Job', 'script'=>'script'], + 'ZendAPI_Job::addJobToQueue' => ['int', 'jobqueue_url'=>'string', 'password'=>'string'], + 'ZendAPI_Job::getApplicationID' => [''], + 'ZendAPI_Job::getEndTime' => [''], + 'ZendAPI_Job::getGlobalVariables' => [''], + 'ZendAPI_Job::getHost' => [''], + 'ZendAPI_Job::getID' => [''], + 'ZendAPI_Job::getInterval' => [''], + 'ZendAPI_Job::getJobDependency' => [''], + 'ZendAPI_Job::getJobName' => [''], + 'ZendAPI_Job::getJobPriority' => [''], + 'ZendAPI_Job::getJobStatus' => ['int'], + 'ZendAPI_Job::getLastPerformedStatus' => ['int'], + 'ZendAPI_Job::getOutput' => ['An'], + 'ZendAPI_Job::getPreserved' => [''], + 'ZendAPI_Job::getProperties' => ['array'], + 'ZendAPI_Job::getScheduledTime' => [''], + 'ZendAPI_Job::getScript' => [''], + 'ZendAPI_Job::getTimeToNextRepeat' => ['int'], + 'ZendAPI_Job::getUserVariables' => [''], + 'ZendAPI_Job::setApplicationID' => ['', 'app_id'=>''], + 'ZendAPI_Job::setGlobalVariables' => ['', 'vars'=>''], + 'ZendAPI_Job::setJobDependency' => ['', 'job_id'=>''], + 'ZendAPI_Job::setJobName' => ['', 'name'=>''], + 'ZendAPI_Job::setJobPriority' => ['', 'priority'=>'int'], + 'ZendAPI_Job::setPreserved' => ['', 'preserved'=>''], + 'ZendAPI_Job::setRecurrenceData' => ['', 'interval'=>'', 'end_time='=>'mixed'], + 'ZendAPI_Job::setScheduledTime' => ['', 'timestamp'=>''], + 'ZendAPI_Job::setScript' => ['', 'script'=>''], + 'ZendAPI_Job::setUserVariables' => ['', 'vars'=>''], + 'ZendAPI_Queue::addJob' => ['int', '&job'=>'Job'], + 'ZendAPI_Queue::getAllApplicationIDs' => ['array'], + 'ZendAPI_Queue::getAllhosts' => ['array'], + 'ZendAPI_Queue::getHistoricJobs' => ['array', 'status'=>'int', 'start_time'=>'', 'end_time'=>'', 'index'=>'int', 'count'=>'int', '&total'=>'int'], + 'ZendAPI_Queue::getJob' => ['Job', 'job_id'=>'int'], + 'ZendAPI_Queue::getJobsInQueue' => ['array', 'filter_options='=>'array', 'max_jobs='=>'int', 'with_globals_and_output='=>'bool'], + 'ZendAPI_Queue::getLastError' => ['string'], + 'ZendAPI_Queue::getNumOfJobsInQueue' => ['int', 'filter_options='=>'array'], + 'ZendAPI_Queue::getStatistics' => ['array'], + 'ZendAPI_Queue::isScriptExists' => ['bool', 'path'=>'string'], + 'ZendAPI_Queue::isSuspend' => ['bool'], + 'ZendAPI_Queue::login' => ['bool', 'password'=>'string', 'application_id='=>'int'], + 'ZendAPI_Queue::removeJob' => ['bool', 'job_id'=>'array|int'], + 'ZendAPI_Queue::requeueJob' => ['bool', 'job'=>'Job'], + 'ZendAPI_Queue::resumeJob' => ['bool', 'job_id'=>'array|int'], + 'ZendAPI_Queue::resumeQueue' => ['bool'], + 'ZendAPI_Queue::setMaxHistoryTime' => ['bool'], + 'ZendAPI_Queue::suspendJob' => ['bool', 'job_id'=>'array|int'], + 'ZendAPI_Queue::suspendQueue' => ['bool'], + 'ZendAPI_Queue::updateJob' => ['int', '&job'=>'Job'], + 'ZendAPI_Queue::zendapi_queue' => ['ZendAPI_Queue', 'queue_url'=>'string'], + 'ZipArchive::addEmptyDir' => ['bool', 'dirname'=>'string'], + 'ZipArchive::addFile' => ['bool', 'filepath'=>'string', 'entryname='=>'string', 'start='=>'int', 'length='=>'int'], + 'ZipArchive::addFromString' => ['bool', 'name'=>'string', 'content'=>'string'], + 'ZipArchive::addGlob' => ['array|false', 'pattern'=>'string', 'flags='=>'int', 'options='=>'array'], + 'ZipArchive::addPattern' => ['array|false', 'pattern'=>'string', 'path='=>'string', 'options='=>'array'], + 'ZipArchive::close' => ['bool'], + 'ZipArchive::deleteIndex' => ['bool', 'index'=>'int'], + 'ZipArchive::deleteName' => ['bool', 'name'=>'string'], + 'ZipArchive::extractTo' => ['bool', 'pathto'=>'string', 'files='=>'string[]|string|null'], + 'ZipArchive::getArchiveComment' => ['string|false', 'flags='=>'int'], + 'ZipArchive::getCommentIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'], + 'ZipArchive::getCommentName' => ['string|false', 'name'=>'string', 'flags='=>'int'], + 'ZipArchive::getExternalAttributesIndex' => ['bool', 'index'=>'int', '&w_opsys'=>'int', '&w_attr'=>'int', 'flags='=>'int'], + 'ZipArchive::getExternalAttributesName' => ['bool', 'name'=>'string', '&w_opsys'=>'int', '&w_attr'=>'int', 'flags='=>'int'], + 'ZipArchive::getFromIndex' => ['string|false', 'index'=>'int', 'len='=>'int', 'flags='=>'int'], + 'ZipArchive::getFromName' => ['string|false', 'name'=>'string', 'len='=>'int', 'flags='=>'int'], + 'ZipArchive::getNameIndex' => ['string|false', 'index'=>'int', 'flags='=>'int'], + 'ZipArchive::getStatusString' => ['string|false'], + 'ZipArchive::getStream' => ['resource|false', 'name'=>'string'], + 'ZipArchive::isCompressionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'], + 'ZipArchive::isEncryptionMethodSupported' => ['bool', 'method'=>'int', 'encode='=>'bool'], + 'ZipArchive::locateName' => ['int|false', 'name'=>'string', 'flags='=>'int'], + 'ZipArchive::open' => ['int|bool', 'filename'=>'string', 'flags='=>'int'], + 'ZipArchive::registerCancelCallback' => ['bool', 'callback'=>'callable'], + 'ZipArchive::registerProgressCallback' => ['bool', 'rate'=>'float', 'callback'=>'callable'], + 'ZipArchive::renameIndex' => ['bool', 'index'=>'int', 'new_name'=>'string'], + 'ZipArchive::renameName' => ['bool', 'name'=>'string', 'new_name'=>'string'], + 'ZipArchive::replaceFile' => ['bool', 'filepath'=>'string', 'index'=>'int', 'start='=>'int', 'length='=>'int', 'flags='=>'int'], + 'ZipArchive::setArchiveComment' => ['bool', 'comment'=>'string'], + 'ZipArchive::setCommentIndex' => ['bool', 'index'=>'int', 'comment'=>'string'], + 'ZipArchive::setCommentName' => ['bool', 'name'=>'string', 'comment'=>'string'], + 'ZipArchive::setCompressionIndex' => ['bool', 'index'=>'int', 'comp_method'=>'int', 'comp_flags='=>'int'], + 'ZipArchive::setCompressionName' => ['bool', 'name'=>'string', 'comp_method'=>'int', 'comp_flags='=>'int'], + 'ZipArchive::setExternalAttributesIndex' => ['bool', 'index'=>'int', 'opsys'=>'int', 'attr'=>'int', 'flags='=>'int'], + 'ZipArchive::setExternalAttributesName' => ['bool', 'name'=>'string', 'opsys'=>'int', 'attr'=>'int', 'flags='=>'int'], + 'ZipArchive::setMtimeIndex' => ['bool', 'index'=>'int', 'timestamp'=>'int', 'flags='=>'int'], + 'ZipArchive::setMtimeName' => ['bool', 'name'=>'string', 'timestamp'=>'int', 'flags='=>'int'], + 'ZipArchive::setPassword' => ['bool', 'password'=>'string'], + 'ZipArchive::statIndex' => ['array|false', 'index'=>'int', 'flags='=>'int'], + 'ZipArchive::statName' => ['array|false', 'name'=>'string', 'flags='=>'int'], + 'ZipArchive::unchangeAll' => ['bool'], + 'ZipArchive::unchangeArchive' => ['bool'], + 'ZipArchive::unchangeIndex' => ['bool', 'index'=>'int'], + 'ZipArchive::unchangeName' => ['bool', 'name'=>'string'], + 'Zookeeper::addAuth' => ['bool', 'scheme'=>'string', 'cert'=>'string', 'completion_cb='=>'callable'], + 'Zookeeper::close' => ['void'], + 'Zookeeper::connect' => ['void', 'host'=>'string', 'watcher_cb='=>'callable', 'recv_timeout='=>'int'], + 'Zookeeper::create' => ['string', 'path'=>'string', 'value'=>'string', 'acls'=>'array', 'flags='=>'int'], + 'Zookeeper::delete' => ['bool', 'path'=>'string', 'version='=>'int'], + 'Zookeeper::exists' => ['bool', 'path'=>'string', 'watcher_cb='=>'callable'], + 'Zookeeper::get' => ['string', 'path'=>'string', 'watcher_cb='=>'callable', 'stat='=>'array', 'max_size='=>'int'], + 'Zookeeper::getAcl' => ['array', 'path'=>'string'], + 'Zookeeper::getChildren' => ['array|false', 'path'=>'string', 'watcher_cb='=>'callable'], + 'Zookeeper::getClientId' => ['int'], + 'Zookeeper::getConfig' => ['ZookeeperConfig'], + 'Zookeeper::getRecvTimeout' => ['int'], + 'Zookeeper::getState' => ['int'], + 'Zookeeper::isRecoverable' => ['bool'], + 'Zookeeper::set' => ['bool', 'path'=>'string', 'value'=>'string', 'version='=>'int', 'stat='=>'array'], + 'Zookeeper::setAcl' => ['bool', 'path'=>'string', 'version'=>'int', 'acl'=>'array'], + 'Zookeeper::setDebugLevel' => ['bool', 'logLevel'=>'int'], + 'Zookeeper::setDeterministicConnOrder' => ['bool', 'yesOrNo'=>'bool'], + 'Zookeeper::setLogStream' => ['bool', 'stream'=>'resource'], + 'Zookeeper::setWatcher' => ['bool', 'watcher_cb'=>'callable'], + 'ZookeeperConfig::add' => ['void', 'members'=>'string', 'version='=>'int', 'stat='=>'array'], + 'ZookeeperConfig::get' => ['string', 'watcher_cb='=>'callable', 'stat='=>'array'], + 'ZookeeperConfig::remove' => ['void', 'id_list'=>'string', 'version='=>'int', 'stat='=>'array'], + 'ZookeeperConfig::set' => ['void', 'members'=>'string', 'version='=>'int', 'stat='=>'array'], + '_' => ['string', 'message'=>'string'], + '__halt_compiler' => ['void'], + 'abs' => ['0|positive-int', 'num'=>'int'], + 'abs\'1' => ['float', 'num'=>'float'], + 'abs\'2' => ['numeric', 'num'=>'numeric'], + 'accelerator_get_configuration' => ['array'], + 'accelerator_get_scripts' => ['array'], + 'accelerator_get_status' => ['array', 'fetch_scripts'=>'bool'], + 'accelerator_reset' => [''], + 'accelerator_set_status' => ['void', 'status'=>'bool'], + 'acos' => ['float', 'num'=>'float'], + 'acosh' => ['float', 'num'=>'float'], + 'addcslashes' => ['string', 'string'=>'string', 'characters'=>'string'], + 'addslashes' => ['string', 'string'=>'string'], + 'apache_child_terminate' => ['bool'], + 'apache_get_modules' => ['array'], + 'apache_get_version' => ['string|false'], + 'apache_getenv' => ['string|false', 'variable'=>'string', 'walk_to_top='=>'bool'], + 'apache_lookup_uri' => ['object', 'filename'=>'string'], + 'apache_note' => ['string|false', 'note_name'=>'string', 'note_value='=>'string'], + 'apache_request_headers' => ['array|false'], + 'apache_reset_timeout' => ['bool'], + 'apache_response_headers' => ['array|false'], + 'apache_setenv' => ['bool', 'variable'=>'string', 'value'=>'string', 'walk_to_top='=>'bool'], + 'apc_add' => ['bool', 'key'=>'string', 'var'=>'mixed', 'ttl='=>'int'], + 'apc_add\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], + 'apc_bin_dump' => ['string|false|null', 'files='=>'array', 'user_vars='=>'array'], + 'apc_bin_dumpfile' => ['int|false', 'files'=>'array', 'user_vars'=>'array', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], + 'apc_bin_load' => ['bool', 'data'=>'string', 'flags='=>'int'], + 'apc_bin_loadfile' => ['bool', 'filename'=>'string', 'context='=>'resource', 'flags='=>'int'], + 'apc_cache_info' => ['array|false', 'cache_type='=>'string', 'limited='=>'bool'], + 'apc_cas' => ['bool', 'key'=>'string', 'old'=>'int', 'new'=>'int'], + 'apc_clear_cache' => ['bool', 'cache_type='=>'string'], + 'apc_compile_file' => ['bool', 'filename'=>'string', 'atomic='=>'bool'], + 'apc_dec' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool'], + 'apc_define_constants' => ['bool', 'key'=>'string', 'constants'=>'array', 'case_sensitive='=>'bool'], + 'apc_delete' => ['bool', 'key'=>'string|string[]|APCIterator'], + 'apc_delete_file' => ['bool|string[]', 'keys'=>'mixed'], + 'apc_exists' => ['bool', 'keys'=>'string'], + 'apc_exists\'1' => ['array', 'keys'=>'string[]'], + 'apc_fetch' => ['mixed|false', 'key'=>'string', '&w_success='=>'bool'], + 'apc_fetch\'1' => ['array|false', 'key'=>'string[]', '&w_success='=>'bool'], + 'apc_inc' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool'], + 'apc_load_constants' => ['bool', 'key'=>'string', 'case_sensitive='=>'bool'], + 'apc_sma_info' => ['array|false', 'limited='=>'bool'], + 'apc_store' => ['bool', 'key'=>'string', 'var'=>'', 'ttl='=>'int'], + 'apc_store\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], + 'apcu_add' => ['bool', 'key'=>'string', 'var'=>'', 'ttl='=>'int'], + 'apcu_add\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], + 'apcu_cache_info' => ['array|false', 'limited='=>'bool'], + 'apcu_cas' => ['bool', 'key'=>'string', 'old'=>'int', 'new'=>'int'], + 'apcu_clear_cache' => ['bool'], + 'apcu_dec' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool', 'ttl='=>'int'], + 'apcu_delete' => ['bool', 'key'=>'string|APCuIterator'], + 'apcu_delete\'1' => ['list', 'key'=>'string[]'], + 'apcu_enabled' => ['bool'], + 'apcu_entry' => ['mixed', 'key'=>'string', 'generator'=>'callable(string):mixed', 'ttl='=>'int'], + 'apcu_exists' => ['bool', 'keys'=>'string'], + 'apcu_exists\'1' => ['array', 'keys'=>'string[]'], + 'apcu_fetch' => ['mixed|false', 'key'=>'string', '&w_success='=>'bool'], + 'apcu_fetch\'1' => ['array|false', 'key'=>'string[]', '&w_success='=>'bool'], + 'apcu_inc' => ['int|false', 'key'=>'string', 'step='=>'int', '&w_success='=>'bool', 'ttl='=>'int'], + 'apcu_key_info' => ['?array', 'key'=>'string'], + 'apcu_sma_info' => ['array|false', 'limited='=>'bool'], + 'apcu_store' => ['bool', 'key'=>'string', 'var='=>'', 'ttl='=>'int'], + 'apcu_store\'1' => ['array', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], + 'apd_breakpoint' => ['bool', 'debug_level'=>'int'], + 'apd_callstack' => ['array'], + 'apd_clunk' => ['void', 'warning'=>'string', 'delimiter='=>'string'], + 'apd_continue' => ['bool', 'debug_level'=>'int'], + 'apd_croak' => ['void', 'warning'=>'string', 'delimiter='=>'string'], + 'apd_dump_function_table' => ['void'], + 'apd_dump_persistent_resources' => ['array'], + 'apd_dump_regular_resources' => ['array'], + 'apd_echo' => ['bool', 'output'=>'string'], + 'apd_get_active_symbols' => ['array'], + 'apd_set_pprof_trace' => ['string', 'dump_directory='=>'string', 'fragment='=>'string'], + 'apd_set_session' => ['void', 'debug_level'=>'int'], + 'apd_set_session_trace' => ['void', 'debug_level'=>'int', 'dump_directory='=>'string'], + 'apd_set_session_trace_socket' => ['bool', 'tcp_server'=>'string', 'socket_type'=>'int', 'port'=>'int', 'debug_level'=>'int'], + 'array_change_key_case' => ['associative-array', 'array'=>'array', 'case='=>'int'], + 'array_chunk' => ['list', 'array'=>'array', 'length'=>'int', 'preserve_keys='=>'bool'], + 'array_column' => ['array', 'array'=>'array', 'column_key'=>'mixed', 'index_key='=>'mixed'], + 'array_combine' => ['associative-array|false', 'keys'=>'string[]|int[]', 'values'=>'array'], + 'array_count_values' => ['associative-array', 'array'=>'array'], + 'array_diff' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'array_diff_assoc' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'array_diff_key' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'array_diff_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_comp_func'=>'callable(mixed,mixed):int'], + 'array_diff_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_diff_ukey' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_comp_func'=>'callable(mixed,mixed):int'], + 'array_diff_ukey\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_fill' => ['array', 'start_index'=>'int', 'count'=>'int', 'value'=>'mixed'], + 'array_fill_keys' => ['array', 'keys'=>'array', 'value'=>'mixed'], + 'array_filter' => ['associative-array', 'array'=>'array', 'callback='=>'callable(mixed,mixed=):scalar', 'mode='=>'int'], + 'array_flip' => ['associative-array|associative-array', 'array'=>'array'], + 'array_intersect' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'array_intersect_assoc' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'array_intersect_key' => ['associative-array', 'array'=>'array', '...arrays'=>'array'], + 'array_intersect_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_compare_func'=>'callable(mixed,mixed):int'], + 'array_intersect_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest'=>'array|callable(mixed,mixed):int'], + 'array_intersect_ukey' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_compare_func'=>'callable(mixed,mixed):int'], + 'array_intersect_ukey\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest'=>'array|callable(mixed,mixed):int'], + 'array_key_exists' => ['bool', 'key'=>'string|int', 'array'=>'array|object'], + 'array_keys' => ['list', 'array'=>'array', 'filter_value='=>'mixed', 'strict='=>'bool'], + 'array_map' => ['array', 'callback'=>'?callable', 'array'=>'array', '...arrays='=>'array'], + 'array_merge' => ['array', '...arrays'=>'array'], + 'array_merge_recursive' => ['array', '...arrays'=>'array'], + 'array_multisort' => ['bool', '&rw_array'=>'array', 'rest='=>'array|int', 'array1_sort_flags='=>'array|int', '...args='=>'array|int'], + 'array_pad' => ['array', 'array'=>'array', 'length'=>'int', 'value'=>'mixed'], + 'array_pop' => ['mixed', '&rw_array'=>'array'], + 'array_product' => ['int|float', 'array'=>'array'], + 'array_push' => ['int', '&rw_array'=>'array', '...values'=>'mixed'], + 'array_rand' => ['int|string|array|array', 'array'=>'non-empty-array', 'num'=>'int'], + 'array_rand\'1' => ['int|string', 'array'=>'array'], + 'array_reduce' => ['mixed', 'array'=>'array', 'callback'=>'callable(mixed,mixed):mixed', 'initial='=>'mixed'], + 'array_replace' => ['array', 'array'=>'array', '...replacements='=>'array'], + 'array_replace_recursive' => ['array', 'array'=>'array', '...replacements='=>'array'], + 'array_reverse' => ['array', 'array'=>'array', 'preserve_keys='=>'bool'], + 'array_search' => ['int|string|false', 'needle'=>'mixed', 'haystack'=>'array', 'strict='=>'bool'], + 'array_shift' => ['mixed|null', '&rw_array'=>'array'], + 'array_slice' => ['array', 'array'=>'array', 'offset'=>'int', 'length='=>'?int', 'preserve_keys='=>'bool'], + 'array_splice' => ['array', '&rw_array'=>'array', 'offset'=>'int', 'length='=>'int', 'replacement='=>'array|string'], + 'array_sum' => ['int|float', 'array'=>'array'], + 'array_udiff' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_comp_func'=>'callable(mixed,mixed):int'], + 'array_udiff\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_udiff_assoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'key_comp_func'=>'callable(mixed,mixed):int'], + 'array_udiff_assoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_udiff_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_comp_func'=>'callable(mixed,mixed):int', 'key_comp_func'=>'callable(mixed,mixed):int'], + 'array_udiff_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', 'arg5'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_uintersect' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_compare_func'=>'callable(mixed,mixed):int'], + 'array_uintersect\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_uintersect_assoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_compare_func'=>'callable(mixed,mixed):int'], + 'array_uintersect_assoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_uintersect_uassoc' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'data_compare_func'=>'callable(mixed,mixed):int', 'key_compare_func'=>'callable(mixed,mixed):int'], + 'array_uintersect_uassoc\'1' => ['associative-array', 'array'=>'array', 'rest'=>'array', 'arr3'=>'array', 'arg4'=>'array|callable(mixed,mixed):int', 'arg5'=>'array|callable(mixed,mixed):int', '...rest='=>'array|callable(mixed,mixed):int'], + 'array_unique' => ['array', 'array'=>'array', 'flags='=>'0'], + 'array_unique\'1' => ['array', 'array'=>'array', 'flags='=>'1'], + 'array_unique\'2' => ['array', 'array'=>'array', 'flags='=>'2|5'], + 'array_unshift' => ['int', '&rw_array'=>'array', '...values'=>'mixed'], + 'array_values' => ['list', 'array'=>'array'], + 'array_walk' => ['bool', '&rw_array'=>'array', 'callback'=>'callable', 'arg='=>'mixed'], + 'array_walk\'1' => ['bool', '&rw_array'=>'object', 'callback'=>'callable', 'arg='=>'mixed'], + 'array_walk_recursive' => ['bool', '&rw_array'=>'array', 'callback'=>'callable', 'arg='=>'mixed'], + 'array_walk_recursive\'1' => ['bool', '&rw_array'=>'object', 'callback'=>'callable', 'arg='=>'mixed'], + 'arsort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], + 'asin' => ['float', 'num'=>'float'], + 'asinh' => ['float', 'num'=>'float'], + 'asort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], + 'assert' => ['bool', 'assertion'=>'string|bool|int', 'description='=>'string|Throwable|null'], + 'assert_options' => ['mixed|false', 'option'=>'int', 'value='=>'mixed'], + 'ast\Node::__construct' => ['void', 'kind='=>'int', 'flags='=>'int', 'children='=>'ast\Node\Decl[]|ast\Node[]|int[]|string[]|float[]|bool[]|null[]', 'start_line='=>'int'], + 'ast\get_kind_name' => ['string', 'kind'=>'int'], + 'ast\get_metadata' => ['array'], + 'ast\get_supported_versions' => ['array', 'exclude_deprecated='=>'bool'], + 'ast\kind_uses_flags' => ['bool', 'kind'=>'int'], + 'ast\parse_code' => ['ast\Node', 'code'=>'string', 'version'=>'int', 'filename='=>'string'], + 'ast\parse_file' => ['ast\Node', 'filename'=>'string', 'version'=>'int'], + 'atan' => ['float', 'num'=>'float'], + 'atan2' => ['float', 'y'=>'float', 'x'=>'float'], + 'atanh' => ['float', 'num'=>'float'], + 'base64_decode' => ['string|false', 'string'=>'string', 'strict='=>'bool'], + 'base64_encode' => ['string', 'string'=>'string'], + 'base_convert' => ['string', 'num'=>'string', 'from_base'=>'int', 'to_base'=>'int'], + 'basename' => ['string', 'path'=>'string', 'suffix='=>'string'], + 'bbcode_add_element' => ['bool', 'bbcode_container'=>'resource', 'tag_name'=>'string', 'tag_rules'=>'array'], + 'bbcode_add_smiley' => ['bool', 'bbcode_container'=>'resource', 'smiley'=>'string', 'replace_by'=>'string'], + 'bbcode_create' => ['resource', 'bbcode_initial_tags='=>'array'], + 'bbcode_destroy' => ['bool', 'bbcode_container'=>'resource'], + 'bbcode_parse' => ['string', 'bbcode_container'=>'resource', 'to_parse'=>'string'], + 'bbcode_set_arg_parser' => ['bool', 'bbcode_container'=>'resource', 'bbcode_arg_parser'=>'resource'], + 'bbcode_set_flags' => ['bool', 'bbcode_container'=>'resource', 'flags'=>'int', 'mode='=>'int'], + 'bcadd' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'bccomp' => ['int', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'bcdiv' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'bcmod' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'bcmul' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'bcompiler_load' => ['bool', 'filename'=>'string'], + 'bcompiler_load_exe' => ['bool', 'filename'=>'string'], + 'bcompiler_parse_class' => ['bool', 'class'=>'string', 'callback'=>'string'], + 'bcompiler_read' => ['bool', 'filehandle'=>'resource'], + 'bcompiler_write_class' => ['bool', 'filehandle'=>'resource', 'classname'=>'string', 'extends='=>'string'], + 'bcompiler_write_constant' => ['bool', 'filehandle'=>'resource', 'constantname'=>'string'], + 'bcompiler_write_exe_footer' => ['bool', 'filehandle'=>'resource', 'startpos'=>'int'], + 'bcompiler_write_file' => ['bool', 'filehandle'=>'resource', 'filename'=>'string'], + 'bcompiler_write_footer' => ['bool', 'filehandle'=>'resource'], + 'bcompiler_write_function' => ['bool', 'filehandle'=>'resource', 'functionname'=>'string'], + 'bcompiler_write_functions_from_file' => ['bool', 'filehandle'=>'resource', 'filename'=>'string'], + 'bcompiler_write_header' => ['bool', 'filehandle'=>'resource', 'write_ver='=>'string'], + 'bcompiler_write_included_filename' => ['bool', 'filehandle'=>'resource', 'filename'=>'string'], + 'bcpow' => ['numeric-string', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'scale='=>'int'], + 'bcpowmod' => ['numeric-string|false', 'num'=>'numeric-string', 'exponent'=>'numeric-string', 'modulus'=>'numeric-string', 'scale='=>'int'], + 'bcscale' => ['int', 'scale'=>'int'], + 'bcsqrt' => ['numeric-string', 'num'=>'numeric-string', 'scale='=>'int'], + 'bcsub' => ['numeric-string', 'num1'=>'numeric-string', 'num2'=>'numeric-string', 'scale='=>'int'], + 'bin2hex' => ['string', 'string'=>'string'], + 'bind_textdomain_codeset' => ['string', 'domain'=>'string', 'codeset'=>'string'], + 'bindec' => ['float|int', 'binary_string'=>'string'], + 'bindtextdomain' => ['string', 'domain'=>'string', 'directory'=>'string'], + 'birdstep_autocommit' => ['bool', 'index'=>'int'], + 'birdstep_close' => ['bool', 'id'=>'int'], + 'birdstep_commit' => ['bool', 'index'=>'int'], + 'birdstep_connect' => ['int', 'server'=>'string', 'user'=>'string', 'pass'=>'string'], + 'birdstep_exec' => ['int', 'index'=>'int', 'exec_str'=>'string'], + 'birdstep_fetch' => ['bool', 'index'=>'int'], + 'birdstep_fieldname' => ['string', 'index'=>'int', 'col'=>'int'], + 'birdstep_fieldnum' => ['int', 'index'=>'int'], + 'birdstep_freeresult' => ['bool', 'index'=>'int'], + 'birdstep_off_autocommit' => ['bool', 'index'=>'int'], + 'birdstep_result' => ['', 'index'=>'int', 'col'=>''], + 'birdstep_rollback' => ['bool', 'index'=>'int'], + 'blenc_encrypt' => ['string', 'plaintext'=>'string', 'encodedfile'=>'string', 'encryption_key='=>'string'], + 'boolval' => ['bool', 'value'=>'mixed'], + 'bson_decode' => ['array', 'bson'=>'string'], + 'bson_encode' => ['string', 'anything'=>'mixed'], + 'bzclose' => ['bool', 'bz'=>'resource'], + 'bzcompress' => ['string|int', 'data'=>'string', 'block_size='=>'int', 'work_factor='=>'int'], + 'bzdecompress' => ['string|int|false', 'data'=>'string', 'use_less_memory='=>'int'], + 'bzerrno' => ['int', 'bz'=>'resource'], + 'bzerror' => ['array', 'bz'=>'resource'], + 'bzerrstr' => ['string', 'bz'=>'resource'], + 'bzflush' => ['bool', 'bz'=>'resource'], + 'bzopen' => ['resource|false', 'file'=>'string|resource', 'mode'=>'string'], + 'bzread' => ['string|false', 'bz'=>'resource', 'length='=>'int'], + 'bzwrite' => ['int|false', 'bz'=>'resource', 'data'=>'string', 'length='=>'int'], + 'cal_days_in_month' => ['int', 'calendar'=>'int', 'month'=>'int', 'year'=>'int'], + 'cal_from_jd' => ['array{date:string,month:int,day:int,year:int,dow:int,abbrevdayname:string,dayname:string,abbrevmonth:string,monthname:string}', 'julian_day'=>'int', 'calendar'=>'int'], + 'cal_info' => ['array', 'calendar='=>'int'], + 'cal_to_jd' => ['int', 'calendar'=>'int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], + 'calcul_hmac' => ['string', 'clent'=>'string', 'siretcode'=>'string', 'price'=>'string', 'reference'=>'string', 'validity'=>'string', 'taxation'=>'string', 'devise'=>'string', 'language'=>'string'], + 'calculhmac' => ['string', 'clent'=>'string', 'data'=>'string'], + 'call_user_func' => ['mixed|false', 'callback'=>'callable', '...args='=>'mixed'], + 'call_user_func_array' => ['mixed|false', 'callback'=>'callable', 'args'=>'list'], + 'call_user_method' => ['mixed', 'method_name'=>'string', 'object'=>'object', 'parameter='=>'mixed', '...args='=>'mixed'], + 'call_user_method_array' => ['mixed', 'method_name'=>'string', 'object'=>'object', 'params'=>'list'], + 'ceil' => ['float', 'num'=>'float'], + 'chdb::__construct' => ['void', 'pathname'=>'string'], + 'chdb::get' => ['string', 'key'=>'string'], + 'chdb_create' => ['bool', 'pathname'=>'string', 'data'=>'array'], + 'chdir' => ['bool', 'directory'=>'string'], + 'checkdate' => ['bool', 'month'=>'int', 'day'=>'int', 'year'=>'int'], + 'checkdnsrr' => ['bool', 'hostname'=>'string', 'type='=>'string'], + 'chgrp' => ['bool', 'filename'=>'string', 'group'=>'string|int'], + 'chmod' => ['bool', 'filename'=>'string', 'permissions'=>'int'], + 'chop' => ['string', 'string'=>'string', 'characters='=>'string'], + 'chown' => ['bool', 'filename'=>'string', 'user'=>'string|int'], + 'chr' => ['non-empty-string', 'codepoint'=>'int'], + 'chroot' => ['bool', 'directory'=>'string'], + 'chunk_split' => ['string', 'string'=>'string', 'length='=>'int', 'separator='=>'string'], + 'classObj::__construct' => ['void', 'layer'=>'layerObj', 'class'=>'classObj'], + 'classObj::addLabel' => ['int', 'label'=>'labelObj'], + 'classObj::convertToString' => ['string'], + 'classObj::createLegendIcon' => ['imageObj', 'width'=>'int', 'height'=>'int'], + 'classObj::deletestyle' => ['int', 'index'=>'int'], + 'classObj::drawLegendIcon' => ['int', 'width'=>'int', 'height'=>'int', 'im'=>'imageObj', 'dstX'=>'int', 'dstY'=>'int'], + 'classObj::free' => ['void'], + 'classObj::getExpressionString' => ['string'], + 'classObj::getLabel' => ['labelObj', 'index'=>'int'], + 'classObj::getMetaData' => ['int', 'name'=>'string'], + 'classObj::getStyle' => ['styleObj', 'index'=>'int'], + 'classObj::getTextString' => ['string'], + 'classObj::movestyledown' => ['int', 'index'=>'int'], + 'classObj::movestyleup' => ['int', 'index'=>'int'], + 'classObj::ms_newClassObj' => ['classObj', 'layer'=>'layerObj', 'class'=>'classObj'], + 'classObj::removeLabel' => ['labelObj', 'index'=>'int'], + 'classObj::removeMetaData' => ['int', 'name'=>'string'], + 'classObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'classObj::setExpression' => ['int', 'expression'=>'string'], + 'classObj::setMetaData' => ['int', 'name'=>'string', 'value'=>'string'], + 'classObj::settext' => ['int', 'text'=>'string'], + 'classObj::updateFromString' => ['int', 'snippet'=>'string'], + 'class_alias' => ['bool', 'class'=>'string', 'alias'=>'string', 'autoload='=>'bool'], + 'class_exists' => ['bool', 'class'=>'string', 'autoload='=>'bool'], + 'class_implements' => ['array|false', 'object_or_class'=>'object|string', 'autoload='=>'bool'], + 'class_parents' => ['array|false', 'object_or_class'=>'object|string', 'autoload='=>'bool'], + 'class_uses' => ['array|false', 'object_or_class'=>'object|string', 'autoload='=>'bool'], + 'classkit_import' => ['array', 'filename'=>'string'], + 'classkit_method_add' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int'], + 'classkit_method_copy' => ['bool', 'dclass'=>'string', 'dmethod'=>'string', 'sclass'=>'string', 'smethod='=>'string'], + 'classkit_method_redefine' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'args'=>'string', 'code'=>'string', 'flags='=>'int'], + 'classkit_method_remove' => ['bool', 'classname'=>'string', 'methodname'=>'string'], + 'classkit_method_rename' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'newname'=>'string'], + 'clearstatcache' => ['void', 'clear_realpath_cache='=>'bool', 'filename='=>'string'], + 'cli_get_process_title' => ['?string'], + 'cli_set_process_title' => ['bool', 'title'=>'string'], + 'closedir' => ['void', 'dir_handle='=>'resource'], + 'closelog' => ['true'], + 'clusterObj::convertToString' => ['string'], + 'clusterObj::getFilterString' => ['string'], + 'clusterObj::getGroupString' => ['string'], + 'clusterObj::setFilter' => ['int', 'expression'=>'string'], + 'clusterObj::setGroup' => ['int', 'expression'=>'string'], + 'collator_asort' => ['bool', 'object'=>'collator', '&rw_array'=>'array', 'flags='=>'int'], + 'collator_compare' => ['int', 'object'=>'collator', 'string1'=>'string', 'string2'=>'string'], + 'collator_create' => ['?Collator', 'locale'=>'string'], + 'collator_get_attribute' => ['int|false', 'object'=>'collator', 'attribute'=>'int'], + 'collator_get_error_code' => ['int', 'object'=>'collator'], + 'collator_get_error_message' => ['string', 'object'=>'collator'], + 'collator_get_locale' => ['string', 'object'=>'collator', 'type'=>'int'], + 'collator_get_sort_key' => ['string', 'object'=>'collator', 'string'=>'string'], + 'collator_get_strength' => ['int|false', 'object'=>'collator'], + 'collator_set_attribute' => ['bool', 'object'=>'collator', 'attribute'=>'int', 'value'=>'int'], + 'collator_set_strength' => ['bool', 'object'=>'collator', 'strength'=>'int'], + 'collator_sort' => ['bool', 'object'=>'collator', '&rw_array'=>'array', 'flags='=>'int'], + 'collator_sort_with_sort_keys' => ['bool', 'object'=>'collator', '&rw_array'=>'array'], + 'colorObj::setHex' => ['int', 'hex'=>'string'], + 'colorObj::toHex' => ['string'], + 'com_addref' => [''], + 'com_create_guid' => ['string'], + 'com_event_sink' => ['bool', 'variant'=>'VARIANT', 'sink_object'=>'object', 'sink_interface='=>'mixed'], + 'com_get_active_object' => ['VARIANT', 'prog_id'=>'string', 'codepage='=>'int'], + 'com_isenum' => ['bool', 'com_module'=>'variant'], + 'com_load_typelib' => ['bool', 'typelib_name'=>'string', 'case_insensitive='=>'bool'], + 'com_message_pump' => ['bool', 'timeout_milliseconds='=>'int'], + 'com_print_typeinfo' => ['bool', 'variant'=>'object', 'dispatch_interface='=>'string', 'display_sink='=>'bool'], + 'commonmark\cql::__invoke' => ['', 'root'=>'CommonMark\Node', 'handler'=>'callable'], + 'commonmark\interfaces\ivisitable::accept' => ['void', 'visitor'=>'CommonMark\Interfaces\IVisitor'], + 'commonmark\interfaces\ivisitor::enter' => ['?int|IVisitable', 'visitable'=>'IVisitable'], + 'commonmark\interfaces\ivisitor::leave' => ['?int|IVisitable', 'visitable'=>'IVisitable'], + 'commonmark\node::accept' => ['void', 'visitor'=>'CommonMark\Interfaces\IVisitor'], + 'commonmark\node::appendChild' => ['CommonMark\Node', 'child'=>'CommonMark\Node'], + 'commonmark\node::insertAfter' => ['CommonMark\Node', 'sibling'=>'CommonMark\Node'], + 'commonmark\node::insertBefore' => ['CommonMark\Node', 'sibling'=>'CommonMark\Node'], + 'commonmark\node::prependChild' => ['CommonMark\Node', 'child'=>'CommonMark\Node'], + 'commonmark\node::replace' => ['CommonMark\Node', 'target'=>'CommonMark\Node'], + 'commonmark\node::unlink' => ['void'], + 'commonmark\parse' => ['CommonMark\Node', 'content'=>'string', 'options='=>'int'], + 'commonmark\parser::finish' => ['CommonMark\Node'], + 'commonmark\parser::parse' => ['void', 'buffer'=>'string'], + 'commonmark\render' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int', 'width='=>'int'], + 'commonmark\render\html' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int'], + 'commonmark\render\latex' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int', 'width='=>'int'], + 'commonmark\render\man' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int', 'width='=>'int'], + 'commonmark\render\xml' => ['string', 'node'=>'CommonMark\Node', 'options='=>'int'], + 'compact' => ['array', 'var_name'=>'string|array', '...var_names='=>'string|array'], + 'componere\abstract\definition::addInterface' => ['Componere\Abstract\Definition', 'interface'=>'string'], + 'componere\abstract\definition::addMethod' => ['Componere\Abstract\Definition', 'name'=>'string', 'method'=>'Componere\Method'], + 'componere\abstract\definition::addTrait' => ['Componere\Abstract\Definition', 'trait'=>'string'], + 'componere\abstract\definition::getReflector' => ['ReflectionClass'], + 'componere\cast' => ['object', 'arg1'=>'string', 'object'=>'object'], + 'componere\cast_by_ref' => ['object', 'arg1'=>'string', 'object'=>'object'], + 'componere\definition::addConstant' => ['Componere\Definition', 'name'=>'string', 'value'=>'Componere\Value'], + 'componere\definition::addProperty' => ['Componere\Definition', 'name'=>'string', 'value'=>'Componere\Value'], + 'componere\definition::getClosure' => ['Closure', 'name'=>'string'], + 'componere\definition::getClosures' => ['Closure[]'], + 'componere\definition::isRegistered' => ['bool'], + 'componere\definition::register' => ['void'], + 'componere\method::getReflector' => ['ReflectionMethod'], + 'componere\method::setPrivate' => ['Method'], + 'componere\method::setProtected' => ['Method'], + 'componere\method::setStatic' => ['Method'], + 'componere\patch::apply' => ['void'], + 'componere\patch::derive' => ['Componere\Patch', 'instance'=>'object'], + 'componere\patch::getClosure' => ['Closure', 'name'=>'string'], + 'componere\patch::getClosures' => ['Closure[]'], + 'componere\patch::isApplied' => ['bool'], + 'componere\patch::revert' => ['void'], + 'componere\value::hasDefault' => ['bool'], + 'componere\value::isPrivate' => ['bool'], + 'componere\value::isProtected' => ['bool'], + 'componere\value::isStatic' => ['bool'], + 'componere\value::setPrivate' => ['Value'], + 'componere\value::setProtected' => ['Value'], + 'componere\value::setStatic' => ['Value'], + 'confirm_pdo_ibm_compiled' => [''], + 'connection_aborted' => ['int'], + 'connection_status' => ['int'], + 'connection_timeout' => ['int'], + 'constant' => ['mixed', 'name'=>'string'], + 'convert_cyr_string' => ['string', 'string'=>'string', 'from'=>'string', 'to'=>'string'], + 'convert_uudecode' => ['string', 'string'=>'string'], + 'convert_uuencode' => ['string', 'string'=>'string'], + 'copy' => ['bool', 'from'=>'string', 'to'=>'string', 'context='=>'resource'], + 'cos' => ['float', 'num'=>'float'], + 'cosh' => ['float', 'num'=>'float'], + 'count' => ['int<0, max>', 'value'=>'Countable|array|SimpleXMLElement', 'mode='=>'int'], + 'count_chars' => ['array|false', 'input'=>'string', 'mode='=>'0|1|2'], + 'count_chars\'1' => ['string|false', 'input'=>'string', 'mode='=>'3|4'], + 'crack_check' => ['bool', 'dictionary'=>'', 'password'=>'string'], + 'crack_closedict' => ['bool', 'dictionary='=>'resource'], + 'crack_getlastmessage' => ['string'], + 'crack_opendict' => ['resource|false', 'dictionary'=>'string'], + 'crash' => [''], + 'crc32' => ['int', 'string'=>'string'], + 'create_function' => ['string', 'args'=>'string', 'code'=>'string'], + 'crypt' => ['string', 'string'=>'string', 'salt='=>'string'], + 'ctype_alnum' => ['bool', 'text'=>'string|int'], + 'ctype_alpha' => ['bool', 'text'=>'string|int'], + 'ctype_cntrl' => ['bool', 'text'=>'string|int'], + 'ctype_digit' => ['bool', 'text'=>'string|int'], + 'ctype_graph' => ['bool', 'text'=>'string|int'], + 'ctype_lower' => ['bool', 'text'=>'string|int'], + 'ctype_print' => ['bool', 'text'=>'string|int'], + 'ctype_punct' => ['bool', 'text'=>'string|int'], + 'ctype_space' => ['bool', 'text'=>'string|int'], + 'ctype_upper' => ['bool', 'text'=>'string|int'], + 'ctype_xdigit' => ['bool', 'text'=>'string|int'], + 'cubrid_affected_rows' => ['int', 'req_identifier='=>''], + 'cubrid_bind' => ['bool', 'req_identifier'=>'resource', 'bind_param'=>'int', 'bind_value'=>'mixed', 'bind_value_type='=>'string'], + 'cubrid_client_encoding' => ['string', 'conn_identifier='=>''], + 'cubrid_close' => ['bool', 'conn_identifier='=>''], + 'cubrid_close_prepare' => ['bool', 'req_identifier'=>'resource'], + 'cubrid_close_request' => ['bool', 'req_identifier'=>'resource'], + 'cubrid_col_get' => ['array', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string'], + 'cubrid_col_size' => ['int', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string'], + 'cubrid_column_names' => ['array', 'req_identifier'=>'resource'], + 'cubrid_column_types' => ['array', 'req_identifier'=>'resource'], + 'cubrid_commit' => ['bool', 'conn_identifier'=>'resource'], + 'cubrid_connect' => ['resource', 'host'=>'string', 'port'=>'int', 'dbname'=>'string', 'userid='=>'string', 'passwd='=>'string'], + 'cubrid_connect_with_url' => ['resource', 'conn_url'=>'string', 'userid='=>'string', 'passwd='=>'string'], + 'cubrid_current_oid' => ['string', 'req_identifier'=>'resource'], + 'cubrid_data_seek' => ['bool', 'req_identifier'=>'', 'row_number'=>'int'], + 'cubrid_db_name' => ['string', 'result'=>'array', 'index'=>'int'], + 'cubrid_db_parameter' => ['array', 'conn_identifier'=>'resource'], + 'cubrid_disconnect' => ['bool', 'conn_identifier'=>'resource'], + 'cubrid_drop' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string'], + 'cubrid_errno' => ['int', 'conn_identifier='=>''], + 'cubrid_error' => ['string', 'connection='=>''], + 'cubrid_error_code' => ['int'], + 'cubrid_error_code_facility' => ['int'], + 'cubrid_error_msg' => ['string'], + 'cubrid_execute' => ['bool', 'conn_identifier'=>'', 'sql'=>'string', 'option='=>'int', 'request_identifier='=>''], + 'cubrid_fetch' => ['mixed', 'result'=>'resource', 'type='=>'int'], + 'cubrid_fetch_array' => ['array', 'result'=>'resource', 'type='=>'int'], + 'cubrid_fetch_assoc' => ['array', 'result'=>'resource'], + 'cubrid_fetch_field' => ['object', 'result'=>'resource', 'field_offset='=>'int'], + 'cubrid_fetch_lengths' => ['array', 'result'=>'resource'], + 'cubrid_fetch_object' => ['object', 'result'=>'resource', 'class_name='=>'string', 'params='=>'array'], + 'cubrid_fetch_row' => ['array', 'result'=>'resource'], + 'cubrid_field_flags' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'cubrid_field_len' => ['int', 'result'=>'resource', 'field_offset'=>'int'], + 'cubrid_field_name' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'cubrid_field_seek' => ['bool', 'result'=>'resource', 'field_offset='=>'int'], + 'cubrid_field_table' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'cubrid_field_type' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'cubrid_free_result' => ['bool', 'req_identifier'=>'resource'], + 'cubrid_get' => ['mixed', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr='=>'mixed'], + 'cubrid_get_autocommit' => ['bool', 'conn_identifier'=>'resource'], + 'cubrid_get_charset' => ['string', 'conn_identifier'=>'resource'], + 'cubrid_get_class_name' => ['string', 'conn_identifier'=>'resource', 'oid'=>'string'], + 'cubrid_get_client_info' => ['string'], + 'cubrid_get_db_parameter' => ['array', 'conn_identifier'=>'resource'], + 'cubrid_get_query_timeout' => ['int', 'req_identifier'=>'resource'], + 'cubrid_get_server_info' => ['string', 'conn_identifier'=>'resource'], + 'cubrid_insert_id' => ['string', 'conn_identifier='=>'resource'], + 'cubrid_is_instance' => ['int', 'conn_identifier'=>'resource', 'oid'=>'string'], + 'cubrid_list_dbs' => ['array', 'conn_identifier'=>'resource'], + 'cubrid_load_from_glo' => ['int', 'conn_identifier'=>'', 'oid'=>'string', 'file_name'=>'string'], + 'cubrid_lob2_bind' => ['bool', 'req_identifier'=>'resource', 'bind_index'=>'int', 'bind_value'=>'mixed', 'bind_value_type='=>'string'], + 'cubrid_lob2_close' => ['bool', 'lob_identifier'=>'resource'], + 'cubrid_lob2_export' => ['bool', 'lob_identifier'=>'resource', 'file_name'=>'string'], + 'cubrid_lob2_import' => ['bool', 'lob_identifier'=>'resource', 'file_name'=>'string'], + 'cubrid_lob2_new' => ['resource', 'conn_identifier='=>'resource', 'type='=>'string'], + 'cubrid_lob2_read' => ['string', 'lob_identifier'=>'resource', 'length'=>'int'], + 'cubrid_lob2_seek' => ['bool', 'lob_identifier'=>'resource', 'offset'=>'int', 'origin='=>'int'], + 'cubrid_lob2_seek64' => ['bool', 'lob_identifier'=>'resource', 'offset'=>'string', 'origin='=>'int'], + 'cubrid_lob2_size' => ['int', 'lob_identifier'=>'resource'], + 'cubrid_lob2_size64' => ['string', 'lob_identifier'=>'resource'], + 'cubrid_lob2_tell' => ['int', 'lob_identifier'=>'resource'], + 'cubrid_lob2_tell64' => ['string', 'lob_identifier'=>'resource'], + 'cubrid_lob2_write' => ['bool', 'lob_identifier'=>'resource', 'buf'=>'string'], + 'cubrid_lob_close' => ['bool', 'lob_identifier_array'=>'array'], + 'cubrid_lob_export' => ['bool', 'conn_identifier'=>'resource', 'lob_identifier'=>'resource', 'path_name'=>'string'], + 'cubrid_lob_get' => ['array', 'conn_identifier'=>'resource', 'sql'=>'string'], + 'cubrid_lob_send' => ['bool', 'conn_identifier'=>'resource', 'lob_identifier'=>'resource'], + 'cubrid_lob_size' => ['string', 'lob_identifier'=>'resource'], + 'cubrid_lock_read' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string'], + 'cubrid_lock_write' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string'], + 'cubrid_move_cursor' => ['int', 'req_identifier'=>'resource', 'offset'=>'int', 'origin='=>'int'], + 'cubrid_new_glo' => ['string', 'conn_identifier'=>'', 'class_name'=>'string', 'file_name'=>'string'], + 'cubrid_next_result' => ['bool', 'result'=>'resource'], + 'cubrid_num_cols' => ['int', 'req_identifier'=>'resource'], + 'cubrid_num_fields' => ['int', 'result'=>'resource'], + 'cubrid_num_rows' => ['int', 'req_identifier'=>'resource'], + 'cubrid_pconnect' => ['resource', 'host'=>'string', 'port'=>'int', 'dbname'=>'string', 'userid='=>'string', 'passwd='=>'string'], + 'cubrid_pconnect_with_url' => ['resource', 'conn_url'=>'string', 'userid='=>'string', 'passwd='=>'string'], + 'cubrid_ping' => ['bool', 'conn_identifier='=>''], + 'cubrid_prepare' => ['resource', 'conn_identifier'=>'resource', 'prepare_stmt'=>'string', 'option='=>'int'], + 'cubrid_put' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr='=>'string', 'value='=>'mixed'], + 'cubrid_query' => ['resource', 'query'=>'string', 'conn_identifier='=>''], + 'cubrid_real_escape_string' => ['string', 'unescaped_string'=>'string', 'conn_identifier='=>''], + 'cubrid_result' => ['string', 'result'=>'resource', 'row'=>'int', 'field='=>''], + 'cubrid_rollback' => ['bool', 'conn_identifier'=>'resource'], + 'cubrid_save_to_glo' => ['int', 'conn_identifier'=>'', 'oid'=>'string', 'file_name'=>'string'], + 'cubrid_schema' => ['array', 'conn_identifier'=>'resource', 'schema_type'=>'int', 'class_name='=>'string', 'attr_name='=>'string'], + 'cubrid_send_glo' => ['int', 'conn_identifier'=>'', 'oid'=>'string'], + 'cubrid_seq_add' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'seq_element'=>'string'], + 'cubrid_seq_drop' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'index'=>'int'], + 'cubrid_seq_insert' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'index'=>'int', 'seq_element'=>'string'], + 'cubrid_seq_put' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'index'=>'int', 'seq_element'=>'string'], + 'cubrid_set_add' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'set_element'=>'string'], + 'cubrid_set_autocommit' => ['bool', 'conn_identifier'=>'resource', 'mode'=>'bool'], + 'cubrid_set_db_parameter' => ['bool', 'conn_identifier'=>'resource', 'param_type'=>'int', 'param_value'=>'int'], + 'cubrid_set_drop' => ['bool', 'conn_identifier'=>'resource', 'oid'=>'string', 'attr_name'=>'string', 'set_element'=>'string'], + 'cubrid_set_query_timeout' => ['bool', 'req_identifier'=>'resource', 'timeout'=>'int'], + 'cubrid_unbuffered_query' => ['resource', 'query'=>'string', 'conn_identifier='=>''], + 'cubrid_version' => ['string'], + 'curl_close' => ['void', 'ch'=>'resource'], + 'curl_copy_handle' => ['resource', 'ch'=>'resource'], + 'curl_errno' => ['int', 'ch'=>'resource'], + 'curl_error' => ['string', 'ch'=>'resource'], + 'curl_escape' => ['string|false', 'ch'=>'resource', 'string'=>'string'], + 'curl_exec' => ['bool|string', 'ch'=>'resource'], + 'curl_file_create' => ['CURLFile', 'filename'=>'string', 'mimetype='=>'string', 'postfilename='=>'string'], + 'curl_getinfo' => ['mixed', 'ch'=>'resource', 'option='=>'int'], + 'curl_init' => ['resource|false', 'url='=>'string'], + 'curl_multi_add_handle' => ['int', 'mh'=>'resource', 'ch'=>'resource'], + 'curl_multi_close' => ['void', 'mh'=>'resource'], + 'curl_multi_exec' => ['int', 'mh'=>'resource', '&w_still_running'=>'int'], + 'curl_multi_getcontent' => ['string', 'ch'=>'resource'], + 'curl_multi_info_read' => ['array|false', 'mh'=>'resource', '&w_msgs_in_queue='=>'int'], + 'curl_multi_init' => ['resource'], + 'curl_multi_remove_handle' => ['int', 'mh'=>'resource', 'ch'=>'resource'], + 'curl_multi_select' => ['int', 'mh'=>'resource', 'timeout='=>'float'], + 'curl_multi_setopt' => ['bool', 'mh'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'curl_multi_strerror' => ['?string', 'error_code'=>'int'], + 'curl_pause' => ['int', 'ch'=>'resource', 'bitmask'=>'int'], + 'curl_reset' => ['void', 'ch'=>'resource'], + 'curl_setopt' => ['bool', 'ch'=>'resource', 'option'=>'int', 'value'=>'callable|mixed'], + 'curl_setopt_array' => ['bool', 'ch'=>'resource', 'options'=>'array'], + 'curl_share_close' => ['void', 'sh'=>'resource'], + 'curl_share_init' => ['resource'], + 'curl_share_setopt' => ['bool', 'sh'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'curl_strerror' => ['?string', 'error_code'=>'int'], + 'curl_unescape' => ['string|false', 'ch'=>'resource', 'string'=>'string'], + 'curl_version' => ['array', 'version='=>'int'], + 'current' => ['mixed|false', 'array'=>'array|object'], + 'cyrus_authenticate' => ['void', 'connection'=>'resource', 'mechlist='=>'string', 'service='=>'string', 'user='=>'string', 'minssf='=>'int', 'maxssf='=>'int', 'authname='=>'string', 'password='=>'string'], + 'cyrus_bind' => ['bool', 'connection'=>'resource', 'callbacks'=>'array'], + 'cyrus_close' => ['bool', 'connection'=>'resource'], + 'cyrus_connect' => ['resource', 'host='=>'string', 'port='=>'string', 'flags='=>'int'], + 'cyrus_query' => ['array', 'connection'=>'resource', 'query'=>'string'], + 'cyrus_unbind' => ['bool', 'connection'=>'resource', 'trigger_name'=>'string'], + 'date' => ['string', 'format'=>'string', 'timestamp='=>'int'], + 'date_add' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], + 'date_create' => ['DateTime|false', 'datetime='=>'string', 'timezone='=>'?DateTimeZone'], + 'date_create_from_format' => ['DateTime|false', 'format'=>'string', 'datetime'=>'string', 'timezone='=>'?\DateTimeZone'], + '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_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,error_count:int,errors:array}|false'], + 'date_interval_create_from_date_string' => ['DateInterval', 'datetime'=>'string'], + 'date_interval_format' => ['string', 'object'=>'DateInterval', 'format'=>'string'], + 'date_isodate_set' => ['DateTime|false', 'object'=>'DateTime', 'year'=>'int', 'week'=>'int', 'dayOfWeek='=>'int|mixed'], + 'date_modify' => ['DateTime|false', 'object'=>'DateTime', 'modifier'=>'string'], + 'date_offset_get' => ['int|false', 'object'=>'DateTimeInterface'], + 'date_parse' => ['array|false', 'datetime'=>'string'], + 'date_parse_from_format' => ['array', 'format'=>'string', 'datetime'=>'string'], + 'date_sub' => ['DateTime|false', 'object'=>'DateTime', 'interval'=>'DateInterval'], + 'date_sun_info' => ['array|false', 'timestamp'=>'int', 'latitude'=>'float', 'longitude'=>'float'], + 'date_sunrise' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + 'date_sunset' => ['string|int|float|false', 'timestamp'=>'int', 'returnFormat='=>'int', 'latitude='=>'float', 'longitude='=>'float', 'zenith='=>'float', 'utcOffset='=>'float'], + 'date_time_set' => ['DateTime|false', 'object'=>'', 'hour'=>'', 'minute'=>'', 'second='=>'', 'microsecond='=>''], + 'date_timestamp_get' => ['int', 'object'=>'DateTimeInterface'], + 'date_timestamp_set' => ['DateTime|false', 'object'=>'DateTime', 'timestamp'=>'int'], + 'date_timezone_get' => ['DateTimeZone|false', 'object'=>'DateTimeInterface'], + 'date_timezone_set' => ['DateTime|false', 'object'=>'DateTime', 'timezone'=>'DateTimeZone'], + 'datefmt_create' => ['?IntlDateFormatter', 'locale'=>'?string', 'dateType'=>'int', 'timeType'=>'int', 'timezone='=>'DateTimeZone|IntlTimeZone|string|null', 'calendar='=>'IntlCalendar|int|null', 'pattern='=>'string'], + 'datefmt_format' => ['string|false', 'formatter'=>'IntlDateFormatter', 'datetime'=>'DateTime|IntlCalendar|array|int'], + 'datefmt_format_object' => ['string|false', 'datetime'=>'object', 'format='=>'mixed', 'locale='=>'?string'], + 'datefmt_get_calendar' => ['int', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_calendar_object' => ['IntlCalendar|false|null', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_datetype' => ['int', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_error_code' => ['int', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_error_message' => ['string', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_locale' => ['string|false', 'formatter'=>'IntlDateFormatter', 'type='=>'int'], + 'datefmt_get_pattern' => ['string', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_timetype' => ['int', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_timezone' => ['IntlTimeZone|false', 'formatter'=>'IntlDateFormatter'], + 'datefmt_get_timezone_id' => ['string|false', 'formatter'=>'IntlDateFormatter'], + 'datefmt_is_lenient' => ['bool', 'formatter'=>'IntlDateFormatter'], + 'datefmt_localtime' => ['array|false', 'formatter'=>'IntlDateFormatter', 'string'=>'string', '&rw_offset='=>'int'], + 'datefmt_parse' => ['int|false', 'formatter'=>'IntlDateFormatter', 'string'=>'string', '&rw_offset='=>'int'], + 'datefmt_set_calendar' => ['bool', 'formatter'=>'IntlDateFormatter', 'calendar'=>'IntlCalendar|int|null'], + 'datefmt_set_lenient' => ['void', 'formatter'=>'IntlDateFormatter', 'lenient'=>'bool'], + 'datefmt_set_pattern' => ['bool', 'formatter'=>'IntlDateFormatter', 'pattern'=>'string'], + 'datefmt_set_timezone' => ['false|null', 'formatter'=>'IntlDateFormatter', 'timezone'=>'IntlTimeZone|DateTimeZone|string|null'], + 'db2_autocommit' => ['mixed', 'connection'=>'resource', 'value='=>'int'], + 'db2_bind_param' => ['bool', 'stmt'=>'resource', 'parameter_number'=>'int', 'variable_name'=>'string', 'parameter_type='=>'int', 'data_type='=>'int', 'precision='=>'int', 'scale='=>'int'], + 'db2_client_info' => ['object|false', 'connection'=>'resource'], + 'db2_close' => ['bool', 'connection'=>'resource'], + 'db2_column_privileges' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string', 'column_name='=>'string'], + 'db2_columns' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string', 'column_name='=>'string'], + 'db2_commit' => ['bool', 'connection'=>'resource'], + 'db2_conn_error' => ['string', 'connection='=>'resource'], + 'db2_conn_errormsg' => ['string', 'connection='=>'resource'], + 'db2_connect' => ['resource|false', 'database'=>'string', 'username'=>'string', 'password'=>'string', 'options='=>'array'], + 'db2_cursor_type' => ['int', 'stmt'=>'resource'], + 'db2_escape_string' => ['string', 'string_literal'=>'string'], + 'db2_exec' => ['resource|false', 'connection'=>'resource', 'statement'=>'string', 'options='=>'array'], + 'db2_execute' => ['bool', 'stmt'=>'resource', 'parameters='=>'array'], + 'db2_fetch_array' => ['array|false', 'stmt'=>'resource', 'row_number='=>'int'], + 'db2_fetch_assoc' => ['array|false', 'stmt'=>'resource', 'row_number='=>'int'], + 'db2_fetch_both' => ['array|false', 'stmt'=>'resource', 'row_number='=>'int'], + 'db2_fetch_object' => ['object|false', 'stmt'=>'resource', 'row_number='=>'int'], + 'db2_fetch_row' => ['bool', 'stmt'=>'resource', 'row_number='=>'int'], + 'db2_field_display_size' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_field_name' => ['string|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_field_num' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_field_precision' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_field_scale' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_field_type' => ['string|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_field_width' => ['int|false', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_foreign_keys' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string'], + 'db2_free_result' => ['bool', 'stmt'=>'resource'], + 'db2_free_stmt' => ['bool', 'stmt'=>'resource'], + 'db2_get_option' => ['string|false', 'resource'=>'resource', 'option'=>'string'], + 'db2_last_insert_id' => ['string', 'resource'=>'resource'], + 'db2_lob_read' => ['string|false', 'stmt'=>'resource', 'colnum'=>'int', 'length'=>'int'], + 'db2_next_result' => ['resource|false', 'stmt'=>'resource'], + 'db2_num_fields' => ['int|false', 'stmt'=>'resource'], + 'db2_num_rows' => ['int', 'stmt'=>'resource'], + 'db2_pclose' => ['bool', 'resource'=>'resource'], + 'db2_pconnect' => ['resource|false', 'database'=>'string', 'username'=>'string', 'password'=>'string', 'options='=>'array'], + 'db2_prepare' => ['resource|false', 'connection'=>'resource', 'statement'=>'string', 'options='=>'array'], + 'db2_primary_keys' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string'], + 'db2_primarykeys' => [''], + 'db2_procedure_columns' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'procedure'=>'string', 'parameter'=>'string'], + 'db2_procedurecolumns' => [''], + 'db2_procedures' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'procedure'=>'string'], + 'db2_result' => ['mixed', 'stmt'=>'resource', 'column'=>'mixed'], + 'db2_rollback' => ['bool', 'connection'=>'resource'], + 'db2_server_info' => ['object|false', 'connection'=>'resource'], + 'db2_set_option' => ['bool', 'resource'=>'resource', 'options'=>'array', 'type'=>'int'], + 'db2_setoption' => [''], + 'db2_special_columns' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string', 'scope'=>'int'], + 'db2_specialcolumns' => [''], + 'db2_statistics' => ['resource|false', 'connection'=>'resource', 'qualifier'=>'string', 'schema'=>'string', 'table_name'=>'string', 'unique'=>'bool'], + 'db2_stmt_error' => ['string', 'stmt='=>'resource'], + 'db2_stmt_errormsg' => ['string', 'stmt='=>'resource'], + 'db2_table_privileges' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string'], + 'db2_tableprivileges' => [''], + 'db2_tables' => ['resource|false', 'connection'=>'resource', 'qualifier='=>'string', 'schema='=>'string', 'table_name='=>'string', 'table_type='=>'string'], + 'dba_close' => ['void', 'dba'=>'resource'], + 'dba_delete' => ['bool', 'key'=>'string', 'dba'=>'resource'], + 'dba_exists' => ['bool', 'key'=>'string', 'dba'=>'resource'], + 'dba_fetch' => ['string|false', 'key'=>'string', 'skip'=>'int', 'dba'=>'resource'], + 'dba_fetch\'1' => ['string|false', 'key'=>'string', 'skip'=>'resource'], + 'dba_firstkey' => ['string', 'dba'=>'resource'], + 'dba_handlers' => ['array', 'full_info='=>'bool'], + 'dba_insert' => ['bool', 'key'=>'string', 'value'=>'string', 'dba'=>'resource'], + 'dba_key_split' => ['array|false', 'key'=>'string|false|null'], + 'dba_list' => ['array'], + 'dba_nextkey' => ['string', 'dba'=>'resource'], + 'dba_open' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'string', '...handler_params='=>'string'], + 'dba_optimize' => ['bool', 'dba'=>'resource'], + 'dba_popen' => ['resource', 'path'=>'string', 'mode'=>'string', 'handler='=>'string', '...handler_params='=>'string'], + 'dba_replace' => ['bool', 'key'=>'string', 'value'=>'string', 'dba'=>'resource'], + 'dba_sync' => ['bool', 'dba'=>'resource'], + 'dbase_add_record' => ['bool', 'dbase_identifier'=>'resource', 'record'=>'array'], + 'dbase_close' => ['bool', 'dbase_identifier'=>'resource'], + 'dbase_create' => ['resource|false', 'filename'=>'string', 'fields'=>'array'], + 'dbase_delete_record' => ['bool', 'dbase_identifier'=>'resource', 'record_number'=>'int'], + 'dbase_get_header_info' => ['array', 'dbase_identifier'=>'resource'], + 'dbase_get_record' => ['array', 'dbase_identifier'=>'resource', 'record_number'=>'int'], + 'dbase_get_record_with_names' => ['array', 'dbase_identifier'=>'resource', 'record_number'=>'int'], + 'dbase_numfields' => ['int', 'dbase_identifier'=>'resource'], + 'dbase_numrecords' => ['int', 'dbase_identifier'=>'resource'], + 'dbase_open' => ['resource|false', 'filename'=>'string', 'mode'=>'int'], + 'dbase_pack' => ['bool', 'dbase_identifier'=>'resource'], + 'dbase_replace_record' => ['bool', 'dbase_identifier'=>'resource', 'record'=>'array', 'record_number'=>'int'], + 'dbplus_add' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_aql' => ['resource', 'query'=>'string', 'server='=>'string', 'dbpath='=>'string'], + 'dbplus_chdir' => ['string', 'newdir='=>'string'], + 'dbplus_close' => ['mixed', 'relation'=>'resource'], + 'dbplus_curr' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_errcode' => ['string', 'errno='=>'int'], + 'dbplus_errno' => ['int'], + 'dbplus_find' => ['int', 'relation'=>'resource', 'constraints'=>'array', 'tuple'=>'mixed'], + 'dbplus_first' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_flush' => ['int', 'relation'=>'resource'], + 'dbplus_freealllocks' => ['int'], + 'dbplus_freelock' => ['int', 'relation'=>'resource', 'tuple'=>'string'], + 'dbplus_freerlocks' => ['int', 'relation'=>'resource'], + 'dbplus_getlock' => ['int', 'relation'=>'resource', 'tuple'=>'string'], + 'dbplus_getunique' => ['int', 'relation'=>'resource', 'uniqueid'=>'int'], + 'dbplus_info' => ['int', 'relation'=>'resource', 'key'=>'string', 'result'=>'array'], + 'dbplus_last' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_lockrel' => ['int', 'relation'=>'resource'], + 'dbplus_next' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_open' => ['resource', 'name'=>'string'], + 'dbplus_prev' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_rchperm' => ['int', 'relation'=>'resource', 'mask'=>'int', 'user'=>'string', 'group'=>'string'], + 'dbplus_rcreate' => ['resource', 'name'=>'string', 'domlist'=>'mixed', 'overwrite='=>'bool'], + 'dbplus_rcrtexact' => ['mixed', 'name'=>'string', 'relation'=>'resource', 'overwrite='=>'bool'], + 'dbplus_rcrtlike' => ['mixed', 'name'=>'string', 'relation'=>'resource', 'overwrite='=>'int'], + 'dbplus_resolve' => ['array', 'relation_name'=>'string'], + 'dbplus_restorepos' => ['int', 'relation'=>'resource', 'tuple'=>'array'], + 'dbplus_rkeys' => ['mixed', 'relation'=>'resource', 'domlist'=>'mixed'], + 'dbplus_ropen' => ['resource', 'name'=>'string'], + 'dbplus_rquery' => ['resource', 'query'=>'string', 'dbpath='=>'string'], + 'dbplus_rrename' => ['int', 'relation'=>'resource', 'name'=>'string'], + 'dbplus_rsecindex' => ['mixed', 'relation'=>'resource', 'domlist'=>'mixed', 'type'=>'int'], + 'dbplus_runlink' => ['int', 'relation'=>'resource'], + 'dbplus_rzap' => ['int', 'relation'=>'resource'], + 'dbplus_savepos' => ['int', 'relation'=>'resource'], + 'dbplus_setindex' => ['int', 'relation'=>'resource', 'idx_name'=>'string'], + 'dbplus_setindexbynumber' => ['int', 'relation'=>'resource', 'idx_number'=>'int'], + 'dbplus_sql' => ['resource', 'query'=>'string', 'server='=>'string', 'dbpath='=>'string'], + 'dbplus_tcl' => ['string', 'sid'=>'int', 'script'=>'string'], + 'dbplus_tremove' => ['int', 'relation'=>'resource', 'tuple'=>'array', 'current='=>'array'], + 'dbplus_undo' => ['int', 'relation'=>'resource'], + 'dbplus_undoprepare' => ['int', 'relation'=>'resource'], + 'dbplus_unlockrel' => ['int', 'relation'=>'resource'], + 'dbplus_unselect' => ['int', 'relation'=>'resource'], + 'dbplus_update' => ['int', 'relation'=>'resource', 'old'=>'array', 'new'=>'array'], + 'dbplus_xlockrel' => ['int', 'relation'=>'resource'], + 'dbplus_xunlockrel' => ['int', 'relation'=>'resource'], + 'dbx_close' => ['int', 'link_identifier'=>'object'], + 'dbx_compare' => ['int', 'row_a'=>'array', 'row_b'=>'array', 'column_key'=>'string', 'flags='=>'int'], + 'dbx_connect' => ['object', 'module'=>'mixed', 'host'=>'string', 'database'=>'string', 'username'=>'string', 'password'=>'string', 'persistent='=>'int'], + 'dbx_error' => ['string', 'link_identifier'=>'object'], + 'dbx_escape_string' => ['string', 'link_identifier'=>'object', 'text'=>'string'], + 'dbx_fetch_row' => ['mixed', 'result_identifier'=>'object'], + 'dbx_query' => ['mixed', 'link_identifier'=>'object', 'sql_statement'=>'string', 'flags='=>'int'], + 'dbx_sort' => ['bool', 'result'=>'object', 'user_compare_function'=>'string'], + 'dcgettext' => ['string', 'domain'=>'string', 'message'=>'string', 'category'=>'int'], + 'dcngettext' => ['string', 'domain'=>'string', 'singular'=>'string', 'plural'=>'string', 'count'=>'int', 'category'=>'int'], + 'deaggregate' => ['', 'object'=>'object', 'class_name='=>'string'], + 'debug_backtrace' => ['list', 'options='=>'int', 'limit='=>'int'], + 'debug_print_backtrace' => ['void', 'options='=>'int', 'limit='=>'int'], + 'debug_zval_dump' => ['void', 'value'=>'mixed', '...values='=>'mixed'], + 'debugger_connect' => [''], + 'debugger_connector_pid' => [''], + 'debugger_get_server_start_time' => [''], + 'debugger_print' => [''], + 'debugger_start_debug' => [''], + 'decbin' => ['string', 'num'=>'int'], + 'dechex' => ['string', 'num'=>'int'], + 'decoct' => ['string', 'num'=>'int'], + 'define' => ['bool', 'constant_name'=>'string', 'value'=>'mixed', 'case_insensitive='=>'bool'], + 'define_syslog_variables' => ['void'], + 'defined' => ['bool', 'constant_name'=>'string'], + 'deflate_add' => ['string|false', 'context'=>'resource', 'data'=>'string', 'flush_mode='=>'int'], + 'deflate_init' => ['resource|false', 'encoding'=>'int', 'options='=>'array'], + 'deg2rad' => ['float', 'num'=>'float'], + 'dgettext' => ['string', 'domain'=>'string', 'message'=>'string'], + 'dio_close' => ['void', 'fd'=>'resource'], + 'dio_fcntl' => ['mixed', 'fd'=>'resource', 'cmd'=>'int', 'args='=>'mixed'], + 'dio_open' => ['resource|false', 'filename'=>'string', 'flags'=>'int', 'mode='=>'int'], + 'dio_read' => ['string', 'fd'=>'resource', 'length='=>'int'], + 'dio_seek' => ['int', 'fd'=>'resource', 'pos'=>'int', 'whence='=>'int'], + 'dio_stat' => ['?array', 'fd'=>'resource'], + 'dio_tcsetattr' => ['bool', 'fd'=>'resource', 'options'=>'array'], + 'dio_truncate' => ['bool', 'fd'=>'resource', 'offset'=>'int'], + 'dio_write' => ['int', 'fd'=>'resource', 'data'=>'string', 'length='=>'int'], + 'dir' => ['Directory|false', 'directory'=>'string', 'context='=>'resource'], + 'dirname' => ['string', 'path'=>'string', 'levels='=>'int'], + 'disk_free_space' => ['float|false', 'directory'=>'string'], + 'disk_total_space' => ['float|false', 'directory'=>'string'], + 'diskfreespace' => ['float|false', 'directory'=>'string'], + 'display_disabled_function' => [''], + 'dl' => ['bool', 'extension_filename'=>'string'], + 'dngettext' => ['string', 'domain'=>'string', 'singular'=>'string', 'plural'=>'string', 'count'=>'int'], + 'dns_check_record' => ['bool', 'hostname'=>'string', 'type='=>'string'], + 'dns_get_mx' => ['bool', 'hostname'=>'string', '&w_hosts'=>'array', '&w_weights='=>'array'], + 'dns_get_record' => ['list|false', 'hostname'=>'string', 'type='=>'int', '&w_authoritative_name_servers='=>'array', '&w_additional_records='=>'array', 'raw='=>'bool'], + 'dom_document_relaxNG_validate_file' => ['bool', 'filename'=>'string'], + 'dom_document_relaxNG_validate_xml' => ['bool', 'source'=>'string'], + 'dom_document_schema_validate' => ['bool', 'source'=>'string', 'flags'=>'int'], + 'dom_document_schema_validate_file' => ['bool', 'filename'=>'string', 'flags'=>'int'], + 'dom_document_xinclude' => ['int', 'options'=>'int'], + 'dom_import_simplexml' => ['DOMElement|null', 'node'=>'SimpleXMLElement'], + 'dom_xpath_evaluate' => ['', 'expr'=>'string', 'context'=>'DOMNode', 'registernodens'=>'bool'], + 'dom_xpath_query' => ['DOMNodeList', 'expr'=>'string', 'context'=>'DOMNode', 'registernodens'=>'bool'], + 'dom_xpath_register_ns' => ['bool', 'prefix'=>'string', 'uri'=>'string'], + 'dom_xpath_register_php_functions' => [''], + 'domxml_new_doc' => ['DomDocument', 'version'=>'string'], + 'domxml_open_file' => ['DomDocument', 'filename'=>'string', 'mode='=>'int', 'error='=>'array'], + 'domxml_open_mem' => ['DomDocument', 'string'=>'string', 'mode='=>'int', 'error='=>'array'], + 'domxml_version' => ['string'], + 'domxml_xmltree' => ['DomDocument', 'string'=>'string'], + 'domxml_xslt_stylesheet' => ['DomXsltStylesheet', 'xsl_buf'=>'string'], + 'domxml_xslt_stylesheet_doc' => ['DomXsltStylesheet', 'xsl_doc'=>'DOMDocument'], + 'domxml_xslt_stylesheet_file' => ['DomXsltStylesheet', 'xsl_file'=>'string'], + 'domxml_xslt_version' => ['int'], + 'dotnet_load' => ['int', 'assembly_name'=>'string', 'datatype_name='=>'string', 'codepage='=>'int'], + 'doubleval' => ['float', 'value'=>'mixed'], + 'each' => ['array{0:int|string,key:int|string,1:mixed,value:mixed}', '&r_arr'=>'array'], + 'easter_date' => ['int', 'year='=>'int'], + 'easter_days' => ['int', 'year='=>'int', 'mode='=>'int'], + 'echo' => ['void', 'arg1'=>'string', '...args='=>'string'], + 'eio_busy' => ['resource', 'delay'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_cancel' => ['void', 'req'=>'resource'], + 'eio_chmod' => ['resource', 'path'=>'string', 'mode'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_chown' => ['resource', 'path'=>'string', 'uid'=>'int', 'gid='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_close' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_custom' => ['resource', 'execute'=>'callable', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_dup2' => ['resource', 'fd'=>'mixed', 'fd2'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_event_loop' => ['bool'], + 'eio_fallocate' => ['resource', 'fd'=>'mixed', 'mode'=>'int', 'offset'=>'int', 'length'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_fchmod' => ['resource', 'fd'=>'mixed', 'mode'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_fchown' => ['resource', 'fd'=>'mixed', 'uid'=>'int', 'gid='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_fdatasync' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_fstat' => ['resource', 'fd'=>'mixed', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_fstatvfs' => ['resource', 'fd'=>'mixed', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_fsync' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_ftruncate' => ['resource', 'fd'=>'mixed', 'offset='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_futime' => ['resource', 'fd'=>'mixed', 'atime'=>'float', 'mtime'=>'float', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_get_event_stream' => ['mixed'], + 'eio_get_last_error' => ['string', 'req'=>'resource'], + 'eio_grp' => ['resource', 'callback'=>'callable', 'data='=>'string'], + 'eio_grp_add' => ['void', 'grp'=>'resource', 'req'=>'resource'], + 'eio_grp_cancel' => ['void', 'grp'=>'resource'], + 'eio_grp_limit' => ['void', 'grp'=>'resource', 'limit'=>'int'], + 'eio_init' => ['void'], + 'eio_link' => ['resource', 'path'=>'string', 'new_path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_lstat' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_mkdir' => ['resource', 'path'=>'string', 'mode'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_mknod' => ['resource', 'path'=>'string', 'mode'=>'int', 'dev'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_nop' => ['resource', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_npending' => ['int'], + 'eio_nready' => ['int'], + 'eio_nreqs' => ['int'], + 'eio_nthreads' => ['int'], + 'eio_open' => ['resource', 'path'=>'string', 'flags'=>'int', 'mode'=>'int', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_poll' => ['int'], + 'eio_read' => ['resource', 'fd'=>'mixed', 'length'=>'int', 'offset'=>'int', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_readahead' => ['resource', 'fd'=>'mixed', 'offset'=>'int', 'length'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_readdir' => ['resource', 'path'=>'string', 'flags'=>'int', 'pri'=>'int', 'callback'=>'callable', 'data='=>'string'], + 'eio_readlink' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'string'], + 'eio_realpath' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'string'], + 'eio_rename' => ['resource', 'path'=>'string', 'new_path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_rmdir' => ['resource', 'path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_seek' => ['resource', 'fd'=>'mixed', 'offset'=>'int', 'whence'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_sendfile' => ['resource', 'out_fd'=>'mixed', 'in_fd'=>'mixed', 'offset'=>'int', 'length'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'string'], + 'eio_set_max_idle' => ['void', 'nthreads'=>'int'], + 'eio_set_max_parallel' => ['void', 'nthreads'=>'int'], + 'eio_set_max_poll_reqs' => ['void', 'nreqs'=>'int'], + 'eio_set_max_poll_time' => ['void', 'nseconds'=>'float'], + 'eio_set_min_parallel' => ['void', 'nthreads'=>'string'], + 'eio_stat' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_statvfs' => ['resource', 'path'=>'string', 'pri'=>'int', 'callback'=>'callable', 'data='=>'mixed'], + 'eio_symlink' => ['resource', 'path'=>'string', 'new_path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_sync' => ['resource', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_sync_file_range' => ['resource', 'fd'=>'mixed', 'offset'=>'int', 'nbytes'=>'int', 'flags'=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_syncfs' => ['resource', 'fd'=>'mixed', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_truncate' => ['resource', 'path'=>'string', 'offset='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_unlink' => ['resource', 'path'=>'string', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_utime' => ['resource', 'path'=>'string', 'atime'=>'float', 'mtime'=>'float', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'eio_write' => ['resource', 'fd'=>'mixed', 'string'=>'string', 'length='=>'int', 'offset='=>'int', 'pri='=>'int', 'callback='=>'callable', 'data='=>'mixed'], + 'empty' => ['bool', 'value'=>'mixed'], + 'enchant_broker_describe' => ['array|false', 'broker'=>'resource'], + 'enchant_broker_dict_exists' => ['bool', 'broker'=>'resource', 'tag'=>'string'], + 'enchant_broker_free' => ['bool', 'broker'=>'resource'], + 'enchant_broker_free_dict' => ['bool', 'dictionary'=>'resource'], + 'enchant_broker_get_dict_path' => ['string', 'broker'=>'resource', 'type'=>'int'], + 'enchant_broker_get_error' => ['string|false', 'broker'=>'resource'], + 'enchant_broker_init' => ['resource|false'], + 'enchant_broker_list_dicts' => ['array|false', 'broker'=>'resource'], + 'enchant_broker_request_dict' => ['resource|false', 'broker'=>'resource', 'tag'=>'string'], + 'enchant_broker_request_pwl_dict' => ['resource|false', 'broker'=>'resource', 'filename'=>'string'], + 'enchant_broker_set_dict_path' => ['bool', 'broker'=>'resource', 'type'=>'int', 'path'=>'string'], + 'enchant_broker_set_ordering' => ['bool', 'broker'=>'resource', 'tag'=>'string', 'ordering'=>'string'], + 'enchant_dict_add_to_personal' => ['void', 'dictionary'=>'resource', 'word'=>'string'], + 'enchant_dict_add_to_session' => ['void', 'dictionary'=>'resource', 'word'=>'string'], + 'enchant_dict_check' => ['bool', 'dictionary'=>'resource', 'word'=>'string'], + 'enchant_dict_describe' => ['array', 'dictionary'=>'resource'], + 'enchant_dict_get_error' => ['string', 'dictionary'=>'resource'], + 'enchant_dict_is_in_session' => ['bool', 'dictionary'=>'resource', 'word'=>'string'], + 'enchant_dict_quick_check' => ['bool', 'dictionary'=>'resource', 'word'=>'string', '&w_suggestions='=>'array'], + 'enchant_dict_store_replacement' => ['void', 'dictionary'=>'resource', 'misspelled'=>'string', 'correct'=>'string'], + 'enchant_dict_suggest' => ['array', 'dictionary'=>'resource', 'word'=>'string'], + 'end' => ['mixed|false', '&r_array'=>'array|object'], + 'error_clear_last' => ['void'], + 'error_get_last' => ['?array{type:int,message:string,file:string,line:int}'], + 'error_log' => ['bool', 'message'=>'string', 'message_type='=>'int', 'destination='=>'string', 'additional_headers='=>'string'], + 'error_reporting' => ['int', 'error_level='=>'int'], + 'escapeshellarg' => ['string', 'arg'=>'string'], + 'escapeshellcmd' => ['string', 'command'=>'string'], + 'eval' => ['mixed', 'code_str'=>'string'], + 'event_add' => ['bool', 'event'=>'resource', 'timeout='=>'int'], + 'event_base_free' => ['void', 'event_base'=>'resource'], + 'event_base_loop' => ['int', 'event_base'=>'resource', 'flags='=>'int'], + 'event_base_loopbreak' => ['bool', 'event_base'=>'resource'], + 'event_base_loopexit' => ['bool', 'event_base'=>'resource', 'timeout='=>'int'], + 'event_base_new' => ['resource|false'], + 'event_base_priority_init' => ['bool', 'event_base'=>'resource', 'npriorities'=>'int'], + 'event_base_reinit' => ['bool', 'event_base'=>'resource'], + 'event_base_set' => ['bool', 'event'=>'resource', 'event_base'=>'resource'], + 'event_buffer_base_set' => ['bool', 'bevent'=>'resource', 'event_base'=>'resource'], + 'event_buffer_disable' => ['bool', 'bevent'=>'resource', 'events'=>'int'], + 'event_buffer_enable' => ['bool', 'bevent'=>'resource', 'events'=>'int'], + 'event_buffer_fd_set' => ['void', 'bevent'=>'resource', 'fd'=>'resource'], + 'event_buffer_free' => ['void', 'bevent'=>'resource'], + 'event_buffer_new' => ['resource|false', 'stream'=>'resource', 'readcb'=>'callable|null', 'writecb'=>'callable|null', 'errorcb'=>'callable', 'arg='=>'mixed'], + 'event_buffer_priority_set' => ['bool', 'bevent'=>'resource', 'priority'=>'int'], + 'event_buffer_read' => ['string', 'bevent'=>'resource', 'data_size'=>'int'], + 'event_buffer_set_callback' => ['bool', 'event'=>'resource', 'readcb'=>'mixed', 'writecb'=>'mixed', 'errorcb'=>'mixed', 'arg='=>'mixed'], + 'event_buffer_timeout_set' => ['void', 'bevent'=>'resource', 'read_timeout'=>'int', 'write_timeout'=>'int'], + 'event_buffer_watermark_set' => ['void', 'bevent'=>'resource', 'events'=>'int', 'lowmark'=>'int', 'highmark'=>'int'], + 'event_buffer_write' => ['bool', 'bevent'=>'resource', 'data'=>'string', 'data_size='=>'int'], + 'event_del' => ['bool', 'event'=>'resource'], + 'event_free' => ['void', 'event'=>'resource'], + 'event_new' => ['resource|false'], + 'event_priority_set' => ['bool', 'event'=>'resource', 'priority'=>'int'], + 'event_set' => ['bool', 'event'=>'resource', 'fd'=>'int|resource', 'events'=>'int', 'callback'=>'callable', 'arg='=>'mixed'], + 'event_timer_add' => ['bool', 'event'=>'resource', 'timeout='=>'int'], + 'event_timer_del' => ['bool', 'event'=>'resource'], + 'event_timer_new' => ['resource|false'], + 'event_timer_pending' => ['bool', 'event'=>'resource', 'timeout='=>'int'], + 'event_timer_set' => ['bool', 'event'=>'resource', 'callback'=>'callable', 'arg='=>'mixed'], + 'exec' => ['string|false', 'command'=>'string', '&w_output='=>'array', '&w_result_code='=>'int'], + 'exif_imagetype' => ['int|false', 'filename'=>'string'], + 'exif_read_data' => ['array|false', 'file'=>'string|resource', 'required_sections='=>'string', 'as_arrays='=>'bool', 'read_thumbnail='=>'bool'], + 'exif_tagname' => ['string|false', 'index'=>'int'], + 'exif_thumbnail' => ['string|false', 'file'=>'string', '&w_width='=>'int', '&w_height='=>'int', '&w_image_type='=>'int'], + 'exit' => ['', 'status'=>'string|int'], + 'exp' => ['float', 'num'=>'float'], + 'expect_expectl' => ['int', 'expect'=>'resource', 'cases'=>'array', 'match='=>'array'], + 'expect_popen' => ['resource|false', 'command'=>'string'], + 'explode' => ['list|false', 'separator'=>'string', 'string'=>'string', 'limit='=>'int'], + 'expm1' => ['float', 'num'=>'float'], + 'extension_loaded' => ['bool', 'extension'=>'string'], + 'extract' => ['int', '&rw_array'=>'array', 'flags='=>'int', 'prefix='=>'string'], + 'ezmlm_hash' => ['int', 'addr'=>'string'], + 'fam_cancel_monitor' => ['bool', 'fam'=>'resource', 'fam_monitor'=>'resource'], + 'fam_close' => ['void', 'fam'=>'resource'], + 'fam_monitor_collection' => ['resource', 'fam'=>'resource', 'dirname'=>'string', 'depth'=>'int', 'mask'=>'string'], + 'fam_monitor_directory' => ['resource', 'fam'=>'resource', 'dirname'=>'string'], + 'fam_monitor_file' => ['resource', 'fam'=>'resource', 'filename'=>'string'], + 'fam_next_event' => ['array', 'fam'=>'resource'], + 'fam_open' => ['resource|false', 'appname='=>'string'], + 'fam_pending' => ['int', 'fam'=>'resource'], + 'fam_resume_monitor' => ['bool', 'fam'=>'resource', 'fam_monitor'=>'resource'], + 'fam_suspend_monitor' => ['bool', 'fam'=>'resource', 'fam_monitor'=>'resource'], + 'fann_cascadetrain_on_data' => ['bool', 'ann'=>'resource', 'data'=>'resource', 'max_neurons'=>'int', 'neurons_between_reports'=>'int', 'desired_error'=>'float'], + 'fann_cascadetrain_on_file' => ['bool', 'ann'=>'resource', 'filename'=>'string', 'max_neurons'=>'int', 'neurons_between_reports'=>'int', 'desired_error'=>'float'], + 'fann_clear_scaling_params' => ['bool', 'ann'=>'resource'], + 'fann_copy' => ['resource|false', 'ann'=>'resource'], + 'fann_create_from_file' => ['resource', 'configuration_file'=>'string'], + 'fann_create_shortcut' => ['resource|false', 'num_layers'=>'int', 'num_neurons1'=>'int', 'num_neurons2'=>'int', '...args='=>'int'], + 'fann_create_shortcut_array' => ['resource|false', 'num_layers'=>'int', 'layers'=>'array'], + 'fann_create_sparse' => ['resource|false', 'connection_rate'=>'float', 'num_layers'=>'int', 'num_neurons1'=>'int', 'num_neurons2'=>'int', '...args='=>'int'], + 'fann_create_sparse_array' => ['resource|false', 'connection_rate'=>'float', 'num_layers'=>'int', 'layers'=>'array'], + 'fann_create_standard' => ['resource|false', 'num_layers'=>'int', 'num_neurons1'=>'int', 'num_neurons2'=>'int', '...args='=>'int'], + 'fann_create_standard_array' => ['resource|false', 'num_layers'=>'int', 'layers'=>'array'], + 'fann_create_train' => ['resource', 'num_data'=>'int', 'num_input'=>'int', 'num_output'=>'int'], + 'fann_create_train_from_callback' => ['resource', 'num_data'=>'int', 'num_input'=>'int', 'num_output'=>'int', 'user_function'=>'callable'], + 'fann_descale_input' => ['bool', 'ann'=>'resource', 'input_vector'=>'array'], + 'fann_descale_output' => ['bool', 'ann'=>'resource', 'output_vector'=>'array'], + 'fann_descale_train' => ['bool', 'ann'=>'resource', 'train_data'=>'resource'], + 'fann_destroy' => ['bool', 'ann'=>'resource'], + 'fann_destroy_train' => ['bool', 'train_data'=>'resource'], + 'fann_duplicate_train_data' => ['resource', 'data'=>'resource'], + 'fann_get_MSE' => ['float|false', 'ann'=>'resource'], + 'fann_get_activation_function' => ['int|false', 'ann'=>'resource', 'layer'=>'int', 'neuron'=>'int'], + 'fann_get_activation_steepness' => ['float|false', 'ann'=>'resource', 'layer'=>'int', 'neuron'=>'int'], + 'fann_get_bias_array' => ['array', 'ann'=>'resource'], + 'fann_get_bit_fail' => ['int|false', 'ann'=>'resource'], + 'fann_get_bit_fail_limit' => ['float|false', 'ann'=>'resource'], + 'fann_get_cascade_activation_functions' => ['array|false', 'ann'=>'resource'], + 'fann_get_cascade_activation_functions_count' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_activation_steepnesses' => ['array|false', 'ann'=>'resource'], + 'fann_get_cascade_activation_steepnesses_count' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_candidate_change_fraction' => ['float|false', 'ann'=>'resource'], + 'fann_get_cascade_candidate_limit' => ['float|false', 'ann'=>'resource'], + 'fann_get_cascade_candidate_stagnation_epochs' => ['float|false', 'ann'=>'resource'], + 'fann_get_cascade_max_cand_epochs' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_max_out_epochs' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_min_cand_epochs' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_min_out_epochs' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_num_candidate_groups' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_num_candidates' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_output_change_fraction' => ['float|false', 'ann'=>'resource'], + 'fann_get_cascade_output_stagnation_epochs' => ['int|false', 'ann'=>'resource'], + 'fann_get_cascade_weight_multiplier' => ['float|false', 'ann'=>'resource'], + 'fann_get_connection_array' => ['array', 'ann'=>'resource'], + 'fann_get_connection_rate' => ['float|false', 'ann'=>'resource'], + 'fann_get_errno' => ['int|false', 'errdat'=>'resource'], + 'fann_get_errstr' => ['string|false', 'errdat'=>'resource'], + 'fann_get_layer_array' => ['array', 'ann'=>'resource'], + 'fann_get_learning_momentum' => ['float|false', 'ann'=>'resource'], + 'fann_get_learning_rate' => ['float|false', 'ann'=>'resource'], + 'fann_get_network_type' => ['int|false', 'ann'=>'resource'], + 'fann_get_num_input' => ['int|false', 'ann'=>'resource'], + 'fann_get_num_layers' => ['int|false', 'ann'=>'resource'], + 'fann_get_num_output' => ['int|false', 'ann'=>'resource'], + 'fann_get_quickprop_decay' => ['float|false', 'ann'=>'resource'], + 'fann_get_quickprop_mu' => ['float|false', 'ann'=>'resource'], + 'fann_get_rprop_decrease_factor' => ['float|false', 'ann'=>'resource'], + 'fann_get_rprop_delta_max' => ['float|false', 'ann'=>'resource'], + 'fann_get_rprop_delta_min' => ['float|false', 'ann'=>'resource'], + 'fann_get_rprop_delta_zero' => ['float|false', 'ann'=>'resource'], + 'fann_get_rprop_increase_factor' => ['float|false', 'ann'=>'resource'], + 'fann_get_sarprop_step_error_shift' => ['float|false', 'ann'=>'resource'], + 'fann_get_sarprop_step_error_threshold_factor' => ['float|false', 'ann'=>'resource'], + 'fann_get_sarprop_temperature' => ['float|false', 'ann'=>'resource'], + 'fann_get_sarprop_weight_decay_shift' => ['float|false', 'ann'=>'resource'], + 'fann_get_total_connections' => ['int|false', 'ann'=>'resource'], + 'fann_get_total_neurons' => ['int|false', 'ann'=>'resource'], + 'fann_get_train_error_function' => ['int|false', 'ann'=>'resource'], + 'fann_get_train_stop_function' => ['int|false', 'ann'=>'resource'], + 'fann_get_training_algorithm' => ['int|false', 'ann'=>'resource'], + 'fann_init_weights' => ['bool', 'ann'=>'resource', 'train_data'=>'resource'], + 'fann_length_train_data' => ['int|false', 'data'=>'resource'], + 'fann_merge_train_data' => ['resource|false', 'data1'=>'resource', 'data2'=>'resource'], + 'fann_num_input_train_data' => ['int|false', 'data'=>'resource'], + 'fann_num_output_train_data' => ['int|false', 'data'=>'resource'], + 'fann_print_error' => ['void', 'errdat'=>'string'], + 'fann_randomize_weights' => ['bool', 'ann'=>'resource', 'min_weight'=>'float', 'max_weight'=>'float'], + 'fann_read_train_from_file' => ['resource', 'filename'=>'string'], + 'fann_reset_MSE' => ['bool', 'ann'=>'string'], + 'fann_reset_errno' => ['void', 'errdat'=>'resource'], + 'fann_reset_errstr' => ['void', 'errdat'=>'resource'], + 'fann_run' => ['array|false', 'ann'=>'resource', 'input'=>'array'], + 'fann_save' => ['bool', 'ann'=>'resource', 'configuration_file'=>'string'], + 'fann_save_train' => ['bool', 'data'=>'resource', 'file_name'=>'string'], + 'fann_scale_input' => ['bool', 'ann'=>'resource', 'input_vector'=>'array'], + 'fann_scale_input_train_data' => ['bool', 'train_data'=>'resource', 'new_min'=>'float', 'new_max'=>'float'], + 'fann_scale_output' => ['bool', 'ann'=>'resource', 'output_vector'=>'array'], + 'fann_scale_output_train_data' => ['bool', 'train_data'=>'resource', 'new_min'=>'float', 'new_max'=>'float'], + 'fann_scale_train' => ['bool', 'ann'=>'resource', 'train_data'=>'resource'], + 'fann_scale_train_data' => ['bool', 'train_data'=>'resource', 'new_min'=>'float', 'new_max'=>'float'], + 'fann_set_activation_function' => ['bool', 'ann'=>'resource', 'activation_function'=>'int', 'layer'=>'int', 'neuron'=>'int'], + 'fann_set_activation_function_hidden' => ['bool', 'ann'=>'resource', 'activation_function'=>'int'], + 'fann_set_activation_function_layer' => ['bool', 'ann'=>'resource', 'activation_function'=>'int', 'layer'=>'int'], + 'fann_set_activation_function_output' => ['bool', 'ann'=>'resource', 'activation_function'=>'int'], + 'fann_set_activation_steepness' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float', 'layer'=>'int', 'neuron'=>'int'], + 'fann_set_activation_steepness_hidden' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float'], + 'fann_set_activation_steepness_layer' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float', 'layer'=>'int'], + 'fann_set_activation_steepness_output' => ['bool', 'ann'=>'resource', 'activation_steepness'=>'float'], + 'fann_set_bit_fail_limit' => ['bool', 'ann'=>'resource', 'bit_fail_limit'=>'float'], + 'fann_set_callback' => ['bool', 'ann'=>'resource', 'callback'=>'callable'], + 'fann_set_cascade_activation_functions' => ['bool', 'ann'=>'resource', 'cascade_activation_functions'=>'array'], + 'fann_set_cascade_activation_steepnesses' => ['bool', 'ann'=>'resource', 'cascade_activation_steepnesses_count'=>'array'], + 'fann_set_cascade_candidate_change_fraction' => ['bool', 'ann'=>'resource', 'cascade_candidate_change_fraction'=>'float'], + 'fann_set_cascade_candidate_limit' => ['bool', 'ann'=>'resource', 'cascade_candidate_limit'=>'float'], + 'fann_set_cascade_candidate_stagnation_epochs' => ['bool', 'ann'=>'resource', 'cascade_candidate_stagnation_epochs'=>'int'], + 'fann_set_cascade_max_cand_epochs' => ['bool', 'ann'=>'resource', 'cascade_max_cand_epochs'=>'int'], + 'fann_set_cascade_max_out_epochs' => ['bool', 'ann'=>'resource', 'cascade_max_out_epochs'=>'int'], + 'fann_set_cascade_min_cand_epochs' => ['bool', 'ann'=>'resource', 'cascade_min_cand_epochs'=>'int'], + 'fann_set_cascade_min_out_epochs' => ['bool', 'ann'=>'resource', 'cascade_min_out_epochs'=>'int'], + 'fann_set_cascade_num_candidate_groups' => ['bool', 'ann'=>'resource', 'cascade_num_candidate_groups'=>'int'], + 'fann_set_cascade_output_change_fraction' => ['bool', 'ann'=>'resource', 'cascade_output_change_fraction'=>'float'], + 'fann_set_cascade_output_stagnation_epochs' => ['bool', 'ann'=>'resource', 'cascade_output_stagnation_epochs'=>'int'], + 'fann_set_cascade_weight_multiplier' => ['bool', 'ann'=>'resource', 'cascade_weight_multiplier'=>'float'], + 'fann_set_error_log' => ['void', 'errdat'=>'resource', 'log_file'=>'string'], + 'fann_set_input_scaling_params' => ['bool', 'ann'=>'resource', 'train_data'=>'resource', 'new_input_min'=>'float', 'new_input_max'=>'float'], + 'fann_set_learning_momentum' => ['bool', 'ann'=>'resource', 'learning_momentum'=>'float'], + 'fann_set_learning_rate' => ['bool', 'ann'=>'resource', 'learning_rate'=>'float'], + 'fann_set_output_scaling_params' => ['bool', 'ann'=>'resource', 'train_data'=>'resource', 'new_output_min'=>'float', 'new_output_max'=>'float'], + 'fann_set_quickprop_decay' => ['bool', 'ann'=>'resource', 'quickprop_decay'=>'float'], + 'fann_set_quickprop_mu' => ['bool', 'ann'=>'resource', 'quickprop_mu'=>'float'], + 'fann_set_rprop_decrease_factor' => ['bool', 'ann'=>'resource', 'rprop_decrease_factor'=>'float'], + 'fann_set_rprop_delta_max' => ['bool', 'ann'=>'resource', 'rprop_delta_max'=>'float'], + 'fann_set_rprop_delta_min' => ['bool', 'ann'=>'resource', 'rprop_delta_min'=>'float'], + 'fann_set_rprop_delta_zero' => ['bool', 'ann'=>'resource', 'rprop_delta_zero'=>'float'], + 'fann_set_rprop_increase_factor' => ['bool', 'ann'=>'resource', 'rprop_increase_factor'=>'float'], + 'fann_set_sarprop_step_error_shift' => ['bool', 'ann'=>'resource', 'sarprop_step_error_shift'=>'float'], + 'fann_set_sarprop_step_error_threshold_factor' => ['bool', 'ann'=>'resource', 'sarprop_step_error_threshold_factor'=>'float'], + 'fann_set_sarprop_temperature' => ['bool', 'ann'=>'resource', 'sarprop_temperature'=>'float'], + 'fann_set_sarprop_weight_decay_shift' => ['bool', 'ann'=>'resource', 'sarprop_weight_decay_shift'=>'float'], + 'fann_set_scaling_params' => ['bool', 'ann'=>'resource', 'train_data'=>'resource', 'new_input_min'=>'float', 'new_input_max'=>'float', 'new_output_min'=>'float', 'new_output_max'=>'float'], + 'fann_set_train_error_function' => ['bool', 'ann'=>'resource', 'error_function'=>'int'], + 'fann_set_train_stop_function' => ['bool', 'ann'=>'resource', 'stop_function'=>'int'], + 'fann_set_training_algorithm' => ['bool', 'ann'=>'resource', 'training_algorithm'=>'int'], + 'fann_set_weight' => ['bool', 'ann'=>'resource', 'from_neuron'=>'int', 'to_neuron'=>'int', 'weight'=>'float'], + 'fann_set_weight_array' => ['bool', 'ann'=>'resource', 'connections'=>'array'], + 'fann_shuffle_train_data' => ['bool', 'train_data'=>'resource'], + 'fann_subset_train_data' => ['resource', 'data'=>'resource', 'pos'=>'int', 'length'=>'int'], + 'fann_test' => ['bool', 'ann'=>'resource', 'input'=>'array', 'desired_output'=>'array'], + 'fann_test_data' => ['float|false', 'ann'=>'resource', 'data'=>'resource'], + 'fann_train' => ['bool', 'ann'=>'resource', 'input'=>'array', 'desired_output'=>'array'], + 'fann_train_epoch' => ['float|false', 'ann'=>'resource', 'data'=>'resource'], + 'fann_train_on_data' => ['bool', 'ann'=>'resource', 'data'=>'resource', 'max_epochs'=>'int', 'epochs_between_reports'=>'int', 'desired_error'=>'float'], + 'fann_train_on_file' => ['bool', 'ann'=>'resource', 'filename'=>'string', 'max_epochs'=>'int', 'epochs_between_reports'=>'int', 'desired_error'=>'float'], + 'fastcgi_finish_request' => ['bool'], + 'fbsql_affected_rows' => ['int', 'link_identifier='=>'?resource'], + 'fbsql_autocommit' => ['bool', 'link_identifier'=>'resource', 'onoff='=>'bool'], + 'fbsql_blob_size' => ['int', 'blob_handle'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_change_user' => ['bool', 'user'=>'string', 'password'=>'string', 'database='=>'string', 'link_identifier='=>'?resource'], + 'fbsql_clob_size' => ['int', 'clob_handle'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_close' => ['bool', 'link_identifier='=>'?resource'], + 'fbsql_commit' => ['bool', 'link_identifier='=>'?resource'], + 'fbsql_connect' => ['resource', 'hostname='=>'string', 'username='=>'string', 'password='=>'string'], + 'fbsql_create_blob' => ['string', 'blob_data'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_create_clob' => ['string', 'clob_data'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_create_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource', 'database_options='=>'string'], + 'fbsql_data_seek' => ['bool', 'result'=>'resource', 'row_number'=>'int'], + 'fbsql_database' => ['string', 'link_identifier'=>'resource', 'database='=>'string'], + 'fbsql_database_password' => ['string', 'link_identifier'=>'resource', 'database_password='=>'string'], + 'fbsql_db_query' => ['resource', 'database'=>'string', 'query'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_db_status' => ['int', 'database_name'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_drop_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_errno' => ['int', 'link_identifier='=>'?resource'], + 'fbsql_error' => ['string', 'link_identifier='=>'?resource'], + 'fbsql_fetch_array' => ['array', 'result'=>'resource', 'result_type='=>'int'], + 'fbsql_fetch_assoc' => ['array', 'result'=>'resource'], + 'fbsql_fetch_field' => ['object', 'result'=>'resource', 'field_offset='=>'int'], + 'fbsql_fetch_lengths' => ['array', 'result'=>'resource'], + 'fbsql_fetch_object' => ['object', 'result'=>'resource'], + 'fbsql_fetch_row' => ['array', 'result'=>'resource'], + 'fbsql_field_flags' => ['string', 'result'=>'resource', 'field_offset='=>'int'], + 'fbsql_field_len' => ['int', 'result'=>'resource', 'field_offset='=>'int'], + 'fbsql_field_name' => ['string', 'result'=>'resource', 'field_index='=>'int'], + 'fbsql_field_seek' => ['bool', 'result'=>'resource', 'field_offset='=>'int'], + 'fbsql_field_table' => ['string', 'result'=>'resource', 'field_offset='=>'int'], + 'fbsql_field_type' => ['string', 'result'=>'resource', 'field_offset='=>'int'], + 'fbsql_free_result' => ['bool', 'result'=>'resource'], + 'fbsql_get_autostart_info' => ['array', 'link_identifier='=>'?resource'], + 'fbsql_hostname' => ['string', 'link_identifier'=>'resource', 'host_name='=>'string'], + 'fbsql_insert_id' => ['int', 'link_identifier='=>'?resource'], + 'fbsql_list_dbs' => ['resource', 'link_identifier='=>'?resource'], + 'fbsql_list_fields' => ['resource', 'database_name'=>'string', 'table_name'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_list_tables' => ['resource', 'database'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_next_result' => ['bool', 'result'=>'resource'], + 'fbsql_num_fields' => ['int', 'result'=>'resource'], + 'fbsql_num_rows' => ['int', 'result'=>'resource'], + 'fbsql_password' => ['string', 'link_identifier'=>'resource', 'password='=>'string'], + 'fbsql_pconnect' => ['resource', 'hostname='=>'string', 'username='=>'string', 'password='=>'string'], + 'fbsql_query' => ['resource', 'query'=>'string', 'link_identifier='=>'?resource', 'batch_size='=>'int'], + 'fbsql_read_blob' => ['string', 'blob_handle'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_read_clob' => ['string', 'clob_handle'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_result' => ['mixed', 'result'=>'resource', 'row='=>'int', 'field='=>'mixed'], + 'fbsql_rollback' => ['bool', 'link_identifier='=>'?resource'], + 'fbsql_rows_fetched' => ['int', 'result'=>'resource'], + 'fbsql_select_db' => ['bool', 'database_name='=>'string', 'link_identifier='=>'?resource'], + 'fbsql_set_characterset' => ['void', 'link_identifier'=>'resource', 'characterset'=>'int', 'in_out_both='=>'int'], + 'fbsql_set_lob_mode' => ['bool', 'result'=>'resource', 'lob_mode'=>'int'], + 'fbsql_set_password' => ['bool', 'link_identifier'=>'resource', 'user'=>'string', 'password'=>'string', 'old_password'=>'string'], + 'fbsql_set_transaction' => ['void', 'link_identifier'=>'resource', 'locking'=>'int', 'isolation'=>'int'], + 'fbsql_start_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource', 'database_options='=>'string'], + 'fbsql_stop_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], + 'fbsql_table_name' => ['string', 'result'=>'resource', 'index'=>'int'], + 'fbsql_username' => ['string', 'link_identifier'=>'resource', 'username='=>'string'], + 'fbsql_warnings' => ['bool', 'onoff='=>'bool'], + 'fclose' => ['bool', 'stream'=>'resource'], + 'fdf_add_doc_javascript' => ['bool', 'fdf_document'=>'resource', 'script_name'=>'string', 'script_code'=>'string'], + 'fdf_add_template' => ['bool', 'fdf_document'=>'resource', 'newpage'=>'int', 'filename'=>'string', 'template'=>'string', 'rename'=>'int'], + 'fdf_close' => ['void', 'fdf_document'=>'resource'], + 'fdf_create' => ['resource'], + 'fdf_enum_values' => ['bool', 'fdf_document'=>'resource', 'function'=>'callable', 'userdata='=>'mixed'], + 'fdf_errno' => ['int'], + 'fdf_error' => ['string', 'error_code='=>'int'], + 'fdf_get_ap' => ['bool', 'fdf_document'=>'resource', 'field'=>'string', 'face'=>'int', 'filename'=>'string'], + 'fdf_get_attachment' => ['array', 'fdf_document'=>'resource', 'fieldname'=>'string', 'savepath'=>'string'], + 'fdf_get_encoding' => ['string', 'fdf_document'=>'resource'], + 'fdf_get_file' => ['string', 'fdf_document'=>'resource'], + 'fdf_get_flags' => ['int', 'fdf_document'=>'resource', 'fieldname'=>'string', 'whichflags'=>'int'], + 'fdf_get_opt' => ['mixed', 'fdf_document'=>'resource', 'fieldname'=>'string', 'element='=>'int'], + 'fdf_get_status' => ['string', 'fdf_document'=>'resource'], + 'fdf_get_value' => ['mixed', 'fdf_document'=>'resource', 'fieldname'=>'string', 'which='=>'int'], + 'fdf_get_version' => ['string', 'fdf_document='=>'resource'], + 'fdf_header' => ['void'], + 'fdf_next_field_name' => ['string', 'fdf_document'=>'resource', 'fieldname='=>'string'], + 'fdf_open' => ['resource|false', 'filename'=>'string'], + 'fdf_open_string' => ['resource', 'fdf_data'=>'string'], + 'fdf_remove_item' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'item'=>'int'], + 'fdf_save' => ['bool', 'fdf_document'=>'resource', 'filename='=>'string'], + 'fdf_save_string' => ['string', 'fdf_document'=>'resource'], + 'fdf_set_ap' => ['bool', 'fdf_document'=>'resource', 'field_name'=>'string', 'face'=>'int', 'filename'=>'string', 'page_number'=>'int'], + 'fdf_set_encoding' => ['bool', 'fdf_document'=>'resource', 'encoding'=>'string'], + 'fdf_set_file' => ['bool', 'fdf_document'=>'resource', 'url'=>'string', 'target_frame='=>'string'], + 'fdf_set_flags' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'whichflags'=>'int', 'newflags'=>'int'], + 'fdf_set_javascript_action' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'trigger'=>'int', 'script'=>'string'], + 'fdf_set_on_import_javascript' => ['bool', 'fdf_document'=>'resource', 'script'=>'string', 'before_data_import'=>'bool'], + 'fdf_set_opt' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'element'=>'int', 'string1'=>'string', 'string2'=>'string'], + 'fdf_set_status' => ['bool', 'fdf_document'=>'resource', 'status'=>'string'], + 'fdf_set_submit_form_action' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'trigger'=>'int', 'script'=>'string', 'flags'=>'int'], + 'fdf_set_target_frame' => ['bool', 'fdf_document'=>'resource', 'frame_name'=>'string'], + 'fdf_set_value' => ['bool', 'fdf_document'=>'resource', 'fieldname'=>'string', 'value'=>'mixed', 'isname='=>'int'], + 'fdf_set_version' => ['bool', 'fdf_document'=>'resource', 'version'=>'string'], + 'feof' => ['bool', 'stream'=>'resource'], + 'fflush' => ['bool', 'stream'=>'resource'], + 'ffmpeg_animated_gif::__construct' => ['void', 'output_file_path'=>'string', 'width'=>'int', 'height'=>'int', 'frame_rate'=>'int', 'loop_count='=>'int'], + 'ffmpeg_animated_gif::addFrame' => ['', 'frame_to_add'=>'ffmpeg_frame'], + 'ffmpeg_frame::__construct' => ['void', 'gd_image'=>'resource'], + 'ffmpeg_frame::crop' => ['', 'crop_top'=>'int', 'crop_bottom='=>'int', 'crop_left='=>'int', 'crop_right='=>'int'], + 'ffmpeg_frame::getHeight' => ['int'], + 'ffmpeg_frame::getPTS' => ['int'], + 'ffmpeg_frame::getPresentationTimestamp' => ['int'], + 'ffmpeg_frame::getWidth' => ['int'], + 'ffmpeg_frame::resize' => ['', 'width'=>'int', 'height'=>'int', 'crop_top='=>'int', 'crop_bottom='=>'int', 'crop_left='=>'int', 'crop_right='=>'int'], + 'ffmpeg_frame::toGDImage' => ['resource'], + 'ffmpeg_movie::__construct' => ['void', 'path_to_media'=>'string', 'persistent'=>'bool'], + 'ffmpeg_movie::getArtist' => ['string'], + 'ffmpeg_movie::getAudioBitRate' => ['int'], + 'ffmpeg_movie::getAudioChannels' => ['int'], + 'ffmpeg_movie::getAudioCodec' => ['string'], + 'ffmpeg_movie::getAudioSampleRate' => ['int'], + 'ffmpeg_movie::getAuthor' => ['string'], + 'ffmpeg_movie::getBitRate' => ['int'], + 'ffmpeg_movie::getComment' => ['string'], + 'ffmpeg_movie::getCopyright' => ['string'], + 'ffmpeg_movie::getDuration' => ['int'], + 'ffmpeg_movie::getFilename' => ['string'], + 'ffmpeg_movie::getFrame' => ['ffmpeg_frame|false', 'framenumber'=>'int'], + 'ffmpeg_movie::getFrameCount' => ['int'], + 'ffmpeg_movie::getFrameHeight' => ['int'], + 'ffmpeg_movie::getFrameNumber' => ['int'], + 'ffmpeg_movie::getFrameRate' => ['int'], + 'ffmpeg_movie::getFrameWidth' => ['int'], + 'ffmpeg_movie::getGenre' => ['string'], + 'ffmpeg_movie::getNextKeyFrame' => ['ffmpeg_frame|false'], + 'ffmpeg_movie::getPixelFormat' => [''], + 'ffmpeg_movie::getTitle' => ['string'], + 'ffmpeg_movie::getTrackNumber' => ['int|string'], + 'ffmpeg_movie::getVideoBitRate' => ['int'], + 'ffmpeg_movie::getVideoCodec' => ['string'], + 'ffmpeg_movie::getYear' => ['int|string'], + 'ffmpeg_movie::hasAudio' => ['bool'], + 'ffmpeg_movie::hasVideo' => ['bool'], + 'fgetc' => ['string|false', 'stream'=>'resource'], + 'fgetcsv' => ['list|array{0: null}|false', 'stream'=>'resource', 'length='=>'int', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'fgets' => ['string|false', 'stream'=>'resource', 'length='=>'int'], + 'fgetss' => ['string|false', 'fp'=>'resource', 'length='=>'int', 'allowable_tags='=>'string'], + 'file' => ['list|false', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], + 'file_exists' => ['bool', 'filename'=>'string'], + 'file_get_contents' => ['string|false', 'filename'=>'string', 'use_include_path='=>'bool', 'context='=>'?resource', 'offset='=>'int', 'length='=>'int'], + 'file_put_contents' => ['int|false', 'filename'=>'string', 'data'=>'string|resource|array', 'flags='=>'int', 'context='=>'resource'], + 'fileatime' => ['int|false', 'filename'=>'string'], + 'filectime' => ['int|false', 'filename'=>'string'], + 'filegroup' => ['int|false', 'filename'=>'string'], + 'fileinode' => ['int|false', 'filename'=>'string'], + 'filemtime' => ['int|false', 'filename'=>'string'], + 'fileowner' => ['int|false', 'filename'=>'string'], + 'fileperms' => ['int|false', 'filename'=>'string'], + 'filepro' => ['bool', 'directory'=>'string'], + 'filepro_fieldcount' => ['int'], + 'filepro_fieldname' => ['string', 'field_number'=>'int'], + 'filepro_fieldtype' => ['string', 'field_number'=>'int'], + 'filepro_fieldwidth' => ['int', 'field_number'=>'int'], + 'filepro_retrieve' => ['string', 'row_number'=>'int', 'field_number'=>'int'], + 'filepro_rowcount' => ['int'], + 'filesize' => ['int|false', 'filename'=>'string'], + 'filetype' => ['string|false', 'filename'=>'string'], + 'filter_has_var' => ['bool', 'input_type'=>'int', 'var_name'=>'string'], + 'filter_id' => ['int|false', 'name'=>'string'], + 'filter_input' => ['mixed|false', 'type'=>'int', 'var_name'=>'string', 'filter='=>'int', 'options='=>'array|int'], + 'filter_input_array' => ['array|false|null', 'type'=>'int', 'options='=>'int|array', 'add_empty='=>'bool'], + 'filter_list' => ['array'], + 'filter_var' => ['mixed|false', 'value'=>'mixed', 'filter='=>'int', 'options='=>'array|int'], + 'filter_var_array' => ['array|false|null', 'array'=>'array', 'options='=>'array|int', 'add_empty='=>'bool'], + 'finfo::__construct' => ['void', 'flags='=>'int', 'magic_database='=>'string'], + 'finfo::buffer' => ['string|false', 'string'=>'string', 'flags='=>'int', 'context='=>'?resource'], + 'finfo::file' => ['string|false', 'filename'=>'string', 'flags='=>'int', 'context='=>'?resource'], + 'finfo::set_flags' => ['bool', 'flags'=>'int'], + 'finfo_buffer' => ['string|false', 'finfo'=>'resource', 'string'=>'string', 'flags='=>'int', 'context='=>'resource'], + 'finfo_close' => ['bool', 'finfo'=>'resource'], + 'finfo_file' => ['string|false', 'finfo'=>'resource', 'filename'=>'string', 'flags='=>'int', 'context='=>'resource'], + 'finfo_open' => ['resource|false', 'flags='=>'int', 'magic_database='=>'string'], + 'finfo_set_flags' => ['bool', 'finfo'=>'resource', 'flags'=>'int'], + 'floatval' => ['float', 'value'=>'mixed'], + 'flock' => ['bool', 'stream'=>'resource', 'operation'=>'int', '&w_would_block='=>'int'], + 'floor' => ['float', 'num'=>'float'], + 'flush' => ['void'], + 'fmod' => ['float', 'num1'=>'float', 'num2'=>'float'], + 'fnmatch' => ['bool', 'pattern'=>'string', 'filename'=>'string', 'flags='=>'int'], + 'fopen' => ['resource|false', 'filename'=>'string', 'mode'=>'string', 'use_include_path='=>'bool', 'context='=>'resource|null'], + 'forward_static_call' => ['mixed|false', 'callback'=>'callable', '...args='=>'mixed'], + 'forward_static_call_array' => ['mixed|false', 'callback'=>'callable', 'args'=>'list'], + 'fpassthru' => ['int', 'stream'=>'resource'], + 'fprintf' => ['int', 'stream'=>'resource', 'format'=>'string', '...values='=>'string|int|float'], + 'fputcsv' => ['int|false', 'stream'=>'resource', 'fields'=>'array', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'fputs' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'fread' => ['string|false', 'stream'=>'resource', 'length'=>'int'], + 'frenchtojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], + 'fribidi_log2vis' => ['string', 'string'=>'string', 'direction'=>'string', 'charset'=>'int'], + 'fscanf' => ['list', 'stream'=>'resource', 'format'=>'string'], + 'fscanf\'1' => ['int', 'stream'=>'resource', 'format'=>'string', '&...w_vars='=>'string|int|float'], + 'fseek' => ['int', 'stream'=>'resource', 'offset'=>'int', 'whence='=>'int'], + 'fsockopen' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'float'], + 'fstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'stream'=>'resource'], + 'ftell' => ['int|false', 'stream'=>'resource'], + 'ftok' => ['int', 'filename'=>'string', 'project_id'=>'string'], + 'ftp_alloc' => ['bool', 'ftp'=>'resource', 'size'=>'int', '&w_response='=>'string'], + 'ftp_cdup' => ['bool', 'ftp'=>'resource'], + 'ftp_chdir' => ['bool', 'ftp'=>'resource', 'directory'=>'string'], + 'ftp_chmod' => ['int|false', 'ftp'=>'resource', 'permissions'=>'int', 'filename'=>'string'], + 'ftp_close' => ['bool', 'ftp'=>'resource'], + 'ftp_connect' => ['resource|false', 'hostname'=>'string', 'port='=>'int', 'timeout='=>'int'], + 'ftp_delete' => ['bool', 'ftp'=>'resource', 'filename'=>'string'], + 'ftp_exec' => ['bool', 'ftp'=>'resource', 'command'=>'string'], + 'ftp_fget' => ['bool', 'ftp'=>'resource', 'stream'=>'resource', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], + 'ftp_fput' => ['bool', 'ftp'=>'resource', 'remote_filename'=>'string', 'stream'=>'resource', 'mode='=>'int', 'offset='=>'int'], + 'ftp_get' => ['bool', 'ftp'=>'resource', 'local_filename'=>'string', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], + 'ftp_get_option' => ['int|false', 'ftp'=>'resource', 'option'=>'int'], + 'ftp_login' => ['bool', 'ftp'=>'resource', 'username'=>'string', 'password'=>'string'], + 'ftp_mdtm' => ['int', 'ftp'=>'resource', 'filename'=>'string'], + 'ftp_mkdir' => ['string|false', 'ftp'=>'resource', 'directory'=>'string'], + 'ftp_mlsd' => ['array|false', 'ftp'=>'resource', 'directory'=>'string'], + 'ftp_nb_continue' => ['int', 'ftp'=>'resource'], + 'ftp_nb_fget' => ['int', 'ftp'=>'resource', 'stream'=>'resource', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], + 'ftp_nb_fput' => ['int', 'ftp'=>'resource', 'remote_filename'=>'string', 'stream'=>'resource', 'mode='=>'int', 'offset='=>'int'], + 'ftp_nb_get' => ['int', 'ftp'=>'resource', 'local_filename'=>'string', 'remote_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], + 'ftp_nb_put' => ['int', 'ftp'=>'resource', 'remote_filename'=>'string', 'local_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], + 'ftp_nlist' => ['array|false', 'ftp'=>'resource', 'directory'=>'string'], + 'ftp_pasv' => ['bool', 'ftp'=>'resource', 'enable'=>'bool'], + 'ftp_put' => ['bool', 'ftp'=>'resource', 'remote_filename'=>'string', 'local_filename'=>'string', 'mode='=>'int', 'offset='=>'int'], + 'ftp_pwd' => ['string|false', 'ftp'=>'resource'], + 'ftp_quit' => ['bool', 'ftp'=>'resource'], + 'ftp_raw' => ['?array', 'ftp'=>'resource', 'command'=>'string'], + 'ftp_rawlist' => ['array|false', 'ftp'=>'resource', 'directory'=>'string', 'recursive='=>'bool'], + 'ftp_rename' => ['bool', 'ftp'=>'resource', 'from'=>'string', 'to'=>'string'], + 'ftp_rmdir' => ['bool', 'ftp'=>'resource', 'directory'=>'string'], + 'ftp_set_option' => ['bool', 'ftp'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'ftp_site' => ['bool', 'ftp'=>'resource', 'command'=>'string'], + 'ftp_size' => ['int', 'ftp'=>'resource', 'filename'=>'string'], + 'ftp_ssl_connect' => ['resource|false', 'hostname'=>'string', 'port='=>'int', 'timeout='=>'int'], + 'ftp_systype' => ['string|false', 'ftp'=>'resource'], + 'ftruncate' => ['bool', 'stream'=>'resource', 'size'=>'int'], + 'func_get_arg' => ['mixed|false', 'position'=>'int'], + 'func_get_args' => ['list'], + 'func_num_args' => ['int'], + 'function_exists' => ['bool', 'function'=>'string'], + 'fwrite' => ['int|false', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'gc_collect_cycles' => ['int'], + 'gc_disable' => ['void'], + 'gc_enable' => ['void'], + 'gc_enabled' => ['bool'], + 'gc_mem_caches' => ['int'], + 'gd_info' => ['array'], + 'gearman_bugreport' => [''], + 'gearman_client_add_options' => ['', 'client_object'=>'', 'option'=>''], + 'gearman_client_add_server' => ['', 'client_object'=>'', 'host'=>'', 'port'=>''], + 'gearman_client_add_servers' => ['', 'client_object'=>'', 'servers'=>''], + 'gearman_client_add_task' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], + 'gearman_client_add_task_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], + 'gearman_client_add_task_high' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], + 'gearman_client_add_task_high_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], + 'gearman_client_add_task_low' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], + 'gearman_client_add_task_low_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'context'=>'', 'unique'=>''], + 'gearman_client_add_task_status' => ['', 'client_object'=>'', 'job_handle'=>'', 'context'=>''], + 'gearman_client_clear_fn' => ['', 'client_object'=>''], + 'gearman_client_clone' => ['', 'client_object'=>''], + 'gearman_client_context' => ['', 'client_object'=>''], + 'gearman_client_create' => ['', 'client_object'=>''], + 'gearman_client_do' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], + 'gearman_client_do_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], + 'gearman_client_do_high' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], + 'gearman_client_do_high_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], + 'gearman_client_do_job_handle' => ['', 'client_object'=>''], + 'gearman_client_do_low' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], + 'gearman_client_do_low_background' => ['', 'client_object'=>'', 'function_name'=>'', 'workload'=>'', 'unique'=>''], + 'gearman_client_do_normal' => ['', 'client_object'=>'', 'function_name'=>'string', 'workload'=>'string', 'unique'=>'string'], + 'gearman_client_do_status' => ['', 'client_object'=>''], + 'gearman_client_echo' => ['', 'client_object'=>'', 'workload'=>''], + 'gearman_client_errno' => ['', 'client_object'=>''], + 'gearman_client_error' => ['', 'client_object'=>''], + 'gearman_client_job_status' => ['', 'client_object'=>'', 'job_handle'=>''], + 'gearman_client_options' => ['', 'client_object'=>''], + 'gearman_client_remove_options' => ['', 'client_object'=>'', 'option'=>''], + 'gearman_client_return_code' => ['', 'client_object'=>''], + 'gearman_client_run_tasks' => ['', 'data'=>''], + 'gearman_client_set_complete_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_context' => ['', 'client_object'=>'', 'context'=>''], + 'gearman_client_set_created_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_data_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_exception_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_fail_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_options' => ['', 'client_object'=>'', 'option'=>''], + 'gearman_client_set_status_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_timeout' => ['', 'client_object'=>'', 'timeout'=>''], + 'gearman_client_set_warning_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_set_workload_fn' => ['', 'client_object'=>'', 'callback'=>''], + 'gearman_client_timeout' => ['', 'client_object'=>''], + 'gearman_client_wait' => ['', 'client_object'=>''], + 'gearman_job_function_name' => ['', 'job_object'=>''], + 'gearman_job_handle' => ['string'], + 'gearman_job_return_code' => ['', 'job_object'=>''], + 'gearman_job_send_complete' => ['', 'job_object'=>'', 'result'=>''], + 'gearman_job_send_data' => ['', 'job_object'=>'', 'data'=>''], + 'gearman_job_send_exception' => ['', 'job_object'=>'', 'exception'=>''], + 'gearman_job_send_fail' => ['', 'job_object'=>''], + 'gearman_job_send_status' => ['', 'job_object'=>'', 'numerator'=>'', 'denominator'=>''], + 'gearman_job_send_warning' => ['', 'job_object'=>'', 'warning'=>''], + 'gearman_job_status' => ['array', 'job_handle'=>'string'], + 'gearman_job_unique' => ['', 'job_object'=>''], + 'gearman_job_workload' => ['', 'job_object'=>''], + 'gearman_job_workload_size' => ['', 'job_object'=>''], + 'gearman_task_data' => ['', 'task_object'=>''], + 'gearman_task_data_size' => ['', 'task_object'=>''], + 'gearman_task_denominator' => ['', 'task_object'=>''], + 'gearman_task_function_name' => ['', 'task_object'=>''], + 'gearman_task_is_known' => ['', 'task_object'=>''], + 'gearman_task_is_running' => ['', 'task_object'=>''], + 'gearman_task_job_handle' => ['', 'task_object'=>''], + 'gearman_task_numerator' => ['', 'task_object'=>''], + 'gearman_task_recv_data' => ['', 'task_object'=>'', 'data_len'=>''], + 'gearman_task_return_code' => ['', 'task_object'=>''], + 'gearman_task_send_workload' => ['', 'task_object'=>'', 'data'=>''], + 'gearman_task_unique' => ['', 'task_object'=>''], + 'gearman_verbose_name' => ['', 'verbose'=>''], + 'gearman_version' => [''], + 'gearman_worker_add_function' => ['', 'worker_object'=>'', 'function_name'=>'', 'function'=>'', 'data'=>'', 'timeout'=>''], + 'gearman_worker_add_options' => ['', 'worker_object'=>'', 'option'=>''], + 'gearman_worker_add_server' => ['', 'worker_object'=>'', 'host'=>'', 'port'=>''], + 'gearman_worker_add_servers' => ['', 'worker_object'=>'', 'servers'=>''], + 'gearman_worker_clone' => ['', 'worker_object'=>''], + 'gearman_worker_create' => [''], + 'gearman_worker_echo' => ['', 'worker_object'=>'', 'workload'=>''], + 'gearman_worker_errno' => ['', 'worker_object'=>''], + 'gearman_worker_error' => ['', 'worker_object'=>''], + 'gearman_worker_grab_job' => ['', 'worker_object'=>''], + 'gearman_worker_options' => ['', 'worker_object'=>''], + 'gearman_worker_register' => ['', 'worker_object'=>'', 'function_name'=>'', 'timeout'=>''], + 'gearman_worker_remove_options' => ['', 'worker_object'=>'', 'option'=>''], + 'gearman_worker_return_code' => ['', 'worker_object'=>''], + 'gearman_worker_set_options' => ['', 'worker_object'=>'', 'option'=>''], + 'gearman_worker_set_timeout' => ['', 'worker_object'=>'', 'timeout'=>''], + 'gearman_worker_timeout' => ['', 'worker_object'=>''], + 'gearman_worker_unregister' => ['', 'worker_object'=>'', 'function_name'=>''], + 'gearman_worker_unregister_all' => ['', 'worker_object'=>''], + 'gearman_worker_wait' => ['', 'worker_object'=>''], + 'gearman_worker_work' => ['', 'worker_object'=>''], + 'geoip_asnum_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_continent_code_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_country_code3_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_country_code_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_country_name_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_database_info' => ['string', 'database='=>'int'], + 'geoip_db_avail' => ['bool', 'database'=>'int'], + 'geoip_db_filename' => ['string', 'database'=>'int'], + 'geoip_db_get_all_info' => ['array'], + 'geoip_domain_by_name' => ['string', 'hostname'=>'string'], + 'geoip_id_by_name' => ['int', 'hostname'=>'string'], + 'geoip_isp_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_netspeedcell_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_org_by_name' => ['string|false', 'hostname'=>'string'], + 'geoip_record_by_name' => ['array|false', 'hostname'=>'string'], + 'geoip_region_by_name' => ['array|false', 'hostname'=>'string'], + 'geoip_region_name_by_code' => ['string|false', 'country_code'=>'string', 'region_code'=>'string'], + 'geoip_setup_custom_directory' => ['void', 'path'=>'string'], + 'geoip_time_zone_by_country_and_region' => ['string|false', 'country_code'=>'string', 'region_code='=>'string'], + 'get_browser' => ['array|object|false', 'user_agent='=>'?string', 'return_array='=>'bool'], + 'get_call_stack' => [''], + 'get_called_class' => ['class-string'], + 'get_cfg_var' => ['string|false', 'option'=>'string'], + 'get_class' => ['class-string', 'object='=>'object'], + 'get_class_methods' => ['list|null', 'object_or_class'=>'mixed'], + 'get_class_vars' => ['array', 'class'=>'string'], + 'get_current_user' => ['string'], + 'get_declared_classes' => ['list'], + 'get_declared_interfaces' => ['list'], + 'get_declared_traits' => ['list'], + 'get_defined_constants' => ['array', 'categorize='=>'bool'], + 'get_defined_functions' => ['array{internal: list, user: list}', 'exclude_disabled='=>'bool'], + 'get_defined_vars' => ['array'], + 'get_extension_funcs' => ['list|false', 'extension'=>'string'], + 'get_headers' => ['array|false', 'url'=>'string', 'associative='=>'int'], + 'get_html_translation_table' => ['array', 'table='=>'int', 'flags='=>'int', 'encoding='=>'string'], + 'get_include_path' => ['string'], + 'get_included_files' => ['list'], + 'get_loaded_extensions' => ['list', 'zend_extensions='=>'bool'], + 'get_magic_quotes_gpc' => ['int|false'], + 'get_magic_quotes_runtime' => ['int|false'], + 'get_meta_tags' => ['array', 'filename'=>'string', 'use_include_path='=>'bool'], + 'get_object_vars' => ['array', 'object'=>'object'], + 'get_parent_class' => ['class-string|false', 'object_or_class='=>'mixed'], + 'get_required_files' => ['list'], + 'get_resource_type' => ['string', 'resource'=>'resource'], + 'get_resources' => ['array', 'type='=>'string'], + 'getallheaders' => ['array|false'], + 'getcwd' => ['string|false'], + 'getdate' => ['array{seconds: int<0, 59>, minutes: int<0, 59>, hours: int<0, 23>, mday: int<1, 31>, wday: int<0, 6>, mon: int<1, 12>, year: int, yday: int<0, 365>, weekday: "Monday"|"Tuesday"|"Wednesday"|"Thursday"|"Friday"|"Saturday"|"Sunday", month: "January"|"February"|"March"|"April"|"May"|"June"|"July"|"August"|"September"|"October"|"November"|"December", 0: int}', 'timestamp='=>'int'], + 'getenv' => ['string|false', 'name'=>'string', 'local_only='=>'bool'], + 'gethostbyaddr' => ['string|false', 'ip'=>'string'], + 'gethostbyname' => ['string', 'hostname'=>'string'], + 'gethostbynamel' => ['list|false', 'hostname'=>'string'], + 'gethostname' => ['string|false'], + 'getimagesize' => ['array|false', 'filename'=>'string', '&w_image_info='=>'array'], + 'getimagesizefromstring' => ['array|false', 'string'=>'string', '&w_image_info='=>'array'], + 'getlastmod' => ['int|false'], + 'getmxrr' => ['bool', 'hostname'=>'string', '&w_hosts'=>'array', '&w_weights='=>'array'], + 'getmygid' => ['int|false'], + 'getmyinode' => ['int|false'], + 'getmypid' => ['int|false'], + 'getmyuid' => ['int|false'], + 'getopt' => ['array>|false', 'short_options'=>'string', 'long_options='=>'array'], + 'getprotobyname' => ['int|false', 'protocol'=>'string'], + 'getprotobynumber' => ['string', 'protocol'=>'int'], + 'getrandmax' => ['int'], + 'getrusage' => ['array', 'mode='=>'int'], + 'getservbyname' => ['int|false', 'service'=>'string', 'protocol'=>'string'], + 'getservbyport' => ['string|false', 'port'=>'int', 'protocol'=>'string'], + 'gettext' => ['string', 'message'=>'string'], + 'gettimeofday' => ['array'], + 'gettimeofday\'1' => ['float', 'as_float='=>'true'], + 'gettype' => ['string', 'value'=>'mixed'], + 'glob' => ['list|false', 'pattern'=>'string', 'flags='=>'int'], + 'gmdate' => ['string', 'format'=>'string', 'timestamp='=>'int'], + 'gmmktime' => ['int|false', 'hour='=>'int', 'minute='=>'int', 'second='=>'int', 'month='=>'int', 'day='=>'int', 'year='=>'int'], + 'gmp_abs' => ['GMP', 'num'=>'GMP|string|int'], + 'gmp_add' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_and' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_clrbit' => ['void', 'num'=>'GMP', 'index'=>'int'], + 'gmp_cmp' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_com' => ['GMP', 'num'=>'GMP|string|int'], + 'gmp_div' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], + 'gmp_div_q' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], + 'gmp_div_qr' => ['array{0: GMP, 1: GMP}', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], + 'gmp_div_r' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int', 'rounding_mode='=>'int'], + 'gmp_divexact' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_export' => ['string|false', 'num'=>'GMP|string|int', 'word_size='=>'int', 'flags='=>'int'], + 'gmp_fact' => ['GMP', 'num'=>'int'], + 'gmp_gcd' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_gcdext' => ['array', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_hamdist' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_import' => ['GMP|false', 'data'=>'string', 'word_size='=>'int', 'flags='=>'int'], + 'gmp_init' => ['GMP', 'num'=>'int|string', 'base='=>'int'], + 'gmp_intval' => ['int', 'num'=>'GMP|string|int'], + 'gmp_invert' => ['GMP|false', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_jacobi' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_legendre' => ['int', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_mod' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_mul' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_neg' => ['GMP', 'num'=>'GMP|string|int'], + 'gmp_nextprime' => ['GMP', 'num'=>'GMP|string|int'], + 'gmp_or' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_perfect_square' => ['bool', 'num'=>'GMP|string|int'], + 'gmp_popcount' => ['int', 'num'=>'GMP|string|int'], + 'gmp_pow' => ['GMP', 'num'=>'GMP|string|int', 'exponent'=>'int'], + 'gmp_powm' => ['GMP', 'num'=>'GMP|string|int', 'exponent'=>'GMP|string|int', 'modulus'=>'GMP|string|int'], + 'gmp_prob_prime' => ['int', 'num'=>'GMP|string|int', 'repetitions='=>'int'], + 'gmp_random' => ['GMP', 'limiter='=>'int'], + 'gmp_random_bits' => ['GMP', 'bits'=>'int'], + 'gmp_random_range' => ['GMP', 'min'=>'GMP|string|int', 'max'=>'GMP|string|int'], + 'gmp_random_seed' => ['void', 'seed'=>'GMP|string|int'], + 'gmp_root' => ['GMP', 'num'=>'GMP|string|int', 'nth'=>'int'], + 'gmp_rootrem' => ['array{0: GMP, 1: GMP}', 'num'=>'GMP|string|int', 'nth'=>'int'], + 'gmp_scan0' => ['int', 'num1'=>'GMP|string|int', 'start'=>'int'], + 'gmp_scan1' => ['int', 'num1'=>'GMP|string|int', 'start'=>'int'], + 'gmp_setbit' => ['void', 'num'=>'GMP', 'index'=>'int', 'value='=>'bool'], + 'gmp_sign' => ['int', 'num'=>'GMP|string|int'], + 'gmp_sqrt' => ['GMP', 'num'=>'GMP|string|int'], + 'gmp_sqrtrem' => ['array{0: GMP, 1: GMP}', 'num'=>'GMP|string|int'], + 'gmp_strval' => ['numeric-string', 'num'=>'GMP|string|int', 'base='=>'int'], + 'gmp_sub' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmp_testbit' => ['bool', 'num'=>'GMP|string|int', 'index'=>'int'], + 'gmp_xor' => ['GMP', 'num1'=>'GMP|string|int', 'num2'=>'GMP|string|int'], + 'gmstrftime' => ['string|false', 'format'=>'string', 'timestamp='=>'int'], + 'gnupg::adddecryptkey' => ['bool', 'fingerprint'=>'string', 'passphrase'=>'string'], + 'gnupg::addencryptkey' => ['bool', 'fingerprint'=>'string'], + 'gnupg::addsignkey' => ['bool', 'fingerprint'=>'string', 'passphrase='=>'string'], + 'gnupg::cleardecryptkeys' => ['bool'], + 'gnupg::clearencryptkeys' => ['bool'], + 'gnupg::clearsignkeys' => ['bool'], + 'gnupg::decrypt' => ['string|false', 'text'=>'string'], + 'gnupg::decryptverify' => ['array|false', 'text'=>'string', '&plaintext'=>'string'], + 'gnupg::encrypt' => ['string|false', 'plaintext'=>'string'], + 'gnupg::encryptsign' => ['string|false', 'plaintext'=>'string'], + 'gnupg::export' => ['string|false', 'fingerprint'=>'string'], + 'gnupg::geterror' => ['string|false'], + 'gnupg::getprotocol' => ['int'], + 'gnupg::import' => ['array|false', 'keydata'=>'string'], + 'gnupg::keyinfo' => ['array', 'pattern'=>'string'], + 'gnupg::setarmor' => ['bool', 'armor'=>'int'], + 'gnupg::seterrormode' => ['void', 'errormode'=>'int'], + 'gnupg::setsignmode' => ['bool', 'signmode'=>'int'], + 'gnupg::sign' => ['string|false', 'plaintext'=>'string'], + 'gnupg::verify' => ['array|false', 'signed_text'=>'string', 'signature'=>'string', '&plaintext='=>'string'], + 'gnupg_adddecryptkey' => ['bool', 'identifier'=>'resource', 'fingerprint'=>'string', 'passphrase'=>'string'], + 'gnupg_addencryptkey' => ['bool', 'identifier'=>'resource', 'fingerprint'=>'string'], + 'gnupg_addsignkey' => ['bool', 'identifier'=>'resource', 'fingerprint'=>'string', 'passphrase='=>'string'], + 'gnupg_cleardecryptkeys' => ['bool', 'identifier'=>'resource'], + 'gnupg_clearencryptkeys' => ['bool', 'identifier'=>'resource'], + 'gnupg_clearsignkeys' => ['bool', 'identifier'=>'resource'], + 'gnupg_decrypt' => ['string', 'identifier'=>'resource', 'text'=>'string'], + 'gnupg_decryptverify' => ['array', 'identifier'=>'resource', 'text'=>'string', 'plaintext'=>'string'], + 'gnupg_encrypt' => ['string', 'identifier'=>'resource', 'plaintext'=>'string'], + 'gnupg_encryptsign' => ['string', 'identifier'=>'resource', 'plaintext'=>'string'], + 'gnupg_export' => ['string', 'identifier'=>'resource', 'fingerprint'=>'string'], + 'gnupg_geterror' => ['string', 'identifier'=>'resource'], + 'gnupg_getprotocol' => ['int', 'identifier'=>'resource'], + 'gnupg_import' => ['array', 'identifier'=>'resource', 'keydata'=>'string'], + 'gnupg_init' => ['resource'], + 'gnupg_keyinfo' => ['array', 'identifier'=>'resource', 'pattern'=>'string'], + 'gnupg_setarmor' => ['bool', 'identifier'=>'resource', 'armor'=>'int'], + 'gnupg_seterrormode' => ['void', 'identifier'=>'resource', 'errormode'=>'int'], + 'gnupg_setsignmode' => ['bool', 'identifier'=>'resource', 'signmode'=>'int'], + 'gnupg_sign' => ['string', 'identifier'=>'resource', 'plaintext'=>'string'], + 'gnupg_verify' => ['array', 'identifier'=>'resource', 'signed_text'=>'string', 'signature'=>'string', 'plaintext='=>'string'], + 'gopher_parsedir' => ['array', 'dirent'=>'string'], + 'grapheme_extract' => ['string|false', 'haystack'=>'string', 'size'=>'int', 'type='=>'int', 'offset='=>'int', '&w_next='=>'int'], + 'grapheme_stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + 'grapheme_stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'beforeNeedle='=>'bool'], + 'grapheme_strlen' => ['0|positive-int|false|null', 'string'=>'string'], + 'grapheme_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + 'grapheme_strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + 'grapheme_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int'], + 'grapheme_strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'beforeNeedle='=>'bool'], + 'grapheme_substr' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'?int'], + 'gregoriantojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], + 'gridObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'gupnp_context_get_host_ip' => ['string', 'context'=>'resource'], + 'gupnp_context_get_port' => ['int', 'context'=>'resource'], + 'gupnp_context_get_subscription_timeout' => ['int', 'context'=>'resource'], + 'gupnp_context_host_path' => ['bool', 'context'=>'resource', 'local_path'=>'string', 'server_path'=>'string'], + 'gupnp_context_new' => ['resource', 'host_ip='=>'string', 'port='=>'int'], + 'gupnp_context_set_subscription_timeout' => ['void', 'context'=>'resource', 'timeout'=>'int'], + 'gupnp_context_timeout_add' => ['bool', 'context'=>'resource', 'timeout'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], + 'gupnp_context_unhost_path' => ['bool', 'context'=>'resource', 'server_path'=>'string'], + 'gupnp_control_point_browse_start' => ['bool', 'cpoint'=>'resource'], + 'gupnp_control_point_browse_stop' => ['bool', 'cpoint'=>'resource'], + 'gupnp_control_point_callback_set' => ['bool', 'cpoint'=>'resource', 'signal'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], + 'gupnp_control_point_new' => ['resource', 'context'=>'resource', 'target'=>'string'], + 'gupnp_device_action_callback_set' => ['bool', 'root_device'=>'resource', 'signal'=>'int', 'action_name'=>'string', 'callback'=>'mixed', 'arg='=>'mixed'], + 'gupnp_device_info_get' => ['array', 'root_device'=>'resource'], + 'gupnp_device_info_get_service' => ['resource', 'root_device'=>'resource', 'type'=>'string'], + 'gupnp_root_device_get_available' => ['bool', 'root_device'=>'resource'], + 'gupnp_root_device_get_relative_location' => ['string', 'root_device'=>'resource'], + 'gupnp_root_device_new' => ['resource', 'context'=>'resource', 'location'=>'string', 'description_dir'=>'string'], + 'gupnp_root_device_set_available' => ['bool', 'root_device'=>'resource', 'available'=>'bool'], + 'gupnp_root_device_start' => ['bool', 'root_device'=>'resource'], + 'gupnp_root_device_stop' => ['bool', 'root_device'=>'resource'], + 'gupnp_service_action_get' => ['mixed', 'action'=>'resource', 'name'=>'string', 'type'=>'int'], + 'gupnp_service_action_return' => ['bool', 'action'=>'resource'], + 'gupnp_service_action_return_error' => ['bool', 'action'=>'resource', 'error_code'=>'int', 'error_description='=>'string'], + 'gupnp_service_action_set' => ['bool', 'action'=>'resource', 'name'=>'string', 'type'=>'int', 'value'=>'mixed'], + 'gupnp_service_freeze_notify' => ['bool', 'service'=>'resource'], + 'gupnp_service_info_get' => ['array', 'proxy'=>'resource'], + 'gupnp_service_info_get_introspection' => ['mixed', 'proxy'=>'resource', 'callback='=>'mixed', 'arg='=>'mixed'], + 'gupnp_service_introspection_get_state_variable' => ['array', 'introspection'=>'resource', 'variable_name'=>'string'], + 'gupnp_service_notify' => ['bool', 'service'=>'resource', 'name'=>'string', 'type'=>'int', 'value'=>'mixed'], + 'gupnp_service_proxy_action_get' => ['mixed', 'proxy'=>'resource', 'action'=>'string', 'name'=>'string', 'type'=>'int'], + 'gupnp_service_proxy_action_set' => ['bool', 'proxy'=>'resource', 'action'=>'string', 'name'=>'string', 'value'=>'mixed', 'type'=>'int'], + 'gupnp_service_proxy_add_notify' => ['bool', 'proxy'=>'resource', 'value'=>'string', 'type'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], + 'gupnp_service_proxy_callback_set' => ['bool', 'proxy'=>'resource', 'signal'=>'int', 'callback'=>'mixed', 'arg='=>'mixed'], + 'gupnp_service_proxy_get_subscribed' => ['bool', 'proxy'=>'resource'], + 'gupnp_service_proxy_remove_notify' => ['bool', 'proxy'=>'resource', 'value'=>'string'], + 'gupnp_service_proxy_send_action' => ['array', 'proxy'=>'resource', 'action'=>'string', 'in_params'=>'array', 'out_params'=>'array'], + 'gupnp_service_proxy_set_subscribed' => ['bool', 'proxy'=>'resource', 'subscribed'=>'bool'], + 'gupnp_service_thaw_notify' => ['bool', 'service'=>'resource'], + 'gzclose' => ['bool', 'stream'=>'resource'], + 'gzcompress' => ['string|false', 'data'=>'string', 'level='=>'int', 'encoding='=>'int'], + 'gzdecode' => ['string|false', 'data'=>'string', 'max_length='=>'int'], + 'gzdeflate' => ['string|false', 'data'=>'string', 'level='=>'int', 'encoding='=>'int'], + 'gzencode' => ['string|false', 'data'=>'string', 'level='=>'int', 'encoding='=>'int'], + 'gzeof' => ['bool', 'stream'=>'resource'], + 'gzfile' => ['list', 'filename'=>'string', 'use_include_path='=>'int'], + 'gzgetc' => ['string|false', 'stream'=>'resource'], + 'gzgets' => ['string|false', 'stream'=>'resource', 'length='=>'int'], + 'gzgetss' => ['string|false', 'zp'=>'resource', 'length'=>'int', 'allowable_tags='=>'string'], + 'gzinflate' => ['string|false', 'data'=>'string', 'max_length='=>'int'], + 'gzopen' => ['resource|false', 'filename'=>'string', 'mode'=>'string', 'use_include_path='=>'int'], + 'gzpassthru' => ['int', 'stream'=>'resource'], + 'gzputs' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'gzread' => ['string|0', 'stream'=>'resource', 'length'=>'int'], + 'gzrewind' => ['bool', 'stream'=>'resource'], + 'gzseek' => ['int', 'stream'=>'resource', 'offset'=>'int', 'whence='=>'int'], + 'gztell' => ['int|false', 'stream'=>'resource'], + 'gzuncompress' => ['string|false', 'data'=>'string', 'max_length='=>'int'], + 'gzwrite' => ['int', 'stream'=>'resource', 'data'=>'string', 'length='=>'int'], + 'hash' => ['string|false', 'algo'=>'string', 'data'=>'string', 'binary='=>'bool'], + 'hashTableObj::clear' => ['void'], + 'hashTableObj::get' => ['string', 'key'=>'string'], + 'hashTableObj::nextkey' => ['string', 'previousKey'=>'string'], + 'hashTableObj::remove' => ['int', 'key'=>'string'], + 'hashTableObj::set' => ['int', 'key'=>'string', 'value'=>'string'], + 'hash_algos' => ['list'], + 'hash_copy' => ['resource', 'context'=>'resource'], + 'hash_equals' => ['bool', 'known_string'=>'string', 'user_string'=>'string'], + 'hash_file' => ['non-empty-string|false', 'algo'=>'string', 'filename'=>'string', 'binary='=>'bool'], + 'hash_final' => ['non-empty-string', 'context'=>'resource', 'raw_output='=>'bool'], + 'hash_hmac' => ['non-empty-string|false', 'algo'=>'string', 'data'=>'string', 'key'=>'string', 'binary='=>'bool'], + 'hash_hmac_file' => ['non-empty-string|false', 'algo'=>'string', 'data'=>'string', 'key'=>'string', 'binary='=>'bool'], + 'hash_init' => ['resource', 'algo'=>'string', 'options='=>'int', 'key='=>'string'], + 'hash_pbkdf2' => ['non-empty-string', 'algo'=>'string', 'password'=>'string', 'salt'=>'string', 'iterations'=>'int', 'length='=>'int', 'binary='=>'bool'], + 'hash_update' => ['bool', 'context'=>'resource', 'data'=>'string'], + 'hash_update_file' => ['bool', 'hcontext'=>'resource', 'filename'=>'string', 'scontext='=>'resource'], + 'hash_update_stream' => ['int', 'context'=>'resource', 'handle'=>'resource', 'length='=>'int'], + 'header' => ['void', 'header'=>'string', 'replace='=>'bool', 'response_code='=>'int'], + 'header_register_callback' => ['bool', 'callback'=>'callable():void'], + 'header_remove' => ['void', 'name='=>'string'], + 'headers_list' => ['list'], + 'headers_sent' => ['bool', '&w_filename='=>'string', '&w_line='=>'int'], + 'hebrev' => ['string', 'string'=>'string', 'max_chars_per_line='=>'int'], + 'hebrevc' => ['string', 'string'=>'string', 'max_chars_per_line='=>'int'], + 'hex2bin' => ['string|false', 'string'=>'string'], + 'hexdec' => ['int|float', 'hex_string'=>'string'], + 'highlight_file' => ['string|bool', 'filename'=>'string', 'return='=>'bool'], + 'highlight_string' => ['string|bool', 'string'=>'string', 'return='=>'bool'], + 'html_entity_decode' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'string'], + 'htmlentities' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'string', 'double_encode='=>'bool'], + 'htmlspecialchars' => ['string', 'string'=>'string', 'flags='=>'int', 'encoding='=>'string|null', 'double_encode='=>'bool'], + 'htmlspecialchars_decode' => ['string', 'string'=>'string', 'flags='=>'int'], + 'http\Client::__construct' => ['void', 'driver='=>'string', 'persistent_handle_id='=>'string'], + 'http\Client::addCookies' => ['http\Client', 'cookies='=>'?array'], + 'http\Client::addSslOptions' => ['http\Client', 'ssl_options='=>'?array'], + 'http\Client::attach' => ['void', 'observer'=>'SplObserver'], + 'http\Client::configure' => ['http\Client', 'settings'=>'array'], + 'http\Client::count' => ['int'], + 'http\Client::dequeue' => ['http\Client', 'request'=>'http\Client\Request'], + 'http\Client::detach' => ['void', 'observer'=>'SplObserver'], + 'http\Client::enableEvents' => ['http\Client', 'enable='=>'mixed'], + 'http\Client::enablePipelining' => ['http\Client', 'enable='=>'mixed'], + 'http\Client::enqueue' => ['http\Client', 'request'=>'http\Client\Request', 'callable='=>'mixed'], + 'http\Client::getAvailableConfiguration' => ['array'], + 'http\Client::getAvailableDrivers' => ['array'], + 'http\Client::getAvailableOptions' => ['array'], + 'http\Client::getCookies' => ['array'], + 'http\Client::getHistory' => ['http\Message'], + 'http\Client::getObservers' => ['SplObjectStorage'], + 'http\Client::getOptions' => ['array'], + 'http\Client::getProgressInfo' => ['null|object', 'request'=>'http\Client\Request'], + 'http\Client::getResponse' => ['http\Client\Response|null', 'request='=>'?http\Client\Request'], + 'http\Client::getSslOptions' => ['array'], + 'http\Client::getTransferInfo' => ['object', 'request'=>'http\Client\Request'], + 'http\Client::notify' => ['void', 'request='=>'?http\Client\Request'], + 'http\Client::once' => ['bool'], + 'http\Client::requeue' => ['http\Client', 'request'=>'http\Client\Request', 'callable='=>'mixed'], + 'http\Client::reset' => ['http\Client'], + 'http\Client::send' => ['http\Client'], + 'http\Client::setCookies' => ['http\Client', 'cookies='=>'?array'], + 'http\Client::setDebug' => ['http\Client', 'callback'=>'callable'], + 'http\Client::setOptions' => ['http\Client', 'options='=>'?array'], + 'http\Client::setSslOptions' => ['http\Client', 'ssl_option='=>'?array'], + 'http\Client::wait' => ['bool', 'timeout='=>'mixed'], + 'http\Client\Curl\User::init' => ['', 'run'=>'callable'], + 'http\Client\Curl\User::once' => [''], + 'http\Client\Curl\User::send' => [''], + 'http\Client\Curl\User::socket' => ['', 'socket'=>'resource', 'action'=>'int'], + 'http\Client\Curl\User::timer' => ['', 'timeout_ms'=>'int'], + 'http\Client\Curl\User::wait' => ['', 'timeout_ms='=>'mixed'], + 'http\Client\Request::__construct' => ['void', 'method='=>'mixed', 'url='=>'mixed', 'headers='=>'?array', 'body='=>'?http\Message\Body'], + 'http\Client\Request::__toString' => ['string'], + 'http\Client\Request::addBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Client\Request::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], + 'http\Client\Request::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], + 'http\Client\Request::addQuery' => ['http\Client\Request', 'query_data'=>'mixed'], + 'http\Client\Request::addSslOptions' => ['http\Client\Request', 'ssl_options='=>'?array'], + 'http\Client\Request::count' => ['int'], + 'http\Client\Request::current' => ['mixed'], + 'http\Client\Request::detach' => ['http\Message'], + 'http\Client\Request::getBody' => ['http\Message\Body'], + 'http\Client\Request::getContentType' => ['null|string'], + 'http\Client\Request::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], + 'http\Client\Request::getHeaders' => ['array'], + 'http\Client\Request::getHttpVersion' => ['string'], + 'http\Client\Request::getInfo' => ['null|string'], + 'http\Client\Request::getOptions' => ['array'], + 'http\Client\Request::getParentMessage' => ['http\Message'], + 'http\Client\Request::getQuery' => ['null|string'], + 'http\Client\Request::getRequestMethod' => ['false|string'], + 'http\Client\Request::getRequestUrl' => ['false|string'], + 'http\Client\Request::getResponseCode' => ['false|int'], + 'http\Client\Request::getResponseStatus' => ['false|string'], + 'http\Client\Request::getSslOptions' => ['array'], + 'http\Client\Request::getType' => ['int'], + 'http\Client\Request::isMultipart' => ['bool', '&boundary='=>'mixed'], + 'http\Client\Request::key' => ['int|string'], + 'http\Client\Request::next' => ['void'], + 'http\Client\Request::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], + 'http\Client\Request::reverse' => ['http\Message'], + 'http\Client\Request::rewind' => ['void'], + 'http\Client\Request::serialize' => ['string'], + 'http\Client\Request::setBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Client\Request::setContentType' => ['http\Client\Request', 'content_type'=>'string'], + 'http\Client\Request::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], + 'http\Client\Request::setHeaders' => ['http\Message', 'headers'=>'array'], + 'http\Client\Request::setHttpVersion' => ['http\Message', 'http_version'=>'string'], + 'http\Client\Request::setInfo' => ['http\Message', 'http_info'=>'string'], + 'http\Client\Request::setOptions' => ['http\Client\Request', 'options='=>'?array'], + 'http\Client\Request::setQuery' => ['http\Client\Request', 'query_data='=>'mixed'], + 'http\Client\Request::setRequestMethod' => ['http\Message', 'request_method'=>'string'], + 'http\Client\Request::setRequestUrl' => ['http\Message', 'url'=>'string'], + 'http\Client\Request::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], + 'http\Client\Request::setResponseStatus' => ['http\Message', 'response_status'=>'string'], + 'http\Client\Request::setSslOptions' => ['http\Client\Request', 'ssl_options='=>'?array'], + 'http\Client\Request::setType' => ['http\Message', 'type'=>'int'], + 'http\Client\Request::splitMultipartBody' => ['http\Message'], + 'http\Client\Request::toCallback' => ['http\Message', 'callback'=>'callable'], + 'http\Client\Request::toStream' => ['http\Message', 'stream'=>'resource'], + 'http\Client\Request::toString' => ['string', 'include_parent='=>'mixed'], + 'http\Client\Request::unserialize' => ['void', 'serialized'=>'string'], + 'http\Client\Request::valid' => ['bool'], + 'http\Client\Response::__construct' => ['Iterator'], + 'http\Client\Response::__toString' => ['string'], + 'http\Client\Response::addBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Client\Response::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], + 'http\Client\Response::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], + 'http\Client\Response::count' => ['int'], + 'http\Client\Response::current' => ['mixed'], + 'http\Client\Response::detach' => ['http\Message'], + 'http\Client\Response::getBody' => ['http\Message\Body'], + 'http\Client\Response::getCookies' => ['array', 'flags='=>'mixed', 'allowed_extras='=>'mixed'], + 'http\Client\Response::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], + 'http\Client\Response::getHeaders' => ['array'], + 'http\Client\Response::getHttpVersion' => ['string'], + 'http\Client\Response::getInfo' => ['null|string'], + 'http\Client\Response::getParentMessage' => ['http\Message'], + 'http\Client\Response::getRequestMethod' => ['false|string'], + 'http\Client\Response::getRequestUrl' => ['false|string'], + 'http\Client\Response::getResponseCode' => ['false|int'], + 'http\Client\Response::getResponseStatus' => ['false|string'], + 'http\Client\Response::getTransferInfo' => ['mixed|object', 'element='=>'mixed'], + 'http\Client\Response::getType' => ['int'], + 'http\Client\Response::isMultipart' => ['bool', '&boundary='=>'mixed'], + 'http\Client\Response::key' => ['int|string'], + 'http\Client\Response::next' => ['void'], + 'http\Client\Response::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], + 'http\Client\Response::reverse' => ['http\Message'], + 'http\Client\Response::rewind' => ['void'], + 'http\Client\Response::serialize' => ['string'], + 'http\Client\Response::setBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Client\Response::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], + 'http\Client\Response::setHeaders' => ['http\Message', 'headers'=>'array'], + 'http\Client\Response::setHttpVersion' => ['http\Message', 'http_version'=>'string'], + 'http\Client\Response::setInfo' => ['http\Message', 'http_info'=>'string'], + 'http\Client\Response::setRequestMethod' => ['http\Message', 'request_method'=>'string'], + 'http\Client\Response::setRequestUrl' => ['http\Message', 'url'=>'string'], + 'http\Client\Response::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], + 'http\Client\Response::setResponseStatus' => ['http\Message', 'response_status'=>'string'], + 'http\Client\Response::setType' => ['http\Message', 'type'=>'int'], + 'http\Client\Response::splitMultipartBody' => ['http\Message'], + 'http\Client\Response::toCallback' => ['http\Message', 'callback'=>'callable'], + 'http\Client\Response::toStream' => ['http\Message', 'stream'=>'resource'], + 'http\Client\Response::toString' => ['string', 'include_parent='=>'mixed'], + 'http\Client\Response::unserialize' => ['void', 'serialized'=>'string'], + 'http\Client\Response::valid' => ['bool'], + 'http\Cookie::__construct' => ['void', 'cookie_string='=>'mixed', 'parser_flags='=>'int', 'allowed_extras='=>'array'], + 'http\Cookie::__toString' => ['string'], + 'http\Cookie::addCookie' => ['http\Cookie', 'cookie_name'=>'string', 'cookie_value'=>'string'], + 'http\Cookie::addCookies' => ['http\Cookie', 'cookies'=>'array'], + 'http\Cookie::addExtra' => ['http\Cookie', 'extra_name'=>'string', 'extra_value'=>'string'], + 'http\Cookie::addExtras' => ['http\Cookie', 'extras'=>'array'], + 'http\Cookie::getCookie' => ['null|string', 'name'=>'string'], + 'http\Cookie::getCookies' => ['array'], + 'http\Cookie::getDomain' => ['string'], + 'http\Cookie::getExpires' => ['int'], + 'http\Cookie::getExtra' => ['string', 'name'=>'string'], + 'http\Cookie::getExtras' => ['array'], + 'http\Cookie::getFlags' => ['int'], + 'http\Cookie::getMaxAge' => ['int'], + 'http\Cookie::getPath' => ['string'], + 'http\Cookie::setCookie' => ['http\Cookie', 'cookie_name'=>'string', 'cookie_value='=>'mixed'], + 'http\Cookie::setCookies' => ['http\Cookie', 'cookies='=>'mixed'], + 'http\Cookie::setDomain' => ['http\Cookie', 'value='=>'mixed'], + 'http\Cookie::setExpires' => ['http\Cookie', 'value='=>'mixed'], + 'http\Cookie::setExtra' => ['http\Cookie', 'extra_name'=>'string', 'extra_value='=>'mixed'], + 'http\Cookie::setExtras' => ['http\Cookie', 'extras='=>'mixed'], + 'http\Cookie::setFlags' => ['http\Cookie', 'value='=>'mixed'], + 'http\Cookie::setMaxAge' => ['http\Cookie', 'value='=>'mixed'], + 'http\Cookie::setPath' => ['http\Cookie', 'value='=>'mixed'], + 'http\Cookie::toArray' => ['array'], + 'http\Cookie::toString' => ['string'], + 'http\Encoding\Stream::__construct' => ['void', 'flags='=>'mixed'], + 'http\Encoding\Stream::done' => ['bool'], + 'http\Encoding\Stream::finish' => ['string'], + 'http\Encoding\Stream::flush' => ['string'], + 'http\Encoding\Stream::update' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Debrotli::__construct' => ['void', 'flags='=>'int'], + 'http\Encoding\Stream\Debrotli::decode' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Debrotli::done' => ['bool'], + 'http\Encoding\Stream\Debrotli::finish' => ['string'], + 'http\Encoding\Stream\Debrotli::flush' => ['string'], + 'http\Encoding\Stream\Debrotli::update' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Dechunk::__construct' => ['void', 'flags='=>'mixed'], + 'http\Encoding\Stream\Dechunk::decode' => ['false|string', 'data'=>'string', '&decoded_len='=>'mixed'], + 'http\Encoding\Stream\Dechunk::done' => ['bool'], + 'http\Encoding\Stream\Dechunk::finish' => ['string'], + 'http\Encoding\Stream\Dechunk::flush' => ['string'], + 'http\Encoding\Stream\Dechunk::update' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Deflate::__construct' => ['void', 'flags='=>'mixed'], + 'http\Encoding\Stream\Deflate::done' => ['bool'], + 'http\Encoding\Stream\Deflate::encode' => ['string', 'data'=>'string', 'flags='=>'mixed'], + 'http\Encoding\Stream\Deflate::finish' => ['string'], + 'http\Encoding\Stream\Deflate::flush' => ['string'], + 'http\Encoding\Stream\Deflate::update' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Enbrotli::__construct' => ['void', 'flags='=>'int'], + 'http\Encoding\Stream\Enbrotli::done' => ['bool'], + 'http\Encoding\Stream\Enbrotli::encode' => ['string', 'data'=>'string', 'flags='=>'int'], + 'http\Encoding\Stream\Enbrotli::finish' => ['string'], + 'http\Encoding\Stream\Enbrotli::flush' => ['string'], + 'http\Encoding\Stream\Enbrotli::update' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Inflate::__construct' => ['void', 'flags='=>'mixed'], + 'http\Encoding\Stream\Inflate::decode' => ['string', 'data'=>'string'], + 'http\Encoding\Stream\Inflate::done' => ['bool'], + 'http\Encoding\Stream\Inflate::finish' => ['string'], + 'http\Encoding\Stream\Inflate::flush' => ['string'], + 'http\Encoding\Stream\Inflate::update' => ['string', 'data'=>'string'], + 'http\Env::getRequestBody' => ['http\Message\Body', 'body_class_name='=>'mixed'], + 'http\Env::getRequestHeader' => ['array|null|string', 'header_name='=>'mixed'], + 'http\Env::getResponseCode' => ['int'], + 'http\Env::getResponseHeader' => ['array|null|string', 'header_name='=>'mixed'], + 'http\Env::getResponseStatusForAllCodes' => ['array'], + 'http\Env::getResponseStatusForCode' => ['string', 'code'=>'int'], + 'http\Env::negotiate' => ['null|string', 'params'=>'string', 'supported'=>'array', 'primary_type_separator='=>'mixed', '&result_array='=>'mixed'], + 'http\Env::negotiateCharset' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], + 'http\Env::negotiateContentType' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], + 'http\Env::negotiateEncoding' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], + 'http\Env::negotiateLanguage' => ['null|string', 'supported'=>'array', '&result_array='=>'mixed'], + 'http\Env::setResponseCode' => ['bool', 'code'=>'int'], + 'http\Env::setResponseHeader' => ['bool', 'header_name'=>'string', 'header_value='=>'mixed', 'response_code='=>'mixed', 'replace_header='=>'mixed'], + 'http\Env\Request::__construct' => ['void'], + 'http\Env\Request::__toString' => ['string'], + 'http\Env\Request::addBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Env\Request::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], + 'http\Env\Request::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], + 'http\Env\Request::count' => ['int'], + 'http\Env\Request::current' => ['mixed'], + 'http\Env\Request::detach' => ['http\Message'], + 'http\Env\Request::getBody' => ['http\Message\Body'], + 'http\Env\Request::getCookie' => ['mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], + 'http\Env\Request::getFiles' => ['array'], + 'http\Env\Request::getForm' => ['mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], + 'http\Env\Request::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], + 'http\Env\Request::getHeaders' => ['array'], + 'http\Env\Request::getHttpVersion' => ['string'], + 'http\Env\Request::getInfo' => ['null|string'], + 'http\Env\Request::getParentMessage' => ['http\Message'], + 'http\Env\Request::getQuery' => ['mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool'], + 'http\Env\Request::getRequestMethod' => ['false|string'], + 'http\Env\Request::getRequestUrl' => ['false|string'], + 'http\Env\Request::getResponseCode' => ['false|int'], + 'http\Env\Request::getResponseStatus' => ['false|string'], + 'http\Env\Request::getType' => ['int'], + 'http\Env\Request::isMultipart' => ['bool', '&boundary='=>'mixed'], + 'http\Env\Request::key' => ['int|string'], + 'http\Env\Request::next' => ['void'], + 'http\Env\Request::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], + 'http\Env\Request::reverse' => ['http\Message'], + 'http\Env\Request::rewind' => ['void'], + 'http\Env\Request::serialize' => ['string'], + 'http\Env\Request::setBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Env\Request::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], + 'http\Env\Request::setHeaders' => ['http\Message', 'headers'=>'array'], + 'http\Env\Request::setHttpVersion' => ['http\Message', 'http_version'=>'string'], + 'http\Env\Request::setInfo' => ['http\Message', 'http_info'=>'string'], + 'http\Env\Request::setRequestMethod' => ['http\Message', 'request_method'=>'string'], + 'http\Env\Request::setRequestUrl' => ['http\Message', 'url'=>'string'], + 'http\Env\Request::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], + 'http\Env\Request::setResponseStatus' => ['http\Message', 'response_status'=>'string'], + 'http\Env\Request::setType' => ['http\Message', 'type'=>'int'], + 'http\Env\Request::splitMultipartBody' => ['http\Message'], + 'http\Env\Request::toCallback' => ['http\Message', 'callback'=>'callable'], + 'http\Env\Request::toStream' => ['http\Message', 'stream'=>'resource'], + 'http\Env\Request::toString' => ['string', 'include_parent='=>'mixed'], + 'http\Env\Request::unserialize' => ['void', 'serialized'=>'string'], + 'http\Env\Request::valid' => ['bool'], + 'http\Env\Response::__construct' => ['void'], + 'http\Env\Response::__invoke' => ['bool', 'data'=>'string', 'ob_flags='=>'int'], + 'http\Env\Response::__toString' => ['string'], + 'http\Env\Response::addBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Env\Response::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], + 'http\Env\Response::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], + 'http\Env\Response::count' => ['int'], + 'http\Env\Response::current' => ['mixed'], + 'http\Env\Response::detach' => ['http\Message'], + 'http\Env\Response::getBody' => ['http\Message\Body'], + 'http\Env\Response::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], + 'http\Env\Response::getHeaders' => ['array'], + 'http\Env\Response::getHttpVersion' => ['string'], + 'http\Env\Response::getInfo' => ['?string'], + 'http\Env\Response::getParentMessage' => ['http\Message'], + 'http\Env\Response::getRequestMethod' => ['false|string'], + 'http\Env\Response::getRequestUrl' => ['false|string'], + 'http\Env\Response::getResponseCode' => ['false|int'], + 'http\Env\Response::getResponseStatus' => ['false|string'], + 'http\Env\Response::getType' => ['int'], + 'http\Env\Response::isCachedByETag' => ['int', 'header_name='=>'string'], + 'http\Env\Response::isCachedByLastModified' => ['int', 'header_name='=>'string'], + 'http\Env\Response::isMultipart' => ['bool', '&boundary='=>'mixed'], + 'http\Env\Response::key' => ['int|string'], + 'http\Env\Response::next' => ['void'], + 'http\Env\Response::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], + 'http\Env\Response::reverse' => ['http\Message'], + 'http\Env\Response::rewind' => ['void'], + 'http\Env\Response::send' => ['bool', 'stream='=>'resource'], + 'http\Env\Response::serialize' => ['string'], + 'http\Env\Response::setBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Env\Response::setCacheControl' => ['http\Env\Response', 'cache_control'=>'string'], + 'http\Env\Response::setContentDisposition' => ['http\Env\Response', 'disposition_params'=>'array'], + 'http\Env\Response::setContentEncoding' => ['http\Env\Response', 'content_encoding'=>'int'], + 'http\Env\Response::setContentType' => ['http\Env\Response', 'content_type'=>'string'], + 'http\Env\Response::setCookie' => ['http\Env\Response', 'cookie'=>'mixed'], + 'http\Env\Response::setEnvRequest' => ['http\Env\Response', 'env_request'=>'http\Message'], + 'http\Env\Response::setEtag' => ['http\Env\Response', 'etag'=>'string'], + 'http\Env\Response::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], + 'http\Env\Response::setHeaders' => ['http\Message', 'headers'=>'array'], + 'http\Env\Response::setHttpVersion' => ['http\Message', 'http_version'=>'string'], + 'http\Env\Response::setInfo' => ['http\Message', 'http_info'=>'string'], + 'http\Env\Response::setLastModified' => ['http\Env\Response', 'last_modified'=>'int'], + 'http\Env\Response::setRequestMethod' => ['http\Message', 'request_method'=>'string'], + 'http\Env\Response::setRequestUrl' => ['http\Message', 'url'=>'string'], + 'http\Env\Response::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], + 'http\Env\Response::setResponseStatus' => ['http\Message', 'response_status'=>'string'], + 'http\Env\Response::setThrottleRate' => ['http\Env\Response', 'chunk_size'=>'int', 'delay='=>'float|int'], + 'http\Env\Response::setType' => ['http\Message', 'type'=>'int'], + 'http\Env\Response::splitMultipartBody' => ['http\Message'], + 'http\Env\Response::toCallback' => ['http\Message', 'callback'=>'callable'], + 'http\Env\Response::toStream' => ['http\Message', 'stream'=>'resource'], + 'http\Env\Response::toString' => ['string', 'include_parent='=>'mixed'], + 'http\Env\Response::unserialize' => ['void', 'serialized'=>'string'], + 'http\Env\Response::valid' => ['bool'], + 'http\Header::__construct' => ['void', 'name='=>'mixed', 'value='=>'mixed'], + 'http\Header::__toString' => ['string'], + 'http\Header::getParams' => ['http\Params', 'param_sep='=>'mixed', 'arg_sep='=>'mixed', 'val_sep='=>'mixed', 'flags='=>'mixed'], + 'http\Header::match' => ['bool', 'value'=>'string', 'flags='=>'mixed'], + 'http\Header::negotiate' => ['null|string', 'supported'=>'array', '&result='=>'mixed'], + 'http\Header::parse' => ['array|false', 'string'=>'string', 'header_class='=>'mixed'], + 'http\Header::serialize' => ['string'], + 'http\Header::toString' => ['string'], + 'http\Header::unserialize' => ['void', 'serialized'=>'string'], + 'http\Header\Parser::getState' => ['int'], + 'http\Header\Parser::parse' => ['int', 'data'=>'string', 'flags'=>'int', '&headers'=>'array'], + 'http\Header\Parser::stream' => ['int', 'stream'=>'resource', 'flags'=>'int', '&headers'=>'array'], + 'http\Message::__construct' => ['void', 'message='=>'mixed', 'greedy='=>'bool'], + 'http\Message::__toString' => ['string'], + 'http\Message::addBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Message::addHeader' => ['http\Message', 'header'=>'string', 'value'=>'mixed'], + 'http\Message::addHeaders' => ['http\Message', 'headers'=>'array', 'append='=>'mixed'], + 'http\Message::count' => ['int'], + 'http\Message::current' => ['mixed'], + 'http\Message::detach' => ['http\Message'], + 'http\Message::getBody' => ['http\Message\Body'], + 'http\Message::getHeader' => ['http\Header|mixed', 'header'=>'string', 'into_class='=>'mixed'], + 'http\Message::getHeaders' => ['array'], + 'http\Message::getHttpVersion' => ['string'], + 'http\Message::getInfo' => ['null|string'], + 'http\Message::getParentMessage' => ['http\Message'], + 'http\Message::getRequestMethod' => ['false|string'], + 'http\Message::getRequestUrl' => ['false|string'], + 'http\Message::getResponseCode' => ['false|int'], + 'http\Message::getResponseStatus' => ['false|string'], + 'http\Message::getType' => ['int'], + 'http\Message::isMultipart' => ['bool', '&boundary='=>'mixed'], + 'http\Message::key' => ['int|string'], + 'http\Message::next' => ['void'], + 'http\Message::prepend' => ['http\Message', 'message'=>'http\Message', 'top='=>'mixed'], + 'http\Message::reverse' => ['http\Message'], + 'http\Message::rewind' => ['void'], + 'http\Message::serialize' => ['string'], + 'http\Message::setBody' => ['http\Message', 'body'=>'http\Message\Body'], + 'http\Message::setHeader' => ['http\Message', 'header'=>'string', 'value='=>'mixed'], + 'http\Message::setHeaders' => ['http\Message', 'headers'=>'array'], + 'http\Message::setHttpVersion' => ['http\Message', 'http_version'=>'string'], + 'http\Message::setInfo' => ['http\Message', 'http_info'=>'string'], + 'http\Message::setRequestMethod' => ['http\Message', 'request_method'=>'string'], + 'http\Message::setRequestUrl' => ['http\Message', 'url'=>'string'], + 'http\Message::setResponseCode' => ['http\Message', 'response_code'=>'int', 'strict='=>'mixed'], + 'http\Message::setResponseStatus' => ['http\Message', 'response_status'=>'string'], + 'http\Message::setType' => ['http\Message', 'type'=>'int'], + 'http\Message::splitMultipartBody' => ['http\Message'], + 'http\Message::toCallback' => ['http\Message', 'callback'=>'callable'], + 'http\Message::toStream' => ['http\Message', 'stream'=>'resource'], + 'http\Message::toString' => ['string', 'include_parent='=>'mixed'], + 'http\Message::unserialize' => ['void', 'serialized'=>'string'], + 'http\Message::valid' => ['bool'], + 'http\Message\Body::__construct' => ['void', 'stream='=>'resource'], + 'http\Message\Body::__toString' => ['string'], + 'http\Message\Body::addForm' => ['http\Message\Body', 'fields='=>'?array', 'files='=>'?array'], + 'http\Message\Body::addPart' => ['http\Message\Body', 'message'=>'http\Message'], + 'http\Message\Body::append' => ['http\Message\Body', 'string'=>'string'], + 'http\Message\Body::etag' => ['false|string'], + 'http\Message\Body::getBoundary' => ['null|string'], + 'http\Message\Body::getResource' => ['resource'], + 'http\Message\Body::serialize' => ['string'], + 'http\Message\Body::stat' => ['int|object', 'field='=>'mixed'], + 'http\Message\Body::toCallback' => ['http\Message\Body', 'callback'=>'callable', 'offset='=>'mixed', 'maxlen='=>'mixed'], + 'http\Message\Body::toStream' => ['http\Message\Body', 'stream'=>'resource', 'offset='=>'mixed', 'maxlen='=>'mixed'], + 'http\Message\Body::toString' => ['string'], + 'http\Message\Body::unserialize' => ['void', 'serialized'=>'string'], + 'http\Message\Parser::getState' => ['int'], + 'http\Message\Parser::parse' => ['int', 'data'=>'string', 'flags'=>'int', '&message'=>'http\Message'], + 'http\Message\Parser::stream' => ['int', 'stream'=>'resource', 'flags'=>'int', '&message'=>'http\Message'], + 'http\Params::__construct' => ['void', 'params='=>'mixed', 'param_sep='=>'mixed', 'arg_sep='=>'mixed', 'val_sep='=>'mixed', 'flags='=>'mixed'], + 'http\Params::__toString' => ['string'], + 'http\Params::offsetExists' => ['bool', 'name'=>'mixed'], + 'http\Params::offsetGet' => ['mixed', 'name'=>'mixed'], + 'http\Params::offsetSet' => ['void', 'name'=>'mixed', 'value'=>'mixed'], + 'http\Params::offsetUnset' => ['void', 'name'=>'mixed'], + 'http\Params::toArray' => ['array'], + 'http\Params::toString' => ['string'], + 'http\QueryString::__construct' => ['void', 'querystring'=>'string'], + 'http\QueryString::__toString' => ['string'], + 'http\QueryString::get' => ['http\QueryString|string|mixed', 'name='=>'string', 'type='=>'mixed', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::getArray' => ['array|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::getBool' => ['bool|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::getFloat' => ['float|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::getGlobalInstance' => ['http\QueryString'], + 'http\QueryString::getInt' => ['int|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::getIterator' => ['IteratorAggregate'], + 'http\QueryString::getObject' => ['object|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::getString' => ['string|mixed', 'name'=>'string', 'defval='=>'mixed', 'delete='=>'bool|false'], + 'http\QueryString::mod' => ['http\QueryString', 'params='=>'mixed'], + 'http\QueryString::offsetExists' => ['bool', 'offset'=>'mixed'], + 'http\QueryString::offsetGet' => ['mixed|null', 'offset'=>'mixed'], + 'http\QueryString::offsetSet' => ['void', 'offset'=>'mixed', 'value'=>'mixed'], + 'http\QueryString::offsetUnset' => ['void', 'offset'=>'mixed'], + 'http\QueryString::serialize' => ['string'], + 'http\QueryString::set' => ['http\QueryString', 'params'=>'mixed'], + 'http\QueryString::toArray' => ['array'], + 'http\QueryString::toString' => ['string'], + 'http\QueryString::unserialize' => ['void', 'serialized'=>'string'], + 'http\QueryString::xlate' => ['http\QueryString'], + 'http\Url::__construct' => ['void', 'old_url='=>'mixed', 'new_url='=>'mixed', 'flags='=>'int'], + 'http\Url::__toString' => ['string'], + 'http\Url::mod' => ['http\Url', 'parts'=>'mixed', 'flags='=>'float|int|mixed'], + 'http\Url::toArray' => ['string[]'], + 'http\Url::toString' => ['string'], + 'http_build_cookie' => ['string', 'cookie'=>'array'], + 'http_build_query' => ['string', 'data'=>'array|object', 'numeric_prefix='=>'string', 'arg_separator='=>'?string', 'encoding_type='=>'int'], + 'http_build_str' => ['string', 'query'=>'array', 'prefix='=>'?string', 'arg_separator='=>'string'], + 'http_build_url' => ['string', 'url='=>'string|array', 'parts='=>'string|array', 'flags='=>'int', 'new_url='=>'array'], + 'http_cache_etag' => ['bool', 'etag='=>'string'], + 'http_cache_last_modified' => ['bool', 'timestamp_or_expires='=>'int'], + 'http_chunked_decode' => ['string|false', 'encoded'=>'string'], + 'http_date' => ['string', 'timestamp='=>'int'], + 'http_deflate' => ['?string', 'data'=>'string', 'flags='=>'int'], + 'http_get' => ['string', 'url'=>'string', 'options='=>'array', 'info='=>'array'], + 'http_get_request_body' => ['?string'], + 'http_get_request_body_stream' => ['?resource'], + 'http_get_request_headers' => ['array'], + 'http_head' => ['string', 'url'=>'string', 'options='=>'array', 'info='=>'array'], + 'http_inflate' => ['?string', 'data'=>'string'], + 'http_match_etag' => ['bool', 'etag'=>'string', 'for_range='=>'bool'], + 'http_match_modified' => ['bool', 'timestamp='=>'int', 'for_range='=>'bool'], + 'http_match_request_header' => ['bool', 'header'=>'string', 'value'=>'string', 'match_case='=>'bool'], + 'http_negotiate_charset' => ['string', 'supported'=>'array', 'result='=>'array'], + 'http_negotiate_content_type' => ['string', 'supported'=>'array', 'result='=>'array'], + 'http_negotiate_language' => ['string', 'supported'=>'array', 'result='=>'array'], + 'http_parse_cookie' => ['stdClass|false', 'cookie'=>'string', 'flags='=>'int', 'allowed_extras='=>'array'], + 'http_parse_headers' => ['array|false', 'header'=>'string'], + 'http_parse_message' => ['object', 'message'=>'string'], + 'http_parse_params' => ['stdClass', 'param'=>'string', 'flags='=>'int'], + 'http_persistent_handles_clean' => ['string', 'ident='=>'string'], + 'http_persistent_handles_count' => ['stdClass|false'], + 'http_persistent_handles_ident' => ['string|false', 'ident='=>'string'], + 'http_post_data' => ['string', 'url'=>'string', 'data'=>'string', 'options='=>'array', 'info='=>'array'], + 'http_post_fields' => ['string', 'url'=>'string', 'data'=>'array', 'files='=>'array', 'options='=>'array', 'info='=>'array'], + 'http_put_data' => ['string', 'url'=>'string', 'data'=>'string', 'options='=>'array', 'info='=>'array'], + 'http_put_file' => ['string', 'url'=>'string', 'file'=>'string', 'options='=>'array', 'info='=>'array'], + 'http_put_stream' => ['string', 'url'=>'string', 'stream'=>'resource', 'options='=>'array', 'info='=>'array'], + 'http_redirect' => ['int|false', 'url='=>'string', 'params='=>'array', 'session='=>'bool', 'status='=>'int'], + 'http_request' => ['string', 'method'=>'int', 'url'=>'string', 'body='=>'string', 'options='=>'array', 'info='=>'array'], + 'http_request_body_encode' => ['string|false', 'fields'=>'array', 'files'=>'array'], + 'http_request_method_exists' => ['bool', 'method'=>'mixed'], + 'http_request_method_name' => ['string|false', 'method'=>'int'], + 'http_request_method_register' => ['int|false', 'method'=>'string'], + 'http_request_method_unregister' => ['bool', 'method'=>'mixed'], + 'http_response_code' => ['int|bool', 'response_code='=>'int'], + 'http_send_content_disposition' => ['bool', 'filename'=>'string', 'inline='=>'bool'], + 'http_send_content_type' => ['bool', 'content_type='=>'string'], + 'http_send_data' => ['bool', 'data'=>'string'], + 'http_send_file' => ['bool', 'file'=>'string'], + 'http_send_last_modified' => ['bool', 'timestamp='=>'int'], + 'http_send_status' => ['bool', 'status'=>'int'], + 'http_send_stream' => ['bool', 'stream'=>'resource'], + 'http_support' => ['int', 'feature='=>'int'], + 'http_throttle' => ['void', 'sec'=>'float', 'bytes='=>'int'], + 'hw_Array2Objrec' => ['string', 'object_array'=>'array'], + 'hw_Children' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_ChildrenObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_Close' => ['bool', 'connection'=>'int'], + 'hw_Connect' => ['int', 'host'=>'string', 'port'=>'int', 'username='=>'string', 'password='=>'string'], + 'hw_Deleteobject' => ['bool', 'connection'=>'int', 'object_to_delete'=>'int'], + 'hw_DocByAnchor' => ['int', 'connection'=>'int', 'anchorid'=>'int'], + 'hw_DocByAnchorObj' => ['string', 'connection'=>'int', 'anchorid'=>'int'], + 'hw_Document_Attributes' => ['string', 'hw_document'=>'int'], + 'hw_Document_BodyTag' => ['string', 'hw_document'=>'int', 'prefix='=>'string'], + 'hw_Document_Content' => ['string', 'hw_document'=>'int'], + 'hw_Document_SetContent' => ['bool', 'hw_document'=>'int', 'content'=>'string'], + 'hw_Document_Size' => ['int', 'hw_document'=>'int'], + 'hw_EditText' => ['bool', 'connection'=>'int', 'hw_document'=>'int'], + 'hw_Error' => ['int', 'connection'=>'int'], + 'hw_ErrorMsg' => ['string', 'connection'=>'int'], + 'hw_Free_Document' => ['bool', 'hw_document'=>'int'], + 'hw_GetAnchors' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetAnchorsObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetAndLock' => ['string', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetChildColl' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetChildCollObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetChildDocColl' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetChildDocCollObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetObject' => ['', 'connection'=>'int', 'objectid'=>'', 'query='=>'string'], + 'hw_GetObjectByQuery' => ['array', 'connection'=>'int', 'query'=>'string', 'max_hits'=>'int'], + 'hw_GetObjectByQueryColl' => ['array', 'connection'=>'int', 'objectid'=>'int', 'query'=>'string', 'max_hits'=>'int'], + 'hw_GetObjectByQueryCollObj' => ['array', 'connection'=>'int', 'objectid'=>'int', 'query'=>'string', 'max_hits'=>'int'], + 'hw_GetObjectByQueryObj' => ['array', 'connection'=>'int', 'query'=>'string', 'max_hits'=>'int'], + 'hw_GetParents' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetParentsObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetRemote' => ['int', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetSrcByDestObj' => ['array', 'connection'=>'int', 'objectid'=>'int'], + 'hw_GetText' => ['int', 'connection'=>'int', 'objectid'=>'int', 'prefix='=>''], + 'hw_Identify' => ['string', 'link'=>'int', 'username'=>'string', 'password'=>'string'], + 'hw_InCollections' => ['array', 'connection'=>'int', 'object_id_array'=>'array', 'collection_id_array'=>'array', 'return_collections'=>'int'], + 'hw_Info' => ['string', 'connection'=>'int'], + 'hw_InsColl' => ['int', 'connection'=>'int', 'objectid'=>'int', 'object_array'=>'array'], + 'hw_InsDoc' => ['int', 'connection'=>'', 'parentid'=>'int', 'object_record'=>'string', 'text='=>'string'], + 'hw_InsertDocument' => ['int', 'connection'=>'int', 'parent_id'=>'int', 'hw_document'=>'int'], + 'hw_InsertObject' => ['int', 'connection'=>'int', 'object_rec'=>'string', 'parameter'=>'string'], + 'hw_Modifyobject' => ['bool', 'connection'=>'int', 'object_to_change'=>'int', 'remove'=>'array', 'add'=>'array', 'mode='=>'int'], + 'hw_New_Document' => ['int', 'object_record'=>'string', 'document_data'=>'string', 'document_size'=>'int'], + 'hw_Output_Document' => ['bool', 'hw_document'=>'int'], + 'hw_PipeDocument' => ['int', 'connection'=>'int', 'objectid'=>'int', 'url_prefixes='=>'array'], + 'hw_Root' => ['int'], + 'hw_Unlock' => ['bool', 'connection'=>'int', 'objectid'=>'int'], + 'hw_Who' => ['array', 'connection'=>'int'], + 'hw_api::checkin' => ['bool', 'parameter'=>'array'], + 'hw_api::checkout' => ['bool', 'parameter'=>'array'], + 'hw_api::children' => ['array', 'parameter'=>'array'], + 'hw_api::content' => ['HW_API_Content', 'parameter'=>'array'], + 'hw_api::copy' => ['hw_api_content', 'parameter'=>'array'], + 'hw_api::dbstat' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::dcstat' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::dstanchors' => ['array', 'parameter'=>'array'], + 'hw_api::dstofsrcanchor' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::find' => ['array', 'parameter'=>'array'], + 'hw_api::ftstat' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::hwstat' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::identify' => ['bool', 'parameter'=>'array'], + 'hw_api::info' => ['array', 'parameter'=>'array'], + 'hw_api::insert' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::insertanchor' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::insertcollection' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::insertdocument' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::link' => ['bool', 'parameter'=>'array'], + 'hw_api::lock' => ['bool', 'parameter'=>'array'], + 'hw_api::move' => ['bool', 'parameter'=>'array'], + 'hw_api::object' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::objectbyanchor' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::parents' => ['array', 'parameter'=>'array'], + 'hw_api::remove' => ['bool', 'parameter'=>'array'], + 'hw_api::replace' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::setcommittedversion' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::srcanchors' => ['array', 'parameter'=>'array'], + 'hw_api::srcsofdst' => ['array', 'parameter'=>'array'], + 'hw_api::unlock' => ['bool', 'parameter'=>'array'], + 'hw_api::user' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api::userlist' => ['array', 'parameter'=>'array'], + 'hw_api_attribute' => ['HW_API_Attribute', 'name='=>'string', 'value='=>'string'], + 'hw_api_attribute::key' => ['string'], + 'hw_api_attribute::langdepvalue' => ['string', 'language'=>'string'], + 'hw_api_attribute::value' => ['string'], + 'hw_api_attribute::values' => ['array'], + 'hw_api_content' => ['HW_API_Content', 'content'=>'string', 'mimetype'=>'string'], + 'hw_api_content::mimetype' => ['string'], + 'hw_api_content::read' => ['string', 'buffer'=>'string', 'length'=>'int'], + 'hw_api_error::count' => ['int'], + 'hw_api_error::reason' => ['HW_API_Reason'], + 'hw_api_object' => ['hw_api_object', 'parameter'=>'array'], + 'hw_api_object::assign' => ['bool', 'parameter'=>'array'], + 'hw_api_object::attreditable' => ['bool', 'parameter'=>'array'], + 'hw_api_object::count' => ['int', 'parameter'=>'array'], + 'hw_api_object::insert' => ['bool', 'attribute'=>'hw_api_attribute'], + 'hw_api_object::remove' => ['bool', 'name'=>'string'], + 'hw_api_object::title' => ['string', 'parameter'=>'array'], + 'hw_api_object::value' => ['string', 'name'=>'string'], + 'hw_api_reason::description' => ['string'], + 'hw_api_reason::type' => ['HW_API_Reason'], + 'hw_changeobject' => ['bool', 'link'=>'int', 'objid'=>'int', 'attributes'=>'array'], + 'hw_connection_info' => ['', 'link'=>'int'], + 'hw_cp' => ['int', 'connection'=>'int', 'object_id_array'=>'array', 'destination_id'=>'int'], + 'hw_dummy' => ['string', 'link'=>'int', 'id'=>'int', 'msgid'=>'int'], + 'hw_getrellink' => ['string', 'link'=>'int', 'rootid'=>'int', 'sourceid'=>'int', 'destid'=>'int'], + 'hw_getremotechildren' => ['', 'connection'=>'int', 'object_record'=>'string'], + 'hw_getusername' => ['string', 'connection'=>'int'], + 'hw_insertanchors' => ['bool', 'hwdoc'=>'int', 'anchorecs'=>'array', 'dest'=>'array', 'urlprefixes='=>'array'], + 'hw_mapid' => ['int', 'connection'=>'int', 'server_id'=>'int', 'object_id'=>'int'], + 'hw_mv' => ['int', 'connection'=>'int', 'object_id_array'=>'array', 'source_id'=>'int', 'destination_id'=>'int'], + 'hw_objrec2array' => ['array', 'object_record'=>'string', 'format='=>'array'], + 'hw_pConnect' => ['int', 'host'=>'string', 'port'=>'int', 'username='=>'string', 'password='=>'string'], + 'hw_setlinkroot' => ['int', 'link'=>'int', 'rootid'=>'int'], + 'hw_stat' => ['string', 'link'=>'int'], + 'hwapi_attribute_new' => ['HW_API_Attribute', 'name='=>'string', 'value='=>'string'], + 'hwapi_content_new' => ['HW_API_Content', 'content'=>'string', 'mimetype'=>'string'], + 'hwapi_hgcsp' => ['HW_API', 'hostname'=>'string', 'port='=>'int'], + 'hwapi_object_new' => ['hw_api_object', 'parameter'=>'array'], + 'hypot' => ['float', 'x'=>'float', 'y'=>'float'], + 'ibase_add_user' => ['bool', 'service_handle'=>'resource', 'user_name'=>'string', 'password'=>'string', 'first_name='=>'string', 'middle_name='=>'string', 'last_name='=>'string'], + 'ibase_affected_rows' => ['int', 'link_identifier='=>'resource'], + 'ibase_backup' => ['mixed', 'service_handle'=>'resource', 'source_db'=>'string', 'dest_file'=>'string', 'options='=>'int', 'verbose='=>'bool'], + 'ibase_blob_add' => ['void', 'blob_handle'=>'resource', 'data'=>'string'], + 'ibase_blob_cancel' => ['bool', 'blob_handle'=>'resource'], + 'ibase_blob_close' => ['string|bool', 'blob_handle'=>'resource'], + 'ibase_blob_create' => ['resource', 'link_identifier='=>'resource'], + 'ibase_blob_echo' => ['bool', 'link_identifier'=>'', 'blob_id'=>'string'], + 'ibase_blob_echo\'1' => ['bool', 'blob_id'=>'string'], + 'ibase_blob_get' => ['string|false', 'blob_handle'=>'resource', 'length'=>'int'], + 'ibase_blob_import' => ['string|false', 'link_identifier'=>'resource', 'file_handle'=>'resource'], + 'ibase_blob_info' => ['array', 'link_identifier'=>'resource', 'blob_id'=>'string'], + 'ibase_blob_info\'1' => ['array', 'blob_id'=>'string'], + 'ibase_blob_open' => ['resource|false', 'link_identifier'=>'', 'blob_id'=>'string'], + 'ibase_blob_open\'1' => ['resource', 'blob_id'=>'string'], + 'ibase_close' => ['bool', 'link_identifier='=>'resource'], + 'ibase_commit' => ['bool', 'link_identifier='=>'resource'], + 'ibase_commit_ret' => ['bool', 'link_identifier='=>'resource'], + 'ibase_connect' => ['resource|false', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'charset='=>'string', 'buffers='=>'int', 'dialect='=>'int', 'role='=>'string'], + 'ibase_db_info' => ['string', 'service_handle'=>'resource', 'db'=>'string', 'action'=>'int', 'argument='=>'int'], + 'ibase_delete_user' => ['bool', 'service_handle'=>'resource', 'user_name'=>'string', 'password='=>'string', 'first_name='=>'string', 'middle_name='=>'string', 'last_name='=>'string'], + 'ibase_drop_db' => ['bool', 'link_identifier='=>'resource'], + 'ibase_errcode' => ['int|false'], + 'ibase_errmsg' => ['string|false'], + 'ibase_execute' => ['resource|false', 'query'=>'resource', 'bind_arg='=>'mixed', '...args='=>'mixed'], + 'ibase_fetch_assoc' => ['array|false', 'result'=>'resource', 'fetch_flags='=>'int'], + 'ibase_fetch_object' => ['object|false', 'result'=>'resource', 'fetch_flags='=>'int'], + 'ibase_fetch_row' => ['array|false', 'result'=>'resource', 'fetch_flags='=>'int'], + 'ibase_field_info' => ['array', 'query_result'=>'resource', 'field_number'=>'int'], + 'ibase_free_event_handler' => ['bool', 'event'=>'resource'], + 'ibase_free_query' => ['bool', 'query'=>'resource'], + 'ibase_free_result' => ['bool', 'result'=>'resource'], + 'ibase_gen_id' => ['int|string', 'generator'=>'string', 'increment='=>'int', 'link_identifier='=>'resource'], + 'ibase_maintain_db' => ['bool', 'service_handle'=>'resource', 'db'=>'string', 'action'=>'int', 'argument='=>'int'], + 'ibase_modify_user' => ['bool', 'service_handle'=>'resource', 'user_name'=>'string', 'password'=>'string', 'first_name='=>'string', 'middle_name='=>'string', 'last_name='=>'string'], + 'ibase_name_result' => ['bool', 'result'=>'resource', 'name'=>'string'], + 'ibase_num_fields' => ['int', 'query_result'=>'resource'], + 'ibase_num_params' => ['int', 'query'=>'resource'], + 'ibase_num_rows' => ['int', 'result_identifier'=>''], + 'ibase_param_info' => ['array', 'query'=>'resource', 'field_number'=>'int'], + 'ibase_pconnect' => ['resource|false', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'charset='=>'string', 'buffers='=>'int', 'dialect='=>'int', 'role='=>'string'], + 'ibase_prepare' => ['resource|false', 'link_identifier'=>'', 'query'=>'string', 'trans_identifier'=>''], + 'ibase_query' => ['resource|false', 'link_identifier='=>'resource', 'string='=>'string', 'bind_arg='=>'int', '...args='=>''], + 'ibase_restore' => ['mixed', 'service_handle'=>'resource', 'source_file'=>'string', 'dest_db'=>'string', 'options='=>'int', 'verbose='=>'bool'], + 'ibase_rollback' => ['bool', 'link_identifier='=>'resource'], + 'ibase_rollback_ret' => ['bool', 'link_identifier='=>'resource'], + 'ibase_server_info' => ['string', 'service_handle'=>'resource', 'action'=>'int'], + 'ibase_service_attach' => ['resource', 'host'=>'string', 'dba_username'=>'string', 'dba_password'=>'string'], + 'ibase_service_detach' => ['bool', 'service_handle'=>'resource'], + 'ibase_set_event_handler' => ['resource', 'link_identifier'=>'', 'callback'=>'callable', 'event='=>'string', '...args='=>''], + 'ibase_set_event_handler\'1' => ['resource', 'callback'=>'callable', 'event'=>'string', '...args'=>''], + 'ibase_timefmt' => ['bool', 'format'=>'string', 'columntype='=>'int'], + 'ibase_trans' => ['resource|false', 'trans_args='=>'int', 'link_identifier='=>'', '...args='=>''], + 'ibase_wait_event' => ['string', 'link_identifier'=>'', 'event='=>'string', '...args='=>''], + 'ibase_wait_event\'1' => ['string', 'event'=>'string', '...args'=>''], + 'iconv' => ['string|false', 'from_encoding'=>'string', 'to_encoding'=>'string', 'string'=>'string'], + 'iconv_get_encoding' => ['array|string|false', 'type='=>'string'], + 'iconv_mime_decode' => ['string|false', 'string'=>'string', 'mode='=>'int', 'encoding='=>'string'], + 'iconv_mime_decode_headers' => ['array|false', 'headers'=>'string', 'mode='=>'int', 'encoding='=>'string'], + 'iconv_mime_encode' => ['string|false', 'field_name'=>'string', 'field_value'=>'string', 'options='=>'array'], + 'iconv_set_encoding' => ['bool', 'type'=>'string', 'encoding'=>'string'], + 'iconv_strlen' => ['0|positive-int|false', 'string'=>'string', 'encoding='=>'string'], + 'iconv_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'iconv_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string'], + 'iconv_substr' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'int', 'encoding='=>'string'], + 'id3_get_frame_long_name' => ['string', 'frameid'=>'string'], + 'id3_get_frame_short_name' => ['string', 'frameid'=>'string'], + 'id3_get_genre_id' => ['int', 'genre'=>'string'], + 'id3_get_genre_list' => ['array'], + 'id3_get_genre_name' => ['string', 'genre_id'=>'int'], + 'id3_get_tag' => ['array', 'filename'=>'string', 'version='=>'int'], + 'id3_get_version' => ['int', 'filename'=>'string'], + 'id3_remove_tag' => ['bool', 'filename'=>'string', 'version='=>'int'], + 'id3_set_tag' => ['bool', 'filename'=>'string', 'tag'=>'array', 'version='=>'int'], + 'idate' => ['int', 'format'=>'string', 'timestamp='=>'int'], + 'idn_strerror' => ['string', 'errorcode'=>'int'], + 'idn_to_ascii' => ['string|false', 'domain'=>'string', 'flags='=>'int', 'variant='=>'int', '&w_idna_info='=>'array'], + 'idn_to_utf8' => ['string|false', 'domain'=>'string', 'flags='=>'int', 'variant='=>'int', '&w_idna_info='=>'array'], + 'ifx_affected_rows' => ['int', 'result_id'=>'resource'], + 'ifx_blobinfile_mode' => ['bool', 'mode'=>'int'], + 'ifx_byteasvarchar' => ['bool', 'mode'=>'int'], + 'ifx_close' => ['bool', 'link_identifier='=>'resource'], + 'ifx_connect' => ['resource', 'database='=>'string', 'userid='=>'string', 'password='=>'string'], + 'ifx_copy_blob' => ['int', 'bid'=>'int'], + 'ifx_create_blob' => ['int', 'type'=>'int', 'mode'=>'int', 'param'=>'string'], + 'ifx_create_char' => ['int', 'param'=>'string'], + 'ifx_do' => ['bool', 'result_id'=>'resource'], + 'ifx_error' => ['string', 'link_identifier='=>'resource'], + 'ifx_errormsg' => ['string', 'errorcode='=>'int'], + 'ifx_fetch_row' => ['array', 'result_id'=>'resource', 'position='=>'mixed'], + 'ifx_fieldproperties' => ['array', 'result_id'=>'resource'], + 'ifx_fieldtypes' => ['array', 'result_id'=>'resource'], + 'ifx_free_blob' => ['bool', 'bid'=>'int'], + 'ifx_free_char' => ['bool', 'bid'=>'int'], + 'ifx_free_result' => ['bool', 'result_id'=>'resource'], + 'ifx_get_blob' => ['string', 'bid'=>'int'], + 'ifx_get_char' => ['string', 'bid'=>'int'], + 'ifx_getsqlca' => ['array', 'result_id'=>'resource'], + 'ifx_htmltbl_result' => ['int', 'result_id'=>'resource', 'html_table_options='=>'string'], + 'ifx_nullformat' => ['bool', 'mode'=>'int'], + 'ifx_num_fields' => ['int', 'result_id'=>'resource'], + 'ifx_num_rows' => ['int', 'result_id'=>'resource'], + 'ifx_pconnect' => ['resource', 'database='=>'string', 'userid='=>'string', 'password='=>'string'], + 'ifx_prepare' => ['resource', 'query'=>'string', 'link_identifier'=>'resource', 'cursor_def='=>'int', 'blobidarray='=>'mixed'], + 'ifx_query' => ['resource', 'query'=>'string', 'link_identifier'=>'resource', 'cursor_type='=>'int', 'blobidarray='=>'mixed'], + 'ifx_textasvarchar' => ['bool', 'mode'=>'int'], + 'ifx_update_blob' => ['bool', 'bid'=>'int', 'content'=>'string'], + 'ifx_update_char' => ['bool', 'bid'=>'int', 'content'=>'string'], + 'ifxus_close_slob' => ['bool', 'bid'=>'int'], + 'ifxus_create_slob' => ['int', 'mode'=>'int'], + 'ifxus_free_slob' => ['bool', 'bid'=>'int'], + 'ifxus_open_slob' => ['int', 'bid'=>'int', 'mode'=>'int'], + 'ifxus_read_slob' => ['string', 'bid'=>'int', 'nbytes'=>'int'], + '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'=>'mixed'], + 'igbinary_unserialize' => ['mixed', 'str'=>'string'], + 'ignore_user_abort' => ['int', 'enable='=>'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'], + 'iis_get_script_map' => ['string', 'server_instance'=>'int', 'virtual_path'=>'string', 'script_extension'=>'string'], + 'iis_get_server_by_comment' => ['int', 'comment'=>'string'], + 'iis_get_server_by_path' => ['int', 'path'=>'string'], + 'iis_get_server_rights' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string'], + 'iis_get_service_state' => ['int', 'service_id'=>'string'], + 'iis_remove_server' => ['int', 'server_instance'=>'int'], + 'iis_set_app_settings' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'application_scope'=>'string'], + 'iis_set_dir_security' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'directory_flags'=>'int'], + 'iis_set_script_map' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'script_extension'=>'string', 'engine_path'=>'string', 'allow_scripting'=>'int'], + 'iis_set_server_rights' => ['int', 'server_instance'=>'int', 'virtual_path'=>'string', 'directory_flags'=>'int'], + 'iis_start_server' => ['int', 'server_instance'=>'int'], + 'iis_start_service' => ['int', 'service_id'=>'string'], + 'iis_stop_server' => ['int', 'server_instance'=>'int'], + 'iis_stop_service' => ['int', 'service_id'=>'string'], + 'image2wbmp' => ['bool', 'im'=>'resource', 'filename='=>'?string', 'threshold='=>'int'], + 'imageObj::pasteImage' => ['void', 'srcImg'=>'imageObj', 'transparentColorHex'=>'int', 'dstX'=>'int', 'dstY'=>'int', 'angle'=>'int'], + 'imageObj::saveImage' => ['int', 'filename'=>'string', 'oMap'=>'mapObj'], + 'imageObj::saveWebImage' => ['string'], + 'image_type_to_extension' => ['string', 'image_type'=>'int', 'include_dot='=>'bool'], + 'image_type_to_mime_type' => ['string', 'image_type'=>'int'], + 'imageaffine' => ['resource|false', 'src'=>'resource', 'affine'=>'array', 'clip='=>'array'], + 'imageaffinematrixconcat' => ['array{0:float,1:float,2:float,3:float,4:float,5:float}|false', 'matrix1'=>'array', 'matrix2'=>'array'], + 'imageaffinematrixget' => ['array{0:float,1:float,2:float,3:float,4:float,5:float}|false', 'type'=>'int', 'options'=>'array|float'], + 'imagealphablending' => ['bool', 'image'=>'resource', 'enable'=>'bool'], + 'imageantialias' => ['bool', 'image'=>'resource', 'enable'=>'bool'], + 'imagearc' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int'], + 'imagechar' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], + 'imagecharup' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'char'=>'string', 'color'=>'int'], + 'imagecolorallocate' => ['int|false', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'imagecolorallocatealpha' => ['int|false', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'imagecolorat' => ['int|false', 'image'=>'resource', 'x'=>'int', 'y'=>'int'], + 'imagecolorclosest' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'imagecolorclosestalpha' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'imagecolorclosesthwb' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'imagecolordeallocate' => ['bool', 'image'=>'resource', 'color'=>'int'], + 'imagecolorexact' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'imagecolorexactalpha' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'imagecolormatch' => ['bool', 'image1'=>'resource', 'image2'=>'resource'], + 'imagecolorresolve' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'imagecolorresolvealpha' => ['int', 'image'=>'resource', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha'=>'int'], + 'imagecolorset' => ['false|null', 'image'=>'resource', 'color'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'alpha='=>'int'], + 'imagecolorsforindex' => ['array', 'image'=>'resource', 'color'=>'int'], + 'imagecolorstotal' => ['int', 'image'=>'resource'], + 'imagecolortransparent' => ['int', 'image'=>'resource', 'color='=>'int'], + 'imageconvolution' => ['bool', 'image'=>'resource', 'matrix'=>'array', 'divisor'=>'float', 'offset'=>'float'], + 'imagecopy' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + 'imagecopymerge' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], + 'imagecopymergegray' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'src_width'=>'int', 'src_height'=>'int', 'pct'=>'int'], + 'imagecopyresampled' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + 'imagecopyresized' => ['bool', 'dst_image'=>'resource', 'src_image'=>'resource', 'dst_x'=>'int', 'dst_y'=>'int', 'src_x'=>'int', 'src_y'=>'int', 'dst_width'=>'int', 'dst_height'=>'int', 'src_width'=>'int', 'src_height'=>'int'], + 'imagecreate' => ['resource|false', 'x_size'=>'int', 'y_size'=>'int'], + 'imagecreatefromgd' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromgd2' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromgd2part' => ['resource|false', 'filename'=>'string', 'srcx'=>'int', 'srcy'=>'int', 'width'=>'int', 'height'=>'int'], + 'imagecreatefromgif' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromjpeg' => ['resource|false', 'filename'=>'string'], + 'imagecreatefrompng' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromstring' => ['resource|false', 'image'=>'string'], + 'imagecreatefromwbmp' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromwebp' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromxbm' => ['resource|false', 'filename'=>'string'], + 'imagecreatefromxpm' => ['resource|false', 'filename'=>'string'], + 'imagecreatetruecolor' => ['resource|false', 'x_size'=>'int', 'y_size'=>'int'], + 'imagecrop' => ['resource|false', 'im'=>'resource', 'rect'=>'array'], + 'imagecropauto' => ['resource|false', 'im'=>'resource', 'mode='=>'int', 'threshold='=>'float', 'color='=>'int'], + 'imagedashedline' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'imagedestroy' => ['bool', 'image'=>'resource'], + 'imageellipse' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], + 'imagefill' => ['bool', 'image'=>'resource', 'x'=>'int', 'y'=>'int', 'color'=>'int'], + 'imagefilledarc' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'start_angle'=>'int', 'end_angle'=>'int', 'color'=>'int', 'style'=>'int'], + 'imagefilledellipse' => ['bool', 'image'=>'resource', 'center_x'=>'int', 'center_y'=>'int', 'width'=>'int', 'height'=>'int', 'color'=>'int'], + 'imagefilledpolygon' => ['bool', 'image'=>'resource', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], + 'imagefilledrectangle' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'imagefilltoborder' => ['bool', 'image'=>'resource', 'x'=>'int', 'y'=>'int', 'border_color'=>'int', 'color'=>'int'], + 'imagefilter' => ['bool', 'image'=>'resource', 'filter'=>'int', '...args='=>'array|int|float|bool'], + 'imageflip' => ['bool', 'image'=>'resource', 'mode'=>'int'], + 'imagefontheight' => ['int', 'font'=>'int'], + 'imagefontwidth' => ['int', 'font'=>'int'], + 'imageftbbox' => ['array|false', 'size'=>'float', 'angle'=>'float', 'font_filename'=>'string', 'string'=>'string', 'options='=>'array'], + 'imagefttext' => ['array|false', 'image'=>'resource', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string', 'options='=>'array'], + 'imagegammacorrect' => ['bool', 'image'=>'resource', 'input_gamma'=>'float', 'output_gamma'=>'float'], + 'imagegd' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null'], + 'imagegd2' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'chunk_size='=>'int', 'mode='=>'int'], + 'imagegetclip' => ['array|false', 'im'=>'resource'], + 'imagegif' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null'], + 'imagegrabscreen' => ['false|resource'], + 'imagegrabwindow' => ['false|resource', 'window_handle'=>'int', 'client_area='=>'int'], + 'imageinterlace' => ['int|false', 'image'=>'resource', 'enable='=>'int'], + 'imageistruecolor' => ['bool', 'image'=>'resource'], + 'imagejpeg' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'quality='=>'int'], + 'imagelayereffect' => ['bool', 'image'=>'resource', 'effect'=>'int'], + 'imageline' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'imageloadfont' => ['int|false', 'filename'=>'string'], + 'imagepalettecopy' => ['void', 'dst'=>'resource', 'src'=>'resource'], + 'imagepalettetotruecolor' => ['bool', 'image'=>'resource'], + 'imagepng' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'quality='=>'int', 'filters='=>'int'], + 'imagepolygon' => ['bool', 'image'=>'resource', 'points'=>'array', 'num_points_or_color'=>'int', 'color'=>'int'], + 'imagerectangle' => ['bool', 'image'=>'resource', 'x1'=>'int', 'y1'=>'int', 'x2'=>'int', 'y2'=>'int', 'color'=>'int'], + 'imagerotate' => ['resource|false', 'src_im'=>'resource', 'angle'=>'float', 'bgdcolor'=>'int', 'ignoretransparent='=>'int'], + 'imagesavealpha' => ['bool', 'image'=>'resource', 'enable'=>'bool'], + 'imagescale' => ['resource|false', 'im'=>'resource', 'new_width'=>'int', 'new_height='=>'int', 'method='=>'int'], + 'imagesetbrush' => ['bool', 'image'=>'resource', 'brush'=>'resource'], + 'imagesetinterpolation' => ['bool', 'image'=>'resource', 'method='=>'int'], + 'imagesetpixel' => ['bool', 'image'=>'resource', 'x'=>'int', 'y'=>'int', 'color'=>'int'], + 'imagesetstyle' => ['bool', 'image'=>'resource', 'style'=>'non-empty-array'], + 'imagesetthickness' => ['bool', 'image'=>'resource', 'thickness'=>'int'], + 'imagesettile' => ['bool', 'image'=>'resource', 'tile'=>'resource'], + 'imagestring' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], + 'imagestringup' => ['bool', 'image'=>'resource', 'font'=>'int', 'x'=>'int', 'y'=>'int', 'string'=>'string', 'color'=>'int'], + 'imagesx' => ['int', 'image'=>'resource'], + 'imagesy' => ['int', 'image'=>'resource'], + 'imagetruecolortopalette' => ['bool', 'image'=>'resource', 'dither'=>'bool', 'num_colors'=>'int'], + 'imagettfbbox' => ['false|array', 'size'=>'float', 'angle'=>'float', 'font_filename'=>'string', 'string'=>'string'], + 'imagettftext' => ['false|array', 'image'=>'resource', 'size'=>'float', 'angle'=>'float', 'x'=>'int', 'y'=>'int', 'color'=>'int', 'font_filename'=>'string', 'text'=>'string'], + 'imagetypes' => ['int'], + 'imagewbmp' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'foreground_color='=>'int'], + 'imagewebp' => ['bool', 'image'=>'resource', 'file='=>'string|resource|null', 'quality='=>'int'], + 'imagexbm' => ['bool', 'image'=>'resource', 'filename'=>'?string', 'foreground_color='=>'int'], + 'imap_8bit' => ['string|false', 'string'=>'string'], + 'imap_alerts' => ['array|false'], + 'imap_append' => ['bool', 'imap'=>'resource', 'folder'=>'string', 'message'=>'string', 'options='=>'string', 'internal_date='=>'string'], + 'imap_base64' => ['string|false', 'string'=>'string'], + 'imap_binary' => ['string|false', 'string'=>'string'], + 'imap_body' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'imap_bodystruct' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'section'=>'string'], + 'imap_check' => ['stdClass|false', 'imap'=>'resource'], + 'imap_clearflag_full' => ['bool', 'imap'=>'resource', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], + 'imap_close' => ['bool', 'imap'=>'resource', 'flags='=>'int'], + 'imap_create' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_createmailbox' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_delete' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'flags='=>'int'], + 'imap_deletemailbox' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_errors' => ['array|false'], + 'imap_expunge' => ['bool', 'imap'=>'resource'], + 'imap_fetch_overview' => ['array|false', 'imap'=>'resource', 'sequence'=>'string', 'flags='=>'int'], + 'imap_fetchbody' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], + 'imap_fetchheader' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'imap_fetchmime' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'section'=>'string', 'flags='=>'int'], + 'imap_fetchstructure' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'imap_fetchtext' => ['string|false', 'imap'=>'resource', 'message_num'=>'int', 'flags='=>'int'], + 'imap_gc' => ['bool', 'imap'=>'resource', 'flags'=>'int'], + 'imap_get_quota' => ['array|false', 'imap'=>'resource', 'quota_root'=>'string'], + 'imap_get_quotaroot' => ['array|false', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_getacl' => ['array|false', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_getmailboxes' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'imap_getsubscribed' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'imap_header' => ['stdClass|false', 'stream_id'=>'resource', 'msg_no'=>'int', 'from_length='=>'int', 'subject_length='=>'int', 'default_host='=>'string'], + 'imap_headerinfo' => ['stdClass|false', 'imap'=>'resource', 'message_num'=>'int', 'from_length='=>'int', 'subject_length='=>'int', 'default_host='=>'string|null'], + 'imap_headers' => ['array|false', 'imap'=>'resource'], + 'imap_last_error' => ['string|false'], + 'imap_list' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'imap_listmailbox' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'imap_listscan' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + 'imap_listsubscribed' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'imap_lsub' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string'], + 'imap_mail' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string', 'cc='=>'string', 'bcc='=>'string', 'return_path='=>'string'], + 'imap_mail_compose' => ['string|false', 'envelope'=>'array', 'bodies'=>'array'], + 'imap_mail_copy' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], + 'imap_mail_move' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'mailbox'=>'string', 'flags='=>'int'], + 'imap_mailboxmsginfo' => ['stdClass', 'imap'=>'resource'], + 'imap_mime_header_decode' => ['array|false', 'string'=>'string'], + 'imap_msgno' => ['int', 'imap'=>'resource', 'message_uid'=>'int'], + 'imap_mutf7_to_utf8' => ['string|false', 'string'=>'string'], + 'imap_num_msg' => ['int|false', 'imap'=>'resource'], + 'imap_num_recent' => ['int', 'imap'=>'resource'], + 'imap_open' => ['resource|false', 'mailbox'=>'string', 'user'=>'string', 'password'=>'string', 'flags='=>'int', 'retries='=>'int', 'options='=>'array'], + 'imap_ping' => ['bool', 'imap'=>'resource'], + 'imap_qprint' => ['string|false', 'string'=>'string'], + 'imap_rename' => ['bool', 'imap'=>'resource', 'from'=>'string', 'to'=>'string'], + 'imap_renamemailbox' => ['bool', 'imap'=>'resource', 'from'=>'string', 'to'=>'string'], + 'imap_reopen' => ['bool', 'imap'=>'resource', 'mailbox'=>'string', 'flags='=>'int', 'retries='=>'int'], + 'imap_rfc822_parse_adrlist' => ['array', 'string'=>'string', 'default_hostname'=>'string'], + 'imap_rfc822_parse_headers' => ['stdClass', 'headers'=>'string', 'default_hostname='=>'string'], + 'imap_rfc822_write_address' => ['string|false', 'mailbox'=>'string', 'hostname'=>'string', 'personal'=>'string'], + 'imap_savebody' => ['bool', 'imap'=>'resource', 'file'=>'string|resource', 'message_num'=>'int', 'section='=>'string', 'flags='=>'int'], + 'imap_scan' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + 'imap_scanmailbox' => ['array|false', 'imap'=>'resource', 'reference'=>'string', 'pattern'=>'string', 'content'=>'string'], + 'imap_search' => ['array|false', 'imap'=>'resource', 'criteria'=>'string', 'flags='=>'int', 'charset='=>'string'], + 'imap_set_quota' => ['bool', 'imap'=>'resource', 'quota_root'=>'string', 'mailbox_size'=>'int'], + 'imap_setacl' => ['bool', 'imap'=>'resource', 'mailbox'=>'string', 'user_id'=>'string', 'rights'=>'string'], + 'imap_setflag_full' => ['bool', 'imap'=>'resource', 'sequence'=>'string', 'flag'=>'string', 'options='=>'int'], + 'imap_sort' => ['array|false', 'imap'=>'resource', 'criteria'=>'int', 'reverse'=>'int', 'flags='=>'int', 'search_criteria='=>'string', 'charset='=>'string'], + 'imap_status' => ['stdClass|false', 'imap'=>'resource', 'mailbox'=>'string', 'flags'=>'int'], + 'imap_subscribe' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_thread' => ['array|false', 'imap'=>'resource', 'flags='=>'int'], + 'imap_timeout' => ['int|bool', 'timeout_type'=>'int', 'timeout='=>'int'], + 'imap_uid' => ['int|false', 'imap'=>'resource', 'message_num'=>'int'], + 'imap_undelete' => ['bool', 'imap'=>'resource', 'message_nums'=>'string', 'flags='=>'int'], + 'imap_unsubscribe' => ['bool', 'imap'=>'resource', 'mailbox'=>'string'], + 'imap_utf7_decode' => ['string|false', 'string'=>'string'], + 'imap_utf7_encode' => ['string', 'string'=>'string'], + 'imap_utf8' => ['string', 'mime_encoded_text'=>'string'], + 'imap_utf8_to_mutf7' => ['string|false', 'string'=>'string'], + 'implode' => ['string', 'separator'=>'string', 'array'=>'array'], + 'implode\'1' => ['string', 'separator'=>'array'], + 'import_request_variables' => ['bool', 'types'=>'string', 'prefix='=>'string'], + 'in_array' => ['bool', 'needle'=>'mixed', 'haystack'=>'array', 'strict='=>'bool'], + 'inclued_get_data' => ['array'], + 'inet_ntop' => ['string|false', 'ip'=>'string'], + 'inet_pton' => ['string|false', 'ip'=>'string'], + 'inflate_add' => ['string|false', 'context'=>'resource', 'data'=>'string', 'flush_mode='=>'int'], + 'inflate_get_read_len' => ['int', 'context'=>'resource'], + 'inflate_get_status' => ['int', 'context'=>'resource'], + 'inflate_init' => ['resource|false', 'encoding'=>'int', 'options='=>'array'], + 'ingres_autocommit' => ['bool', 'link'=>'resource'], + 'ingres_autocommit_state' => ['bool', 'link'=>'resource'], + 'ingres_charset' => ['string', 'link'=>'resource'], + 'ingres_close' => ['bool', 'link'=>'resource'], + 'ingres_commit' => ['bool', 'link'=>'resource'], + 'ingres_connect' => ['resource', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'options='=>'array'], + 'ingres_cursor' => ['string', 'result'=>'resource'], + 'ingres_errno' => ['int', 'link='=>'resource'], + 'ingres_error' => ['string', 'link='=>'resource'], + 'ingres_errsqlstate' => ['string', 'link='=>'resource'], + 'ingres_escape_string' => ['string', 'link'=>'resource', 'source_string'=>'string'], + 'ingres_execute' => ['bool', 'result'=>'resource', 'params='=>'array', 'types='=>'string'], + 'ingres_fetch_array' => ['array', 'result'=>'resource', 'result_type='=>'int'], + 'ingres_fetch_assoc' => ['array', 'result'=>'resource'], + 'ingres_fetch_object' => ['object', 'result'=>'resource', 'result_type='=>'int'], + 'ingres_fetch_proc_return' => ['int', 'result'=>'resource'], + 'ingres_fetch_row' => ['array', 'result'=>'resource'], + 'ingres_field_length' => ['int', 'result'=>'resource', 'index'=>'int'], + 'ingres_field_name' => ['string', 'result'=>'resource', 'index'=>'int'], + 'ingres_field_nullable' => ['bool', 'result'=>'resource', 'index'=>'int'], + 'ingres_field_precision' => ['int', 'result'=>'resource', 'index'=>'int'], + 'ingres_field_scale' => ['int', 'result'=>'resource', 'index'=>'int'], + 'ingres_field_type' => ['string', 'result'=>'resource', 'index'=>'int'], + 'ingres_free_result' => ['bool', 'result'=>'resource'], + 'ingres_next_error' => ['bool', 'link='=>'resource'], + 'ingres_num_fields' => ['int', 'result'=>'resource'], + 'ingres_num_rows' => ['int', 'result'=>'resource'], + 'ingres_pconnect' => ['resource', 'database='=>'string', 'username='=>'string', 'password='=>'string', 'options='=>'array'], + 'ingres_prepare' => ['mixed', 'link'=>'resource', 'query'=>'string'], + 'ingres_query' => ['mixed', 'link'=>'resource', 'query'=>'string', 'params='=>'array', 'types='=>'string'], + 'ingres_result_seek' => ['bool', 'result'=>'resource', 'position'=>'int'], + 'ingres_rollback' => ['bool', 'link'=>'resource'], + 'ingres_set_environment' => ['bool', 'link'=>'resource', 'options'=>'array'], + 'ingres_unbuffered_query' => ['mixed', 'link'=>'resource', 'query'=>'string', 'params='=>'array', 'types='=>'string'], + 'ini_alter' => ['string|false', 'option'=>'string', 'value'=>'string'], + 'ini_get' => ['string|false', 'option'=>'string'], + 'ini_get_all' => ['array|false', 'extension='=>'?string', 'details='=>'bool'], + 'ini_restore' => ['void', 'option'=>'string'], + 'ini_set' => ['string|false', 'option'=>'string', 'value'=>'string'], + 'inotify_add_watch' => ['int', 'inotify_instance'=>'resource', 'pathname'=>'string', 'mask'=>'int'], + 'inotify_init' => ['resource|false'], + 'inotify_queue_len' => ['int', 'inotify_instance'=>'resource'], + 'inotify_read' => ['array|false', 'inotify_instance'=>'resource'], + 'inotify_rm_watch' => ['bool', 'inotify_instance'=>'resource', 'watch_descriptor'=>'int'], + 'intdiv' => ['int', 'num1'=>'int', 'num2'=>'int'], + 'interface_exists' => ['bool', 'interface'=>'string', 'autoload='=>'bool'], + 'intl_error_name' => ['string', 'errorCode'=>'int'], + 'intl_get_error_code' => ['int'], + 'intl_get_error_message' => ['string'], + 'intl_is_failure' => ['bool', 'errorCode'=>'int'], + 'intlcal_add' => ['bool', 'calendar'=>'IntlCalendar', 'field'=>'int', 'value'=>'int'], + 'intlcal_after' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], + 'intlcal_before' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], + 'intlcal_clear' => ['bool', 'calendar'=>'IntlCalendar', 'field='=>'?int'], + 'intlcal_create_instance' => ['?IntlCalendar', 'timezone='=>'mixed', 'locale='=>'?string'], + 'intlcal_equals' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], + 'intlcal_field_difference' => ['int', 'calendar'=>'IntlCalendar', 'timestamp'=>'float', 'field'=>'int'], + 'intlcal_from_date_time' => ['IntlCalendar', 'datetime'=>'DateTime|string'], + 'intlcal_get' => ['int|false', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_actual_maximum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_actual_minimum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_available_locales' => ['array'], + 'intlcal_get_day_of_week_type' => ['int', 'calendar'=>'IntlCalendar', 'dayOfWeek'=>'int'], + 'intlcal_get_first_day_of_week' => ['int', 'calendar'=>'IntlCalendar'], + 'intlcal_get_greatest_minimum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_keyword_values_for_locale' => ['IntlIterator|false', 'keyword'=>'string', 'locale'=>'string', 'onlyCommon'=>'bool'], + 'intlcal_get_least_maximum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_locale' => ['string', 'calendar'=>'IntlCalendar', 'type'=>'int'], + 'intlcal_get_maximum' => ['int|false', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_minimal_days_in_first_week' => ['int', 'calendar'=>'IntlCalendar'], + 'intlcal_get_minimum' => ['int', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_get_now' => ['float'], + 'intlcal_get_repeated_wall_time_option' => ['int', 'calendar'=>'IntlCalendar'], + 'intlcal_get_skipped_wall_time_option' => ['int', 'calendar'=>'IntlCalendar'], + 'intlcal_get_time' => ['float', 'calendar'=>'IntlCalendar'], + 'intlcal_get_time_zone' => ['IntlTimeZone', 'calendar'=>'IntlCalendar'], + 'intlcal_get_type' => ['string', 'calendar'=>'IntlCalendar'], + 'intlcal_get_weekend_transition' => ['int', 'calendar'=>'IntlCalendar', 'dayOfWeek'=>'string'], + 'intlcal_in_daylight_time' => ['bool', 'calendar'=>'IntlCalendar'], + 'intlcal_is_equivalent_to' => ['bool', 'calendar'=>'IntlCalendar', 'other'=>'IntlCalendar'], + 'intlcal_is_lenient' => ['bool', 'calendar'=>'IntlCalendar'], + 'intlcal_is_set' => ['bool', 'calendar'=>'IntlCalendar', 'field'=>'int'], + 'intlcal_is_weekend' => ['bool', 'calendar'=>'IntlCalendar', 'timestamp='=>'?float'], + 'intlcal_roll' => ['bool', 'calendar'=>'IntlCalendar', 'field'=>'int', 'value'=>'mixed'], + 'intlcal_set' => ['bool', 'calendar'=>'IntlCalendar', 'year'=>'int', 'month'=>'int'], + 'intlcal_set\'1' => ['bool', 'calendar'=>'IntlCalendar', 'year'=>'int', 'month'=>'int', 'dayOfMonth='=>'int', 'hour='=>'int', 'minute='=>'int', 'second='=>'int'], + 'intlcal_set_first_day_of_week' => ['bool', 'calendar'=>'IntlCalendar', 'dayOfWeek'=>'int'], + 'intlcal_set_lenient' => ['bool', 'calendar'=>'IntlCalendar', 'lenient'=>'bool'], + 'intlcal_set_repeated_wall_time_option' => ['bool', 'calendar'=>'IntlCalendar', 'option'=>'int'], + 'intlcal_set_skipped_wall_time_option' => ['bool', 'calendar'=>'IntlCalendar', 'option'=>'int'], + 'intlcal_set_time' => ['bool', 'calendar'=>'IntlCalendar', 'timestamp'=>'float'], + 'intlcal_set_time_zone' => ['bool', 'calendar'=>'IntlCalendar', 'timezone'=>'mixed'], + 'intlcal_to_date_time' => ['DateTime|false', 'calendar'=>'IntlCalendar'], + 'intlgregcal_create_instance' => ['IntlGregorianCalendar', 'timezoneOrYear='=>'mixed', 'localeOrMonth='=>'string'], + 'intlgregcal_get_gregorian_change' => ['float', 'calendar'=>'IntlGregorianCalendar'], + 'intlgregcal_is_leap_year' => ['bool', 'calendar'=>'int'], + 'intlgregcal_set_gregorian_change' => ['bool', 'calendar'=>'IntlGregorianCalendar', 'timestamp'=>'float'], + 'intltz_count_equivalent_ids' => ['int', 'timezoneId'=>'string'], + 'intltz_create_enumeration' => ['IntlIterator', 'countryOrRawOffset'=>'mixed'], + 'intltz_create_time_zone' => ['?IntlTimeZone', 'timezoneId'=>'string'], + 'intltz_from_date_time_zone' => ['?IntlTimeZone', 'timezone'=>'DateTimeZone'], + 'intltz_getGMT' => ['IntlTimeZone'], + 'intltz_get_canonical_id' => ['string', 'timezoneId'=>'string', '&isSystemId'=>'bool'], + 'intltz_get_display_name' => ['string', 'timezone'=>'IntlTimeZone', 'dst'=>'bool', 'style'=>'int', 'locale'=>'string'], + 'intltz_get_dst_savings' => ['int', 'timezone'=>'IntlTimeZone'], + 'intltz_get_equivalent_id' => ['string', 'timezoneId'=>'string', 'offset'=>'int'], + 'intltz_get_error_code' => ['int', 'timezone'=>'IntlTimeZone'], + 'intltz_get_error_message' => ['string', 'timezone'=>'IntlTimeZone'], + 'intltz_get_id' => ['string', 'timezone'=>'IntlTimeZone'], + 'intltz_get_offset' => ['bool', 'timezone'=>'IntlTimeZone', 'timestamp'=>'float', 'local'=>'bool', '&rawOffset'=>'int', '&dstOffset'=>'int'], + 'intltz_get_raw_offset' => ['int', 'timezone'=>'IntlTimeZone'], + 'intltz_get_tz_data_version' => ['string', 'object'=>'IntlTimeZone'], + 'intltz_has_same_rules' => ['bool', 'timezone'=>'IntlTimeZone', 'other'=>'IntlTimeZone'], + 'intltz_to_date_time_zone' => ['DateTimeZone', 'timezone'=>'IntlTimeZone'], + 'intltz_use_daylight_time' => ['bool', 'timezone'=>'IntlTimeZone'], + 'intlz_create_default' => ['IntlTimeZone'], + 'intval' => ['int', 'value'=>'mixed', 'base='=>'int'], + 'ip2long' => ['int|false', 'ip'=>'string'], + 'iptcembed' => ['string|bool', 'iptc_data'=>'string', 'filename'=>'string', 'spool='=>'int'], + 'iptcparse' => ['array|false', 'iptc_block'=>'string'], + 'is_a' => ['bool', 'object_or_class'=>'mixed', 'class'=>'string', 'allow_string='=>'bool'], + 'is_array' => ['bool', 'value'=>'mixed'], + 'is_bool' => ['bool', 'value'=>'mixed'], + 'is_callable' => ['bool', 'value'=>'callable|mixed', 'syntax_only='=>'bool', '&w_callable_name='=>'string'], + 'is_dir' => ['bool', 'filename'=>'string'], + 'is_double' => ['bool', 'value'=>'mixed'], + 'is_executable' => ['bool', 'filename'=>'string'], + 'is_file' => ['bool', 'filename'=>'string'], + 'is_finite' => ['bool', 'num'=>'float'], + 'is_float' => ['bool', 'value'=>'mixed'], + 'is_infinite' => ['bool', 'num'=>'float'], + 'is_int' => ['bool', 'value'=>'mixed'], + 'is_integer' => ['bool', 'value'=>'mixed'], + 'is_link' => ['bool', 'filename'=>'string'], + 'is_long' => ['bool', 'value'=>'mixed'], + 'is_nan' => ['bool', 'num'=>'float'], + 'is_null' => ['bool', 'value'=>'mixed'], + 'is_numeric' => ['bool', 'value'=>'mixed'], + 'is_object' => ['bool', 'value'=>'mixed'], + 'is_readable' => ['bool', 'filename'=>'string'], + 'is_real' => ['bool', 'value'=>'mixed'], + 'is_resource' => ['bool', 'value'=>'mixed'], + 'is_scalar' => ['bool', 'value'=>'mixed'], + 'is_soap_fault' => ['bool', 'object'=>'mixed'], + 'is_string' => ['bool', 'value'=>'mixed'], + 'is_subclass_of' => ['bool', 'object_or_class'=>'object|string', 'class'=>'class-string', 'allow_string='=>'bool'], + 'is_tainted' => ['bool', 'string'=>'string'], + 'is_uploaded_file' => ['bool', 'filename'=>'string'], + 'is_writable' => ['bool', 'filename'=>'string'], + 'is_writeable' => ['bool', 'filename'=>'string'], + 'isset' => ['bool', 'value'=>'mixed', '...rest='=>'mixed'], + 'iterator_apply' => ['0|positive-int', 'iterator'=>'Traversable', 'callback'=>'callable(mixed):bool', 'args='=>'?array'], + 'iterator_count' => ['0|positive-int', 'iterator'=>'Traversable'], + 'iterator_to_array' => ['array', 'iterator'=>'Traversable', 'preserve_keys='=>'bool'], + 'java_last_exception_clear' => ['void'], + 'java_last_exception_get' => ['object'], + 'java_reload' => ['array', 'new_jarpath'=>'string'], + 'java_require' => ['array', 'new_classpath'=>'string'], + 'java_set_encoding' => ['array', 'encoding'=>'string'], + 'java_set_ignore_case' => ['void', 'ignore'=>'bool'], + 'java_throw_exceptions' => ['void', 'throw'=>'bool'], + 'jddayofweek' => ['string|int', 'julian_day'=>'int', 'mode='=>'int'], + 'jdmonthname' => ['string', 'julian_day'=>'int', 'mode'=>'int'], + 'jdtofrench' => ['string', 'julian_day'=>'int'], + 'jdtogregorian' => ['string', 'julian_day'=>'int'], + 'jdtojewish' => ['string', 'julian_day'=>'int', 'hebrew='=>'bool', 'flags='=>'int'], + 'jdtojulian' => ['string', 'julian_day'=>'int'], + 'jdtounix' => ['int|false', 'julian_day'=>'int'], + 'jewishtojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], + 'jobqueue_license_info' => ['array'], + 'join' => ['string', 'separator'=>'string', 'array'=>'array'], + 'join\'1' => ['string', 'separator'=>'array'], + 'jpeg2wbmp' => ['bool', 'jpegname'=>'string', 'wbmpname'=>'string', 'dest_height'=>'int', 'dest_width'=>'int', 'threshold'=>'int'], + 'json_decode' => ['mixed', 'json'=>'string', 'associative='=>'bool', 'depth='=>'int', 'flags='=>'int'], + 'json_encode' => ['non-empty-string|false', 'value'=>'mixed', 'flags='=>'int', 'depth='=>'int'], + 'json_last_error' => ['int'], + 'json_last_error_msg' => ['string'], + 'judy_type' => ['int', 'array'=>'judy'], + 'judy_version' => ['string'], + 'juliantojd' => ['int', 'month'=>'int', 'day'=>'int', 'year'=>'int'], + 'kadm5_chpass_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string', 'password'=>'string'], + 'kadm5_create_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string', 'password='=>'string', 'options='=>'array'], + 'kadm5_delete_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string'], + 'kadm5_destroy' => ['bool', 'handle'=>'resource'], + 'kadm5_flush' => ['bool', 'handle'=>'resource'], + 'kadm5_get_policies' => ['array', 'handle'=>'resource'], + 'kadm5_get_principal' => ['array', 'handle'=>'resource', 'principal'=>'string'], + 'kadm5_get_principals' => ['array', 'handle'=>'resource'], + 'kadm5_init_with_password' => ['resource', 'admin_server'=>'string', 'realm'=>'string', 'principal'=>'string', 'password'=>'string'], + 'kadm5_modify_principal' => ['bool', 'handle'=>'resource', 'principal'=>'string', 'options'=>'array'], + 'key' => ['int|string|null', 'array'=>'array|object'], + 'key_exists' => ['bool', 'key'=>'string|int', 'array'=>'array'], + 'krsort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], + 'ksort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], + 'labelObj::__construct' => ['void'], + 'labelObj::convertToString' => ['string'], + 'labelObj::deleteStyle' => ['int', 'index'=>'int'], + 'labelObj::free' => ['void'], + 'labelObj::getBinding' => ['string', 'labelbinding'=>'mixed'], + 'labelObj::getExpressionString' => ['string'], + 'labelObj::getStyle' => ['styleObj', 'index'=>'int'], + 'labelObj::getTextString' => ['string'], + 'labelObj::moveStyleDown' => ['int', 'index'=>'int'], + 'labelObj::moveStyleUp' => ['int', 'index'=>'int'], + 'labelObj::removeBinding' => ['int', 'labelbinding'=>'mixed'], + 'labelObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'labelObj::setBinding' => ['int', 'labelbinding'=>'mixed', 'value'=>'string'], + 'labelObj::setExpression' => ['int', 'expression'=>'string'], + 'labelObj::setText' => ['int', 'text'=>'string'], + 'labelObj::updateFromString' => ['int', 'snippet'=>'string'], + 'labelcacheObj::freeCache' => ['bool'], + 'layerObj::addFeature' => ['int', 'shape'=>'shapeObj'], + 'layerObj::applySLD' => ['int', 'sldxml'=>'string', 'namedlayer'=>'string'], + 'layerObj::applySLDURL' => ['int', 'sldurl'=>'string', 'namedlayer'=>'string'], + 'layerObj::clearProcessing' => ['void'], + 'layerObj::close' => ['void'], + 'layerObj::convertToString' => ['string'], + 'layerObj::draw' => ['int', 'image'=>'imageObj'], + 'layerObj::drawQuery' => ['int', 'image'=>'imageObj'], + 'layerObj::free' => ['void'], + 'layerObj::generateSLD' => ['string'], + 'layerObj::getClass' => ['classObj', 'classIndex'=>'int'], + 'layerObj::getClassIndex' => ['int', 'shape'=>'', 'classgroup'=>'', 'numclasses'=>''], + 'layerObj::getExtent' => ['rectObj'], + 'layerObj::getFilterString' => ['?string'], + 'layerObj::getGridIntersectionCoordinates' => ['array'], + 'layerObj::getItems' => ['array'], + 'layerObj::getMetaData' => ['int', 'name'=>'string'], + 'layerObj::getNumResults' => ['int'], + 'layerObj::getProcessing' => ['array'], + 'layerObj::getProjection' => ['string'], + 'layerObj::getResult' => ['resultObj', 'index'=>'int'], + 'layerObj::getResultsBounds' => ['rectObj'], + 'layerObj::getShape' => ['shapeObj', 'result'=>'resultObj'], + 'layerObj::getWMSFeatureInfoURL' => ['string', 'clickX'=>'int', 'clickY'=>'int', 'featureCount'=>'int', 'infoFormat'=>'string'], + 'layerObj::isVisible' => ['bool'], + 'layerObj::moveclassdown' => ['int', 'index'=>'int'], + 'layerObj::moveclassup' => ['int', 'index'=>'int'], + 'layerObj::ms_newLayerObj' => ['layerObj', 'map'=>'mapObj', 'layer'=>'layerObj'], + 'layerObj::nextShape' => ['shapeObj'], + 'layerObj::open' => ['int'], + 'layerObj::queryByAttributes' => ['int', 'qitem'=>'string', 'qstring'=>'string', 'mode'=>'int'], + 'layerObj::queryByFeatures' => ['int', 'slayer'=>'int'], + 'layerObj::queryByPoint' => ['int', 'point'=>'pointObj', 'mode'=>'int', 'buffer'=>'float'], + 'layerObj::queryByRect' => ['int', 'rect'=>'rectObj'], + 'layerObj::queryByShape' => ['int', 'shape'=>'shapeObj'], + 'layerObj::removeClass' => ['?classObj', 'index'=>'int'], + 'layerObj::removeMetaData' => ['int', 'name'=>'string'], + 'layerObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'layerObj::setConnectionType' => ['int', 'connectiontype'=>'int', 'plugin_library'=>'string'], + 'layerObj::setFilter' => ['int', 'expression'=>'string'], + 'layerObj::setMetaData' => ['int', 'name'=>'string', 'value'=>'string'], + 'layerObj::setProjection' => ['int', 'proj_params'=>'string'], + 'layerObj::setWKTProjection' => ['int', 'proj_params'=>'string'], + 'layerObj::updateFromString' => ['int', 'snippet'=>'string'], + 'lcfirst' => ['string', 'string'=>'string'], + 'lcg_value' => ['float'], + 'lchgrp' => ['bool', 'filename'=>'string', 'group'=>'string|int'], + 'lchown' => ['bool', 'filename'=>'string', 'user'=>'string|int'], + 'ldap_8859_to_t61' => ['string', 'value'=>'string'], + 'ldap_add' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'ldap_add_ext' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'ldap_bind' => ['bool', 'ldap'=>'resource', 'dn='=>'string|null', 'password='=>'string|null'], + 'ldap_bind_ext' => ['resource|false', 'ldap'=>'resource', 'dn='=>'string|null', 'password='=>'string|null', 'controls='=>'array'], + 'ldap_close' => ['bool', 'ldap'=>'resource'], + 'ldap_compare' => ['bool|int', 'ldap'=>'resource', 'dn'=>'string', 'attribute'=>'string', 'value'=>'string'], + 'ldap_connect' => ['resource|false', 'uri='=>'?string', 'port='=>'int', 'wallet='=>'string', 'password='=>'string', 'auth_mode='=>'int'], + 'ldap_control_paged_result' => ['bool', 'link_identifier'=>'resource', 'pagesize'=>'int', 'iscritical='=>'bool', 'cookie='=>'string'], + 'ldap_control_paged_result_response' => ['bool', 'link_identifier'=>'resource', 'result_identifier'=>'resource', '&w_cookie'=>'string', '&w_estimated'=>'int'], + 'ldap_count_entries' => ['int', 'ldap'=>'resource', 'result'=>'resource'], + 'ldap_delete' => ['bool', 'ldap'=>'resource', 'dn'=>'string'], + 'ldap_delete_ext' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'controls='=>'array'], + 'ldap_dn2ufn' => ['string', 'dn'=>'string'], + 'ldap_err2str' => ['string', 'errno'=>'int'], + 'ldap_errno' => ['int', 'ldap'=>'resource'], + 'ldap_error' => ['string', 'ldap'=>'resource'], + 'ldap_escape' => ['string', 'value'=>'string', 'ignore='=>'string', 'flags='=>'int'], + 'ldap_explode_dn' => ['array|false', 'dn'=>'string', 'with_attrib'=>'int'], + 'ldap_first_attribute' => ['string|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'ldap_first_entry' => ['resource|false', 'ldap'=>'resource', 'result'=>'resource'], + 'ldap_first_reference' => ['resource|false', 'ldap'=>'resource', 'result'=>'resource'], + 'ldap_free_result' => ['bool', 'ldap'=>'resource'], + 'ldap_get_attributes' => ['array', 'ldap'=>'resource', 'entry'=>'resource'], + 'ldap_get_dn' => ['string|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'ldap_get_entries' => ['array|false', 'ldap'=>'resource', 'result'=>'resource'], + 'ldap_get_option' => ['bool', 'ldap'=>'resource', 'option'=>'int', '&w_value='=>'array|string|int'], + 'ldap_get_values' => ['array|false', 'ldap'=>'resource', 'entry'=>'resource', 'attribute'=>'string'], + 'ldap_get_values_len' => ['array|false', 'ldap'=>'resource', 'entry'=>'resource', 'attribute'=>'string'], + 'ldap_list' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int'], + 'ldap_mod_add' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'ldap_mod_add_ext' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'ldap_mod_del' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'ldap_mod_del_ext' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'ldap_mod_replace' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'ldap_mod_replace_ext' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array', 'controls='=>'array'], + 'ldap_modify' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'entry'=>'array'], + 'ldap_modify_batch' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'modifications_info'=>'array'], + 'ldap_next_attribute' => ['string|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'ldap_next_entry' => ['resource|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'ldap_next_reference' => ['resource|false', 'ldap'=>'resource', 'entry'=>'resource'], + 'ldap_parse_reference' => ['bool', 'ldap'=>'resource', 'entry'=>'resource', '&w_referrals'=>'array'], + 'ldap_parse_result' => ['bool', 'ldap'=>'resource', 'result'=>'resource', '&w_error_code'=>'int', '&w_matched_dn='=>'string', '&w_error_message='=>'string', '&w_referrals='=>'array', '&w_controls='=>'array'], + 'ldap_read' => ['resource|false', 'ldap'=>'resource|array', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int'], + 'ldap_rename' => ['bool', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool'], + 'ldap_rename_ext' => ['resource|false', 'ldap'=>'resource', 'dn'=>'string', 'new_rdn'=>'string', 'new_parent'=>'string', 'delete_old_rdn'=>'bool', 'controls='=>'array'], + 'ldap_sasl_bind' => ['bool', 'ldap'=>'resource', 'dn='=>'string', 'password='=>'string', 'mech='=>'string', 'realm='=>'string', 'authc_id='=>'string', 'authz_id='=>'string', 'props='=>'string'], + 'ldap_search' => ['resource|false', 'ldap'=>'resource|resource[]', 'base'=>'string', 'filter'=>'string', 'attributes='=>'array', 'attributes_only='=>'int', 'sizelimit='=>'int', 'timelimit='=>'int', 'deref='=>'int'], + 'ldap_set_option' => ['bool', 'ldap'=>'resource|null', 'option'=>'int', 'value'=>'mixed'], + 'ldap_set_rebind_proc' => ['bool', 'ldap'=>'resource', 'callback'=>'callable'], + 'ldap_sort' => ['bool', 'link_identifier'=>'resource', 'result_identifier'=>'resource', 'sortfilter'=>'string'], + 'ldap_start_tls' => ['bool', 'ldap'=>'resource'], + 'ldap_t61_to_8859' => ['string', 'value'=>'string'], + 'ldap_unbind' => ['bool', 'ldap'=>'resource'], + 'leak' => ['', 'num_bytes'=>'int'], + 'leak_variable' => ['', 'variable'=>'', 'leak_data'=>'bool'], + 'legendObj::convertToString' => ['string'], + 'legendObj::free' => ['void'], + 'legendObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'legendObj::updateFromString' => ['int', 'snippet'=>'string'], + 'levenshtein' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'levenshtein\'1' => ['int', 'string1'=>'string', 'string2'=>'string', 'insertion_cost'=>'int', 'repetition_cost'=>'int', 'deletion_cost'=>'int'], + 'libxml_clear_errors' => ['void'], + 'libxml_disable_entity_loader' => ['bool', 'disable='=>'bool'], + 'libxml_get_errors' => ['list'], + 'libxml_get_last_error' => ['LibXMLError|false'], + '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'], + 'lineObj::add' => ['int', 'point'=>'pointObj'], + 'lineObj::addXY' => ['int', 'x'=>'float', 'y'=>'float', 'm'=>'float'], + 'lineObj::addXYZ' => ['int', 'x'=>'float', 'y'=>'float', 'z'=>'float', 'm'=>'float'], + 'lineObj::ms_newLineObj' => ['lineObj'], + 'lineObj::point' => ['pointObj', 'i'=>'int'], + 'lineObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], + 'link' => ['bool', 'target'=>'string', 'link'=>'string'], + 'linkinfo' => ['int|false', 'path'=>'string'], + 'litespeed_request_headers' => ['array'], + 'litespeed_response_headers' => ['array'], + 'locale_accept_from_http' => ['string|false', 'header'=>'string'], + 'locale_canonicalize' => ['?string', 'locale'=>'string'], + 'locale_compose' => ['string|false', 'subtags'=>'array'], + 'locale_filter_matches' => ['?bool', 'languageTag'=>'string', 'locale'=>'string', 'canonicalize='=>'bool'], + 'locale_get_all_variants' => ['?array', 'locale'=>'string'], + 'locale_get_default' => ['string'], + 'locale_get_display_language' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'locale_get_display_name' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'locale_get_display_region' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'locale_get_display_script' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'locale_get_display_variant' => ['string', 'locale'=>'string', 'displayLocale='=>'string'], + 'locale_get_keywords' => ['array|false|null', 'locale'=>'string'], + 'locale_get_primary_language' => ['?string', 'locale'=>'string'], + 'locale_get_region' => ['?string', 'locale'=>'string'], + 'locale_get_script' => ['?string', 'locale'=>'string'], + 'locale_lookup' => ['?string', 'languageTag'=>'array', 'locale'=>'string', 'canonicalize='=>'bool', 'defaultLocale='=>'string'], + 'locale_parse' => ['?array', 'locale'=>'string'], + 'locale_set_default' => ['bool', 'locale'=>'string'], + 'localeconv' => ['array'], + 'localtime' => ['array', 'timestamp='=>'int', 'associative='=>'bool'], + 'log' => ['float', 'num'=>'float', 'base='=>'float'], + 'log10' => ['float', 'num'=>'float'], + 'log1p' => ['float', 'num'=>'float'], + 'long2ip' => ['string', 'ip'=>'int'], + 'lstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'filename'=>'string'], + 'ltrim' => ['string', 'string'=>'string', 'characters='=>'string'], + 'lzf_compress' => ['string', 'data'=>'string'], + 'lzf_decompress' => ['string', 'data'=>'string'], + 'lzf_optimized_for' => ['int'], + 'magic_quotes_runtime' => ['bool', 'new_setting'=>'bool'], + 'mail' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string|array', 'additional_params='=>'string'], + 'mailparse_determine_best_xfer_encoding' => ['string', 'fp'=>'resource'], + 'mailparse_msg_create' => ['resource'], + 'mailparse_msg_extract_part' => ['void', 'mimemail'=>'resource', 'msgbody'=>'string', 'callbackfunc='=>'callable'], + 'mailparse_msg_extract_part_file' => ['string', 'mimemail'=>'resource', 'filename'=>'mixed', 'callbackfunc='=>'callable'], + 'mailparse_msg_extract_whole_part_file' => ['string', 'mimemail'=>'resource', 'filename'=>'string', 'callbackfunc='=>'callable'], + 'mailparse_msg_free' => ['bool', 'mimemail'=>'resource'], + 'mailparse_msg_get_part' => ['resource', 'mimemail'=>'resource', 'mimesection'=>'string'], + 'mailparse_msg_get_part_data' => ['array', 'mimemail'=>'resource'], + 'mailparse_msg_get_structure' => ['array', 'mimemail'=>'resource'], + 'mailparse_msg_parse' => ['bool', 'mimemail'=>'resource', 'data'=>'string'], + 'mailparse_msg_parse_file' => ['resource|false', 'filename'=>'string'], + 'mailparse_rfc822_parse_addresses' => ['array', 'addresses'=>'string'], + 'mailparse_stream_encode' => ['bool', 'sourcefp'=>'resource', 'destfp'=>'resource', 'encoding'=>'string'], + 'mailparse_uudecode_all' => ['array', 'fp'=>'resource'], + 'mapObj::__construct' => ['void', 'map_file_name'=>'string', 'new_map_path'=>'string'], + 'mapObj::appendOutputFormat' => ['int', 'outputFormat'=>'outputformatObj'], + 'mapObj::applySLD' => ['int', 'sldxml'=>'string'], + 'mapObj::applySLDURL' => ['int', 'sldurl'=>'string'], + 'mapObj::applyconfigoptions' => ['int'], + 'mapObj::convertToString' => ['string'], + 'mapObj::draw' => ['?imageObj'], + 'mapObj::drawLabelCache' => ['int', 'image'=>'imageObj'], + 'mapObj::drawLegend' => ['imageObj'], + 'mapObj::drawQuery' => ['?imageObj'], + 'mapObj::drawReferenceMap' => ['imageObj'], + 'mapObj::drawScaleBar' => ['imageObj'], + 'mapObj::embedLegend' => ['int', 'image'=>'imageObj'], + 'mapObj::embedScalebar' => ['int', 'image'=>'imageObj'], + 'mapObj::free' => ['void'], + 'mapObj::generateSLD' => ['string'], + 'mapObj::getAllGroupNames' => ['array'], + 'mapObj::getAllLayerNames' => ['array'], + 'mapObj::getColorbyIndex' => ['colorObj', 'iCloIndex'=>'int'], + 'mapObj::getConfigOption' => ['string', 'key'=>'string'], + 'mapObj::getLabel' => ['labelcacheMemberObj', 'index'=>'int'], + 'mapObj::getLayer' => ['layerObj', 'index'=>'int'], + 'mapObj::getLayerByName' => ['layerObj', 'layer_name'=>'string'], + 'mapObj::getLayersDrawingOrder' => ['array'], + 'mapObj::getLayersIndexByGroup' => ['array', 'groupname'=>'string'], + 'mapObj::getMetaData' => ['int', 'name'=>'string'], + 'mapObj::getNumSymbols' => ['int'], + 'mapObj::getOutputFormat' => ['?outputformatObj', 'index'=>'int'], + 'mapObj::getProjection' => ['string'], + 'mapObj::getSymbolByName' => ['int', 'symbol_name'=>'string'], + 'mapObj::getSymbolObjectById' => ['symbolObj', 'symbolid'=>'int'], + 'mapObj::loadMapContext' => ['int', 'filename'=>'string', 'unique_layer_name'=>'bool'], + 'mapObj::loadOWSParameters' => ['int', 'request'=>'OwsrequestObj', 'version'=>'string'], + 'mapObj::moveLayerDown' => ['int', 'layerindex'=>'int'], + 'mapObj::moveLayerUp' => ['int', 'layerindex'=>'int'], + 'mapObj::ms_newMapObjFromString' => ['mapObj', 'map_file_string'=>'string', 'new_map_path'=>'string'], + 'mapObj::offsetExtent' => ['int', 'x'=>'float', 'y'=>'float'], + 'mapObj::owsDispatch' => ['int', 'request'=>'OwsrequestObj'], + 'mapObj::prepareImage' => ['imageObj'], + 'mapObj::prepareQuery' => ['void'], + 'mapObj::processLegendTemplate' => ['string', 'params'=>'array'], + 'mapObj::processQueryTemplate' => ['string', 'params'=>'array', 'generateimages'=>'bool'], + 'mapObj::processTemplate' => ['string', 'params'=>'array', 'generateimages'=>'bool'], + 'mapObj::queryByFeatures' => ['int', 'slayer'=>'int'], + 'mapObj::queryByIndex' => ['int', 'layerindex'=>'', 'tileindex'=>'', 'shapeindex'=>'', 'addtoquery'=>''], + 'mapObj::queryByPoint' => ['int', 'point'=>'pointObj', 'mode'=>'int', 'buffer'=>'float'], + 'mapObj::queryByRect' => ['int', 'rect'=>'rectObj'], + 'mapObj::queryByShape' => ['int', 'shape'=>'shapeObj'], + 'mapObj::removeLayer' => ['layerObj', 'nIndex'=>'int'], + 'mapObj::removeMetaData' => ['int', 'name'=>'string'], + 'mapObj::removeOutputFormat' => ['int', 'name'=>'string'], + 'mapObj::save' => ['int', 'filename'=>'string'], + 'mapObj::saveMapContext' => ['int', 'filename'=>'string'], + 'mapObj::saveQuery' => ['int', 'filename'=>'string', 'results'=>'int'], + 'mapObj::scaleExtent' => ['int', 'zoomfactor'=>'float', 'minscaledenom'=>'float', 'maxscaledenom'=>'float'], + 'mapObj::selectOutputFormat' => ['int', 'type'=>'string'], + 'mapObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'mapObj::setCenter' => ['int', 'center'=>'pointObj'], + 'mapObj::setConfigOption' => ['int', 'key'=>'string', 'value'=>'string'], + 'mapObj::setExtent' => ['void', 'minx'=>'float', 'miny'=>'float', 'maxx'=>'float', 'maxy'=>'float'], + 'mapObj::setFontSet' => ['int', 'fileName'=>'string'], + 'mapObj::setMetaData' => ['int', 'name'=>'string', 'value'=>'string'], + 'mapObj::setProjection' => ['int', 'proj_params'=>'string', 'bSetUnitsAndExtents'=>'bool'], + 'mapObj::setRotation' => ['int', 'rotation_angle'=>'float'], + 'mapObj::setSize' => ['int', 'width'=>'int', 'height'=>'int'], + 'mapObj::setSymbolSet' => ['int', 'fileName'=>'string'], + 'mapObj::setWKTProjection' => ['int', 'proj_params'=>'string', 'bSetUnitsAndExtents'=>'bool'], + 'mapObj::zoomPoint' => ['int', 'nZoomFactor'=>'int', 'oPixelPos'=>'pointObj', 'nImageWidth'=>'int', 'nImageHeight'=>'int', 'oGeorefExt'=>'rectObj'], + 'mapObj::zoomRectangle' => ['int', 'oPixelExt'=>'rectObj', 'nImageWidth'=>'int', 'nImageHeight'=>'int', 'oGeorefExt'=>'rectObj'], + 'mapObj::zoomScale' => ['int', 'nScaleDenom'=>'float', 'oPixelPos'=>'pointObj', 'nImageWidth'=>'int', 'nImageHeight'=>'int', 'oGeorefExt'=>'rectObj', 'oMaxGeorefExt'=>'rectObj'], + 'max' => ['mixed', 'value'=>'non-empty-array'], + 'max\'1' => ['mixed', 'value'=>'', 'values'=>'', '...args='=>''], + 'mb_check_encoding' => ['bool', 'value='=>'string', 'encoding='=>'string'], + 'mb_convert_case' => ['string', 'string'=>'string', 'mode'=>'int', 'encoding='=>'string'], + 'mb_convert_encoding' => ['string|false', 'string'=>'string', 'to_encoding'=>'string', 'from_encoding='=>'mixed'], + 'mb_convert_kana' => ['string', 'string'=>'string', 'mode='=>'string', 'encoding='=>'string'], + 'mb_convert_variables' => ['string|false', 'to_encoding'=>'string', 'from_encoding'=>'array|string', '&rw_var'=>'string|array|object', '&...rw_vars='=>'string|array|object'], + 'mb_decode_mimeheader' => ['string', 'string'=>'string'], + 'mb_decode_numericentity' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string'], + 'mb_detect_encoding' => ['string|false', 'string'=>'string', 'encodings='=>'mixed', 'strict='=>'bool'], + 'mb_detect_order' => ['bool|list', 'encoding='=>'mixed'], + 'mb_encode_mimeheader' => ['string', 'string'=>'string', 'charset='=>'string', 'transfer_encoding='=>'string', 'newline='=>'string', 'indent='=>'int'], + 'mb_encode_numericentity' => ['string', 'string'=>'string', 'map'=>'array', 'encoding='=>'string', 'hex='=>'bool'], + 'mb_encoding_aliases' => ['list|false', 'encoding'=>'string'], + 'mb_ereg' => ['int|false', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array|null'], + 'mb_ereg_match' => ['bool', 'pattern'=>'string', 'string'=>'string', 'options='=>'string'], + 'mb_ereg_replace' => ['string|false', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string'], + 'mb_ereg_replace_callback' => ['string|false|null', 'pattern'=>'string', 'callback'=>'callable', 'string'=>'string', 'options='=>'string'], + 'mb_ereg_search' => ['bool', 'pattern='=>'string', 'options='=>'string'], + 'mb_ereg_search_getpos' => ['int'], + 'mb_ereg_search_getregs' => ['string[]|false'], + 'mb_ereg_search_init' => ['bool', 'string'=>'string', 'pattern='=>'string', 'options='=>'string'], + 'mb_ereg_search_pos' => ['int[]|false', 'pattern='=>'string', 'options='=>'string'], + 'mb_ereg_search_regs' => ['string[]|false', 'pattern='=>'string', 'options='=>'string'], + 'mb_ereg_search_setpos' => ['bool', 'offset'=>'int'], + 'mb_eregi' => ['int|false', 'pattern'=>'string', 'string'=>'string', '&w_matches='=>'array'], + 'mb_eregi_replace' => ['string|false', 'pattern'=>'string', 'replacement'=>'string', 'string'=>'string', 'options='=>'string'], + 'mb_get_info' => ['array|string|int|false', 'type='=>'string'], + 'mb_http_input' => ['string|false', 'type='=>'string'], + 'mb_http_output' => ['string|bool', 'encoding='=>'string'], + 'mb_internal_encoding' => ['string|bool', 'encoding='=>'string'], + 'mb_language' => ['string|bool', 'language='=>'string'], + 'mb_list_encodings' => ['list'], + 'mb_output_handler' => ['string', 'string'=>'string', 'status'=>'int'], + 'mb_parse_str' => ['bool', 'string'=>'string', '&w_result='=>'array'], + 'mb_preferred_mime_name' => ['string|false', 'encoding'=>'string'], + 'mb_regex_encoding' => ['string|bool', 'encoding='=>'string'], + 'mb_regex_set_options' => ['string', 'options='=>'string'], + 'mb_send_mail' => ['bool', 'to'=>'string', 'subject'=>'string', 'message'=>'string', 'additional_headers='=>'string|array', 'additional_params='=>'string'], + 'mb_split' => ['list|false', 'pattern'=>'string', 'string'=>'string', 'limit='=>'int'], + 'mb_strcut' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string'], + 'mb_strimwidth' => ['string', 'string'=>'string', 'start'=>'int', 'width'=>'int', 'trim_marker='=>'string', 'encoding='=>'string'], + 'mb_stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'mb_stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'mb_strlen' => ['0|positive-int', 'string'=>'string', 'encoding='=>'string'], + 'mb_strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'mb_strrchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'mb_strrichr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'mb_strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'mb_strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'encoding='=>'string'], + 'mb_strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string', 'before_needle='=>'bool', 'encoding='=>'string'], + 'mb_strtolower' => ['lowercase-string', 'string'=>'string', 'encoding='=>'string'], + 'mb_strtoupper' => ['string', 'string'=>'string', 'encoding='=>'string'], + 'mb_strwidth' => ['int', 'string'=>'string', 'encoding='=>'string'], + 'mb_substitute_character' => ['bool|int|string', 'substitute_character='=>'mixed'], + 'mb_substr' => ['string', 'string'=>'string', 'start'=>'int', 'length='=>'?int', 'encoding='=>'string'], + 'mb_substr_count' => ['int', 'haystack'=>'string', 'needle'=>'string', 'encoding='=>'string'], + 'mcrypt_cbc' => ['string', 'cipher'=>'string|int', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], + 'mcrypt_cfb' => ['string', 'cipher'=>'string|int', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], + 'mcrypt_create_iv' => ['string|false', 'size'=>'int', 'source='=>'int'], + 'mcrypt_decrypt' => ['string', 'cipher'=>'string', 'key'=>'string', 'data'=>'string', 'mode'=>'string', 'iv='=>'string'], + 'mcrypt_ecb' => ['string', 'cipher'=>'string|int', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], + 'mcrypt_enc_get_algorithms_name' => ['string', 'td'=>'resource'], + 'mcrypt_enc_get_block_size' => ['int', 'td'=>'resource'], + 'mcrypt_enc_get_iv_size' => ['int', 'td'=>'resource'], + 'mcrypt_enc_get_key_size' => ['int', 'td'=>'resource'], + 'mcrypt_enc_get_modes_name' => ['string', 'td'=>'resource'], + 'mcrypt_enc_get_supported_key_sizes' => ['array', 'td'=>'resource'], + 'mcrypt_enc_is_block_algorithm' => ['bool', 'td'=>'resource'], + 'mcrypt_enc_is_block_algorithm_mode' => ['bool', 'td'=>'resource'], + 'mcrypt_enc_is_block_mode' => ['bool', 'td'=>'resource'], + 'mcrypt_enc_self_test' => ['int|false', 'td'=>'resource'], + 'mcrypt_encrypt' => ['string', 'cipher'=>'string', 'key'=>'string', 'data'=>'string', 'mode'=>'string', 'iv='=>'string'], + 'mcrypt_generic' => ['string', 'td'=>'resource', 'data'=>'string'], + 'mcrypt_generic_deinit' => ['bool', 'td'=>'resource'], + 'mcrypt_generic_end' => ['bool', 'td'=>'resource'], + 'mcrypt_generic_init' => ['int|false', 'td'=>'resource', 'key'=>'string', 'iv'=>'string'], + 'mcrypt_get_block_size' => ['int', 'cipher'=>'int|string', 'module'=>'string'], + 'mcrypt_get_cipher_name' => ['string|false', 'cipher'=>'int|string'], + 'mcrypt_get_iv_size' => ['int|false', 'cipher'=>'int|string', 'module'=>'string'], + 'mcrypt_get_key_size' => ['int', 'cipher'=>'int|string', 'module'=>'string'], + 'mcrypt_list_algorithms' => ['array', 'lib_dir='=>'string'], + 'mcrypt_list_modes' => ['array', 'lib_dir='=>'string'], + 'mcrypt_module_close' => ['bool', 'td'=>'resource'], + 'mcrypt_module_get_algo_block_size' => ['int', 'algorithm'=>'string', 'lib_dir='=>'string'], + 'mcrypt_module_get_algo_key_size' => ['int', 'algorithm'=>'string', 'lib_dir='=>'string'], + 'mcrypt_module_get_supported_key_sizes' => ['array', 'algorithm'=>'string', 'lib_dir='=>'string'], + 'mcrypt_module_is_block_algorithm' => ['bool', 'algorithm'=>'string', 'lib_dir='=>'string'], + 'mcrypt_module_is_block_algorithm_mode' => ['bool', 'mode'=>'string', 'lib_dir='=>'string'], + 'mcrypt_module_is_block_mode' => ['bool', 'mode'=>'string', 'lib_dir='=>'string'], + 'mcrypt_module_open' => ['resource|false', 'cipher'=>'string', 'cipher_directory'=>'string', 'mode'=>'string', 'mode_directory'=>'string'], + 'mcrypt_module_self_test' => ['bool', 'algorithm'=>'string', 'lib_dir='=>'string'], + 'mcrypt_ofb' => ['string', 'cipher'=>'int|string', 'key'=>'string', 'data'=>'string', 'mode'=>'int', 'iv='=>'string'], + 'md5' => ['non-falsy-string', 'string'=>'string', 'binary='=>'bool'], + 'md5_file' => ['non-falsy-string|false', 'filename'=>'string', 'binary='=>'bool'], + 'mdecrypt_generic' => ['string', 'td'=>'resource', 'data'=>'string'], + 'memcache_add' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'memcache_add_server' => ['bool', 'memcache_obj'=>'Memcache', 'host'=>'string', 'port='=>'int', 'persistent='=>'bool', 'weight='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable', 'timeoutms='=>'int'], + 'memcache_append' => ['', 'memcache_obj'=>'Memcache'], + 'memcache_cas' => ['', 'memcache_obj'=>'Memcache'], + 'memcache_close' => ['bool', 'memcache_obj'=>'Memcache'], + 'memcache_connect' => ['Memcache|false', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], + 'memcache_debug' => ['bool', 'on_off'=>'bool'], + 'memcache_decrement' => ['int', 'memcache_obj'=>'Memcache', 'key'=>'string', 'value='=>'int'], + 'memcache_delete' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'timeout='=>'int'], + 'memcache_flush' => ['bool', 'memcache_obj'=>'Memcache'], + 'memcache_get' => ['string', 'memcache_obj'=>'Memcache', 'key'=>'string', 'flags='=>'int'], + 'memcache_get\'1' => ['array', 'memcache_obj'=>'Memcache', 'key'=>'string[]', 'flags='=>'int[]'], + 'memcache_get_extended_stats' => ['array', 'memcache_obj'=>'Memcache', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], + 'memcache_get_server_status' => ['int', 'memcache_obj'=>'Memcache', 'host'=>'string', 'port='=>'int'], + 'memcache_get_stats' => ['array', 'memcache_obj'=>'Memcache', 'type='=>'string', 'slabid='=>'int', 'limit='=>'int'], + 'memcache_get_version' => ['string', 'memcache_obj'=>'Memcache'], + 'memcache_increment' => ['int', 'memcache_obj'=>'Memcache', 'key'=>'string', 'value='=>'int'], + 'memcache_pconnect' => ['Memcache|false', 'host'=>'string', 'port='=>'int', 'timeout='=>'int'], + 'memcache_prepend' => ['string', 'memcache_obj'=>'Memcache'], + 'memcache_replace' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'memcache_set' => ['bool', 'memcache_obj'=>'Memcache', 'key'=>'string', 'var'=>'mixed', 'flag='=>'int', 'expire='=>'int'], + 'memcache_set_compress_threshold' => ['bool', 'memcache_obj'=>'Memcache', 'threshold'=>'int', 'min_savings='=>'float'], + 'memcache_set_failure_callback' => ['', 'memcache_obj'=>'Memcache'], + 'memcache_set_server_params' => ['bool', 'memcache_obj'=>'Memcache', 'host'=>'string', 'port='=>'int', 'timeout='=>'int', 'retry_interval='=>'int', 'status='=>'bool', 'failure_callback='=>'callable'], + 'memory_get_peak_usage' => ['int', 'real_usage='=>'bool'], + 'memory_get_usage' => ['int', 'real_usage='=>'bool'], + 'metaphone' => ['string|false', 'string'=>'string', 'max_phonemes='=>'int'], + 'method_exists' => ['bool', 'object_or_class'=>'object|class-string|interface-string|enum-string', 'method'=>'string'], + 'mhash' => ['string', 'algo'=>'int', 'data'=>'string', 'key='=>'string'], + 'mhash_count' => ['int'], + 'mhash_get_block_size' => ['int|false', 'algo'=>'int'], + 'mhash_get_hash_name' => ['string|false', 'algo'=>'int'], + 'mhash_keygen_s2k' => ['string|false', 'algo'=>'int', 'password'=>'string', 'salt'=>'string', 'length'=>'int'], + 'microtime' => ['string', 'as_float='=>'false'], + 'microtime\'1' => ['float', 'as_float='=>'true'], + 'mime_content_type' => ['string|false', 'filename'=>'string|resource'], + 'min' => ['mixed', 'value'=>'non-empty-array'], + 'min\'1' => ['mixed', 'value'=>'', 'values'=>'', '...args='=>''], + 'ming_keypress' => ['int', 'char'=>'string'], + 'ming_setcubicthreshold' => ['void', 'threshold'=>'int'], + 'ming_setscale' => ['void', 'scale'=>'float'], + 'ming_setswfcompression' => ['void', 'level'=>'int'], + 'ming_useconstants' => ['void', 'use'=>'int'], + 'ming_useswfversion' => ['void', 'version'=>'int'], + 'mkdir' => ['bool', 'directory'=>'string', 'permissions='=>'int', 'recursive='=>'bool', 'context='=>'resource'], + 'mktime' => ['int|false', 'hour='=>'int', 'minute='=>'int', 'second='=>'int', 'month='=>'int', 'day='=>'int', 'year='=>'int'], + 'money_format' => ['string', 'format'=>'string', 'value'=>'float'], + 'monitor_custom_event' => ['void', 'class'=>'string', 'text'=>'string', 'severe='=>'int', 'user_data='=>'mixed'], + 'monitor_httperror_event' => ['void', 'error_code'=>'int', 'url'=>'string', 'severe='=>'int'], + 'monitor_license_info' => ['array'], + 'monitor_pass_error' => ['void', 'errno'=>'int', 'errstr'=>'string', 'errfile'=>'string', 'errline'=>'int'], + 'monitor_set_aggregation_hint' => ['void', 'hint'=>'string'], + 'move_uploaded_file' => ['bool', 'from'=>'string', 'to'=>'string'], + 'mqseries_back' => ['void', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_begin' => ['void', 'hconn'=>'resource', 'beginoptions'=>'array', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_close' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'options'=>'int', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_cmit' => ['void', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_conn' => ['void', 'qmanagername'=>'string', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_connx' => ['void', 'qmanagername'=>'string', 'connoptions'=>'array', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_disc' => ['void', 'hconn'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_get' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'md'=>'array', 'gmo'=>'array', 'bufferlength'=>'int', 'msg'=>'string', 'data_length'=>'int', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_inq' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'selectorcount'=>'int', 'selectors'=>'array', 'intattrcount'=>'int', 'intattr'=>'resource', 'charattrlength'=>'int', 'charattr'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_open' => ['void', 'hconn'=>'resource', 'objdesc'=>'array', 'option'=>'int', 'hobj'=>'resource', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_put' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'md'=>'array', 'pmo'=>'array', 'message'=>'string', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_put1' => ['void', 'hconn'=>'resource', 'objdesc'=>'resource', 'msgdesc'=>'resource', 'pmo'=>'resource', 'buffer'=>'string', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_set' => ['void', 'hconn'=>'resource', 'hobj'=>'resource', 'selectorcount'=>'int', 'selectors'=>'array', 'intattrcount'=>'int', 'intattrs'=>'array', 'charattrlength'=>'int', 'charattrs'=>'array', 'compcode'=>'resource', 'reason'=>'resource'], + 'mqseries_strerror' => ['string', 'reason'=>'int'], + 'ms_GetErrorObj' => ['errorObj'], + 'ms_GetVersion' => ['string'], + 'ms_GetVersionInt' => ['int'], + 'ms_ResetErrorList' => ['void'], + 'ms_TokenizeMap' => ['array', 'map_file_name'=>'string'], + 'ms_iogetStdoutBufferBytes' => ['int'], + 'ms_iogetstdoutbufferstring' => ['void'], + 'ms_ioinstallstdinfrombuffer' => ['void'], + 'ms_ioinstallstdouttobuffer' => ['void'], + 'ms_ioresethandlers' => ['void'], + 'ms_iostripstdoutbuffercontentheaders' => ['void'], + 'ms_iostripstdoutbuffercontenttype' => ['string'], + 'msession_connect' => ['bool', 'host'=>'string', 'port'=>'string'], + 'msession_count' => ['int'], + 'msession_create' => ['bool', 'session'=>'string', 'classname='=>'string', 'data='=>'string'], + 'msession_destroy' => ['bool', 'name'=>'string'], + 'msession_disconnect' => ['void'], + 'msession_find' => ['array', 'name'=>'string', 'value'=>'string'], + 'msession_get' => ['string', 'session'=>'string', 'name'=>'string', 'value'=>'string'], + 'msession_get_array' => ['array', 'session'=>'string'], + 'msession_get_data' => ['string', 'session'=>'string'], + 'msession_inc' => ['string', 'session'=>'string', 'name'=>'string'], + 'msession_list' => ['array'], + 'msession_listvar' => ['array', 'name'=>'string'], + 'msession_lock' => ['int', 'name'=>'string'], + 'msession_plugin' => ['string', 'session'=>'string', 'value'=>'string', 'param='=>'string'], + 'msession_randstr' => ['string', 'param'=>'int'], + 'msession_set' => ['bool', 'session'=>'string', 'name'=>'string', 'value'=>'string'], + 'msession_set_array' => ['void', 'session'=>'string', 'tuples'=>'array'], + 'msession_set_data' => ['bool', 'session'=>'string', 'value'=>'string'], + 'msession_timeout' => ['int', 'session'=>'string', 'param='=>'int'], + 'msession_uniq' => ['string', 'param'=>'int', 'classname='=>'string', 'data='=>'string'], + 'msession_unlock' => ['int', 'session'=>'string', 'key'=>'int'], + 'msg_get_queue' => ['resource|false', 'key'=>'int', 'permissions='=>'int'], + 'msg_queue_exists' => ['bool', 'key'=>'int'], + 'msg_receive' => ['bool', 'queue'=>'resource', 'desired_message_type'=>'int', '&w_received_message_type'=>'int', 'max_message_size'=>'int', '&w_message'=>'mixed', 'unserialize='=>'bool', 'flags='=>'int', '&w_error_code='=>'int'], + 'msg_remove_queue' => ['bool', 'queue'=>'resource'], + 'msg_send' => ['bool', 'queue'=>'resource', 'message_type'=>'int', 'message'=>'mixed', 'serialize='=>'bool', 'blocking='=>'bool', '&w_error_code='=>'int'], + 'msg_set_queue' => ['bool', 'queue'=>'resource', 'data'=>'array'], + 'msg_stat_queue' => ['array', 'queue'=>'resource'], + 'msgfmt_create' => ['?MessageFormatter', 'locale'=>'string', 'pattern'=>'string'], + 'msgfmt_format' => ['string|false', 'formatter'=>'MessageFormatter', 'values'=>'array'], + 'msgfmt_format_message' => ['string|false', 'locale'=>'string', 'pattern'=>'string', 'values'=>'array'], + 'msgfmt_get_error_code' => ['int', 'formatter'=>'MessageFormatter'], + 'msgfmt_get_error_message' => ['string', 'formatter'=>'MessageFormatter'], + 'msgfmt_get_locale' => ['string', 'formatter'=>'MessageFormatter'], + 'msgfmt_get_pattern' => ['string', 'formatter'=>'MessageFormatter'], + 'msgfmt_parse' => ['array|false', 'formatter'=>'MessageFormatter', 'string'=>'string'], + 'msgfmt_parse_message' => ['array|false', 'locale'=>'string', 'pattern'=>'string', 'message'=>'string'], + 'msgfmt_set_pattern' => ['bool', 'formatter'=>'MessageFormatter', 'pattern'=>'string'], + 'msql_affected_rows' => ['int', 'result'=>'resource'], + 'msql_close' => ['bool', 'link_identifier='=>'?resource'], + 'msql_connect' => ['resource', 'hostname='=>'string'], + 'msql_create_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], + 'msql_data_seek' => ['bool', 'result'=>'resource', 'row_number'=>'int'], + 'msql_db_query' => ['resource', 'database'=>'string', 'query'=>'string', 'link_identifier='=>'?resource'], + 'msql_drop_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], + 'msql_error' => ['string'], + 'msql_fetch_array' => ['array', 'result'=>'resource', 'result_type='=>'int'], + 'msql_fetch_field' => ['object', 'result'=>'resource', 'field_offset='=>'int'], + 'msql_fetch_object' => ['object', 'result'=>'resource'], + 'msql_fetch_row' => ['array', 'result'=>'resource'], + 'msql_field_flags' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'msql_field_len' => ['int', 'result'=>'resource', 'field_offset'=>'int'], + 'msql_field_name' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'msql_field_seek' => ['bool', 'result'=>'resource', 'field_offset'=>'int'], + 'msql_field_table' => ['int', 'result'=>'resource', 'field_offset'=>'int'], + 'msql_field_type' => ['string', 'result'=>'resource', 'field_offset'=>'int'], + 'msql_free_result' => ['bool', 'result'=>'resource'], + 'msql_list_dbs' => ['resource', 'link_identifier='=>'?resource'], + 'msql_list_fields' => ['resource', 'database'=>'string', 'tablename'=>'string', 'link_identifier='=>'?resource'], + 'msql_list_tables' => ['resource', 'database'=>'string', 'link_identifier='=>'?resource'], + 'msql_num_fields' => ['int', 'result'=>'resource'], + 'msql_num_rows' => ['int', 'query_identifier'=>'resource'], + 'msql_pconnect' => ['resource', 'hostname='=>'string'], + 'msql_query' => ['resource', 'query'=>'string', 'link_identifier='=>'?resource'], + 'msql_result' => ['string', 'result'=>'resource', 'row'=>'int', 'field='=>'mixed'], + 'msql_select_db' => ['bool', 'database_name'=>'string', 'link_identifier='=>'?resource'], + 'mt_getrandmax' => ['int'], + 'mt_rand' => ['int', 'min'=>'int', 'max'=>'int'], + 'mt_rand\'1' => ['int'], + 'mt_srand' => ['void', 'seed='=>'int', 'mode='=>'int'], + 'mysql_xdevapi\baseresult::getWarnings' => ['array'], + 'mysql_xdevapi\baseresult::getWarningsCount' => ['integer'], + 'mysql_xdevapi\collection::add' => ['mysql_xdevapi\CollectionAdd', 'document'=>'mixed'], + 'mysql_xdevapi\collection::addOrReplaceOne' => ['mysql_xdevapi\Result', 'id'=>'string', 'doc'=>'string'], + 'mysql_xdevapi\collection::count' => ['integer'], + 'mysql_xdevapi\collection::createIndex' => ['void', 'index_name'=>'string', 'index_desc_json'=>'string'], + 'mysql_xdevapi\collection::dropIndex' => ['bool', 'index_name'=>'string'], + 'mysql_xdevapi\collection::existsInDatabase' => ['bool'], + 'mysql_xdevapi\collection::find' => ['mysql_xdevapi\CollectionFind', 'search_condition='=>'string'], + 'mysql_xdevapi\collection::getName' => ['string'], + 'mysql_xdevapi\collection::getOne' => ['Document', 'id'=>'string'], + 'mysql_xdevapi\collection::getSchema' => ['mysql_xdevapi\schema'], + 'mysql_xdevapi\collection::getSession' => ['Session'], + 'mysql_xdevapi\collection::modify' => ['mysql_xdevapi\CollectionModify', 'search_condition'=>'string'], + 'mysql_xdevapi\collection::remove' => ['mysql_xdevapi\CollectionRemove', 'search_condition'=>'string'], + 'mysql_xdevapi\collection::removeOne' => ['mysql_xdevapi\Result', 'id'=>'string'], + 'mysql_xdevapi\collection::replaceOne' => ['mysql_xdevapi\Result', 'id'=>'string', 'doc'=>'string'], + 'mysql_xdevapi\collectionadd::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\collectionfind::bind' => ['mysql_xdevapi\CollectionFind', 'placeholder_values'=>'array'], + 'mysql_xdevapi\collectionfind::execute' => ['mysql_xdevapi\DocResult'], + 'mysql_xdevapi\collectionfind::fields' => ['mysql_xdevapi\CollectionFind', 'projection'=>'string'], + 'mysql_xdevapi\collectionfind::groupBy' => ['mysql_xdevapi\CollectionFind', 'sort_expr'=>'string'], + 'mysql_xdevapi\collectionfind::having' => ['mysql_xdevapi\CollectionFind', 'sort_expr'=>'string'], + 'mysql_xdevapi\collectionfind::limit' => ['mysql_xdevapi\CollectionFind', 'rows'=>'integer'], + 'mysql_xdevapi\collectionfind::lockExclusive' => ['mysql_xdevapi\CollectionFind', 'lock_waiting_option='=>'integer'], + 'mysql_xdevapi\collectionfind::lockShared' => ['mysql_xdevapi\CollectionFind', 'lock_waiting_option='=>'integer'], + 'mysql_xdevapi\collectionfind::offset' => ['mysql_xdevapi\CollectionFind', 'position'=>'integer'], + 'mysql_xdevapi\collectionfind::sort' => ['mysql_xdevapi\CollectionFind', 'sort_expr'=>'string'], + 'mysql_xdevapi\collectionmodify::arrayAppend' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], + 'mysql_xdevapi\collectionmodify::arrayInsert' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], + 'mysql_xdevapi\collectionmodify::bind' => ['mysql_xdevapi\CollectionModify', 'placeholder_values'=>'array'], + 'mysql_xdevapi\collectionmodify::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\collectionmodify::limit' => ['mysql_xdevapi\CollectionModify', 'rows'=>'integer'], + 'mysql_xdevapi\collectionmodify::patch' => ['mysql_xdevapi\CollectionModify', 'document'=>'string'], + 'mysql_xdevapi\collectionmodify::replace' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], + 'mysql_xdevapi\collectionmodify::set' => ['mysql_xdevapi\CollectionModify', 'collection_field'=>'string', 'expression_or_literal'=>'string'], + 'mysql_xdevapi\collectionmodify::skip' => ['mysql_xdevapi\CollectionModify', 'position'=>'integer'], + 'mysql_xdevapi\collectionmodify::sort' => ['mysql_xdevapi\CollectionModify', 'sort_expr'=>'string'], + 'mysql_xdevapi\collectionmodify::unset' => ['mysql_xdevapi\CollectionModify', 'fields'=>'array'], + 'mysql_xdevapi\collectionremove::bind' => ['mysql_xdevapi\CollectionRemove', 'placeholder_values'=>'array'], + 'mysql_xdevapi\collectionremove::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\collectionremove::limit' => ['mysql_xdevapi\CollectionRemove', 'rows'=>'integer'], + 'mysql_xdevapi\collectionremove::sort' => ['mysql_xdevapi\CollectionRemove', 'sort_expr'=>'string'], + 'mysql_xdevapi\columnresult::getCharacterSetName' => ['string'], + 'mysql_xdevapi\columnresult::getCollationName' => ['string'], + 'mysql_xdevapi\columnresult::getColumnLabel' => ['string'], + 'mysql_xdevapi\columnresult::getColumnName' => ['string'], + 'mysql_xdevapi\columnresult::getFractionalDigits' => ['integer'], + 'mysql_xdevapi\columnresult::getLength' => ['integer'], + 'mysql_xdevapi\columnresult::getSchemaName' => ['string'], + 'mysql_xdevapi\columnresult::getTableLabel' => ['string'], + 'mysql_xdevapi\columnresult::getTableName' => ['string'], + 'mysql_xdevapi\columnresult::getType' => ['integer'], + 'mysql_xdevapi\columnresult::isNumberSigned' => ['integer'], + 'mysql_xdevapi\columnresult::isPadded' => ['integer'], + 'mysql_xdevapi\crudoperationbindable::bind' => ['mysql_xdevapi\CrudOperationBindable', 'placeholder_values'=>'array'], + 'mysql_xdevapi\crudoperationlimitable::limit' => ['mysql_xdevapi\CrudOperationLimitable', 'rows'=>'integer'], + 'mysql_xdevapi\crudoperationskippable::skip' => ['mysql_xdevapi\CrudOperationSkippable', 'skip'=>'integer'], + 'mysql_xdevapi\crudoperationsortable::sort' => ['mysql_xdevapi\CrudOperationSortable', 'sort_expr'=>'string'], + 'mysql_xdevapi\databaseobject::existsInDatabase' => ['bool'], + 'mysql_xdevapi\databaseobject::getName' => ['string'], + 'mysql_xdevapi\databaseobject::getSession' => ['mysql_xdevapi\Session'], + 'mysql_xdevapi\docresult::fetchAll' => ['Array'], + 'mysql_xdevapi\docresult::fetchOne' => ['Object'], + 'mysql_xdevapi\docresult::getWarnings' => ['Array'], + 'mysql_xdevapi\docresult::getWarningsCount' => ['integer'], + 'mysql_xdevapi\executable::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\getsession' => ['mysql_xdevapi\Session', 'uri'=>'string'], + 'mysql_xdevapi\result::getAutoIncrementValue' => ['int'], + 'mysql_xdevapi\result::getGeneratedIds' => ['ArrayOfInt'], + 'mysql_xdevapi\result::getWarnings' => ['array'], + 'mysql_xdevapi\result::getWarningsCount' => ['integer'], + 'mysql_xdevapi\rowresult::fetchAll' => ['array'], + 'mysql_xdevapi\rowresult::fetchOne' => ['object'], + 'mysql_xdevapi\rowresult::getColumnCount' => ['integer'], + 'mysql_xdevapi\rowresult::getColumnNames' => ['array'], + 'mysql_xdevapi\rowresult::getColumns' => ['array'], + 'mysql_xdevapi\rowresult::getWarnings' => ['array'], + 'mysql_xdevapi\rowresult::getWarningsCount' => ['integer'], + 'mysql_xdevapi\schema::createCollection' => ['mysql_xdevapi\Collection', 'name'=>'string'], + 'mysql_xdevapi\schema::dropCollection' => ['bool', 'collection_name'=>'string'], + 'mysql_xdevapi\schema::existsInDatabase' => ['bool'], + 'mysql_xdevapi\schema::getCollection' => ['mysql_xdevapi\Collection', 'name'=>'string'], + 'mysql_xdevapi\schema::getCollectionAsTable' => ['mysql_xdevapi\Table', 'name'=>'string'], + 'mysql_xdevapi\schema::getCollections' => ['array'], + 'mysql_xdevapi\schema::getName' => ['string'], + 'mysql_xdevapi\schema::getSession' => ['mysql_xdevapi\Session'], + 'mysql_xdevapi\schema::getTable' => ['mysql_xdevapi\Table', 'name'=>'string'], + 'mysql_xdevapi\schema::getTables' => ['array'], + 'mysql_xdevapi\schemaobject::getSchema' => ['mysql_xdevapi\Schema'], + 'mysql_xdevapi\session::close' => ['bool'], + 'mysql_xdevapi\session::commit' => ['Object'], + 'mysql_xdevapi\session::createSchema' => ['mysql_xdevapi\Schema', 'schema_name'=>'string'], + 'mysql_xdevapi\session::dropSchema' => ['bool', 'schema_name'=>'string'], + 'mysql_xdevapi\session::executeSql' => ['Object', 'statement'=>'string'], + 'mysql_xdevapi\session::generateUUID' => ['string'], + 'mysql_xdevapi\session::getClientId' => ['integer'], + 'mysql_xdevapi\session::getSchema' => ['mysql_xdevapi\Schema', 'schema_name'=>'string'], + 'mysql_xdevapi\session::getSchemas' => ['array'], + 'mysql_xdevapi\session::getServerVersion' => ['integer'], + 'mysql_xdevapi\session::killClient' => ['object', 'client_id'=>'integer'], + 'mysql_xdevapi\session::listClients' => ['array'], + 'mysql_xdevapi\session::quoteName' => ['string', 'name'=>'string'], + 'mysql_xdevapi\session::releaseSavepoint' => ['void', 'name'=>'string'], + 'mysql_xdevapi\session::rollback' => ['void'], + 'mysql_xdevapi\session::rollbackTo' => ['void', 'name'=>'string'], + 'mysql_xdevapi\session::setSavepoint' => ['string', 'name='=>'string'], + 'mysql_xdevapi\session::sql' => ['mysql_xdevapi\SqlStatement', 'query'=>'string'], + 'mysql_xdevapi\session::startTransaction' => ['void'], + 'mysql_xdevapi\sqlstatement::bind' => ['mysql_xdevapi\SqlStatement', 'param'=>'string'], + 'mysql_xdevapi\sqlstatement::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\sqlstatement::getNextResult' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\sqlstatement::getResult' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\sqlstatement::hasMoreResults' => ['bool'], + 'mysql_xdevapi\sqlstatementresult::fetchAll' => ['array'], + 'mysql_xdevapi\sqlstatementresult::fetchOne' => ['object'], + 'mysql_xdevapi\sqlstatementresult::getAffectedItemsCount' => ['integer'], + 'mysql_xdevapi\sqlstatementresult::getColumnCount' => ['integer'], + 'mysql_xdevapi\sqlstatementresult::getColumnNames' => ['array'], + 'mysql_xdevapi\sqlstatementresult::getColumns' => ['Array'], + 'mysql_xdevapi\sqlstatementresult::getGeneratedIds' => ['array'], + 'mysql_xdevapi\sqlstatementresult::getLastInsertId' => ['String'], + 'mysql_xdevapi\sqlstatementresult::getWarnings' => ['array'], + 'mysql_xdevapi\sqlstatementresult::getWarningsCount' => ['integer'], + 'mysql_xdevapi\sqlstatementresult::hasData' => ['bool'], + 'mysql_xdevapi\sqlstatementresult::nextResult' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\statement::getNextResult' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\statement::getResult' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\statement::hasMoreResults' => ['bool'], + 'mysql_xdevapi\table::count' => ['integer'], + 'mysql_xdevapi\table::delete' => ['mysql_xdevapi\TableDelete'], + 'mysql_xdevapi\table::existsInDatabase' => ['bool'], + 'mysql_xdevapi\table::getName' => ['string'], + 'mysql_xdevapi\table::getSchema' => ['mysql_xdevapi\Schema'], + 'mysql_xdevapi\table::getSession' => ['mysql_xdevapi\Session'], + 'mysql_xdevapi\table::insert' => ['mysql_xdevapi\TableInsert', 'columns'=>'mixed', '...args='=>'mixed'], + 'mysql_xdevapi\table::isView' => ['bool'], + 'mysql_xdevapi\table::select' => ['mysql_xdevapi\TableSelect', 'columns'=>'mixed', '...args='=>'mixed'], + 'mysql_xdevapi\table::update' => ['mysql_xdevapi\TableUpdate'], + 'mysql_xdevapi\tabledelete::bind' => ['mysql_xdevapi\TableDelete', 'placeholder_values'=>'array'], + 'mysql_xdevapi\tabledelete::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\tabledelete::limit' => ['mysql_xdevapi\TableDelete', 'rows'=>'integer'], + 'mysql_xdevapi\tabledelete::offset' => ['mysql_xdevapi\TableDelete', 'position'=>'integer'], + 'mysql_xdevapi\tabledelete::orderby' => ['mysql_xdevapi\TableDelete', 'orderby_expr'=>'string'], + 'mysql_xdevapi\tabledelete::where' => ['mysql_xdevapi\TableDelete', 'where_expr'=>'string'], + 'mysql_xdevapi\tableinsert::execute' => ['mysql_xdevapi\Result'], + 'mysql_xdevapi\tableinsert::values' => ['mysql_xdevapi\TableInsert', 'row_values'=>'array'], + 'mysql_xdevapi\tableselect::bind' => ['mysql_xdevapi\TableSelect', 'placeholder_values'=>'array'], + 'mysql_xdevapi\tableselect::execute' => ['mysql_xdevapi\RowResult'], + 'mysql_xdevapi\tableselect::groupBy' => ['mysql_xdevapi\TableSelect', 'sort_expr'=>'mixed'], + 'mysql_xdevapi\tableselect::having' => ['mysql_xdevapi\TableSelect', 'sort_expr'=>'string'], + 'mysql_xdevapi\tableselect::limit' => ['mysql_xdevapi\TableSelect', 'rows'=>'integer'], + 'mysql_xdevapi\tableselect::lockExclusive' => ['mysql_xdevapi\TableSelect', 'lock_waiting_option='=>'integer'], + 'mysql_xdevapi\tableselect::lockShared' => ['mysql_xdevapi\TableSelect', 'lock_waiting_option='=>'integer'], + 'mysql_xdevapi\tableselect::offset' => ['mysql_xdevapi\TableSelect', 'position'=>'integer'], + 'mysql_xdevapi\tableselect::orderby' => ['mysql_xdevapi\TableSelect', 'sort_expr'=>'mixed', '...args='=>'mixed'], + 'mysql_xdevapi\tableselect::where' => ['mysql_xdevapi\TableSelect', 'where_expr'=>'string'], + 'mysql_xdevapi\tableupdate::bind' => ['mysql_xdevapi\TableUpdate', 'placeholder_values'=>'array'], + 'mysql_xdevapi\tableupdate::execute' => ['mysql_xdevapi\TableUpdate'], + 'mysql_xdevapi\tableupdate::limit' => ['mysql_xdevapi\TableUpdate', 'rows'=>'integer'], + 'mysql_xdevapi\tableupdate::orderby' => ['mysql_xdevapi\TableUpdate', 'orderby_expr'=>'mixed', '...args='=>'mixed'], + 'mysql_xdevapi\tableupdate::set' => ['mysql_xdevapi\TableUpdate', 'table_field'=>'string', 'expression_or_literal'=>'string'], + 'mysql_xdevapi\tableupdate::where' => ['mysql_xdevapi\TableUpdate', 'where_expr'=>'string'], + 'mysqli::__construct' => ['void', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'], + 'mysqli::autocommit' => ['bool', 'enable'=>'bool'], + 'mysqli::begin_transaction' => ['bool', 'flags='=>'int', 'name='=>'string'], + 'mysqli::change_user' => ['bool', 'username'=>'string', 'password'=>'string', 'database'=>'?string'], + 'mysqli::character_set_name' => ['string'], + 'mysqli::close' => ['bool'], + 'mysqli::commit' => ['bool', 'flags='=>'int', 'name='=>'string'], + 'mysqli::connect' => ['null|false', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'], + 'mysqli::debug' => ['bool', 'options'=>'string'], + 'mysqli::disable_reads_from_master' => ['bool'], + 'mysqli::dump_debug_info' => ['bool'], + 'mysqli::escape_string' => ['string', 'string'=>'string'], + 'mysqli::get_charset' => ['object'], + 'mysqli::get_client_info' => ['string'], + 'mysqli::get_connection_stats' => ['array'], + 'mysqli::get_warnings' => ['mysqli_warning'], + 'mysqli::init' => ['false|null'], + 'mysqli::kill' => ['bool', 'process_id'=>'int'], + 'mysqli::more_results' => ['bool'], + 'mysqli::multi_query' => ['bool', 'query'=>'string'], + 'mysqli::next_result' => ['bool'], + 'mysqli::options' => ['bool', 'option'=>'int', 'value'=>'string|int'], + 'mysqli::ping' => ['bool'], + 'mysqli::poll' => ['int|false', '&w_read'=>'array', '&w_write'=>'array', '&w_error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'], + 'mysqli::prepare' => ['mysqli_stmt|false', 'query'=>'string'], + 'mysqli::query' => ['bool|mysqli_result', 'query'=>'string', 'result_mode='=>'int'], + 'mysqli::real_connect' => ['bool', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null', 'flags='=>'int'], + 'mysqli::real_escape_string' => ['string', 'string'=>'string'], + 'mysqli::real_query' => ['bool', 'query'=>'string'], + 'mysqli::reap_async_query' => ['mysqli_result|false'], + 'mysqli::refresh' => ['bool', 'flags'=>'int'], + 'mysqli::release_savepoint' => ['bool', 'name'=>'string'], + 'mysqli::rollback' => ['bool', 'flags='=>'int', 'name='=>'string'], + 'mysqli::rpl_query_type' => ['int', 'query'=>'string'], + 'mysqli::savepoint' => ['bool', 'name'=>'string'], + 'mysqli::select_db' => ['bool', 'database'=>'string'], + 'mysqli::send_query' => ['bool', 'query'=>'string'], + 'mysqli::set_charset' => ['bool', 'charset'=>'string'], + 'mysqli::set_local_infile_default' => ['void'], + 'mysqli::set_local_infile_handler' => ['bool', 'read_func='=>'callable'], + 'mysqli::set_opt' => ['bool', 'option'=>'int', 'value'=>'string|int'], + 'mysqli::ssl_set' => ['bool', 'key'=>'?string', 'certificate'=>'?string', 'ca_certificate'=>'?string', 'ca_path'=>'?string', 'cipher_algos'=>'?string'], + 'mysqli::stat' => ['string|false'], + 'mysqli::stmt_init' => ['mysqli_stmt'], + 'mysqli::store_result' => ['mysqli_result|false', 'mode='=>'int'], + 'mysqli::thread_safe' => ['bool'], + 'mysqli::use_result' => ['mysqli_result|false'], + 'mysqli_affected_rows' => ['int<-1, max>|numeric-string', 'mysql'=>'mysqli'], + 'mysqli_autocommit' => ['bool', 'mysql'=>'mysqli', 'enable'=>'bool'], + 'mysqli_begin_transaction' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'], + 'mysqli_change_user' => ['bool', 'mysql'=>'mysqli', 'username'=>'string', 'password'=>'string', 'database'=>'?string'], + 'mysqli_character_set_name' => ['string', 'mysql'=>'mysqli'], + 'mysqli_close' => ['true', 'mysql'=>'mysqli'], + 'mysqli_commit' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'], + 'mysqli_connect' => ['mysqli|false', 'hostname='=>'string', 'username='=>'string', 'password='=>'string', 'database='=>'string', 'port='=>'int', 'socket='=>'string'], + 'mysqli_connect_errno' => ['int'], + 'mysqli_connect_error' => ['?string'], + 'mysqli_data_seek' => ['bool', 'result'=>'mysqli_result', 'offset'=>'int'], + 'mysqli_debug' => ['true', 'options'=>'string'], + 'mysqli_disable_reads_from_master' => ['bool', 'link'=>'mysqli'], + 'mysqli_disable_rpl_parse' => ['bool', 'link'=>'mysqli'], + 'mysqli_driver::embedded_server_end' => ['void'], + 'mysqli_driver::embedded_server_start' => ['bool', 'start'=>'int', 'arguments'=>'array', 'groups'=>'array'], + 'mysqli_dump_debug_info' => ['bool', 'mysql'=>'mysqli'], + 'mysqli_embedded_server_end' => ['void'], + 'mysqli_embedded_server_start' => ['bool', 'start'=>'int', 'arguments'=>'array', 'groups'=>'array'], + 'mysqli_enable_reads_from_master' => ['bool', 'link'=>'mysqli'], + 'mysqli_enable_rpl_parse' => ['bool', 'link'=>'mysqli'], + 'mysqli_errno' => ['int', 'mysql'=>'mysqli'], + 'mysqli_error' => ['string', 'mysql'=>'mysqli'], + 'mysqli_error_list' => ['array', 'mysql'=>'mysqli'], + 'mysqli_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], + 'mysqli_execute' => ['bool', 'statement'=>'mysqli_stmt'], + 'mysqli_fetch_all' => ['list>', 'result'=>'mysqli_result', 'mode='=>'3'], + 'mysqli_fetch_all\'1' => ['list>', 'result'=>'mysqli_result', 'mode='=>'1'], + 'mysqli_fetch_all\'2' => ['list>', 'result'=>'mysqli_result', 'mode='=>'2'], + 'mysqli_fetch_array' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'3'], + 'mysqli_fetch_array\'1' => ['array|false|null', 'result'=>'mysqli_result', 'mode='=>'1'], + 'mysqli_fetch_array\'2' => ['list|false|null', 'result'=>'mysqli_result', 'mode='=>'2'], + 'mysqli_fetch_assoc' => ['array|false|null', 'result'=>'mysqli_result'], + 'mysqli_fetch_field' => ['object|false', 'result'=>'mysqli_result'], + 'mysqli_fetch_field_direct' => ['object|false', 'result'=>'mysqli_result', 'index'=>'int'], + 'mysqli_fetch_fields' => ['stdClass[]', 'result'=>'mysqli_result'], + 'mysqli_fetch_lengths' => ['array|false', 'result'=>'mysqli_result'], + 'mysqli_fetch_object' => ['object|false|null', 'result'=>'mysqli_result', 'class='=>'class-string', 'constructor_args='=>'array'], + 'mysqli_fetch_row' => ['list|false|null', 'result'=>'mysqli_result'], + 'mysqli_field_count' => ['int', 'mysql'=>'mysqli'], + 'mysqli_field_seek' => ['bool', 'result'=>'mysqli_result', 'index'=>'int'], + 'mysqli_field_tell' => ['int', 'result'=>'mysqli_result'], + 'mysqli_free_result' => ['void', 'result'=>'mysqli_result'], + 'mysqli_get_cache_stats' => ['array|false'], + 'mysqli_get_charset' => ['?object', 'mysql'=>'mysqli'], + 'mysqli_get_client_info' => ['string', 'mysql='=>'?mysqli'], + 'mysqli_get_client_stats' => ['array'], + 'mysqli_get_client_version' => ['int', 'link'=>'mysqli'], + 'mysqli_get_connection_stats' => ['array', 'mysql'=>'mysqli'], + 'mysqli_get_host_info' => ['string', 'mysql'=>'mysqli'], + 'mysqli_get_links_stats' => ['array'], + 'mysqli_get_proto_info' => ['int', 'mysql'=>'mysqli'], + 'mysqli_get_server_info' => ['string', 'mysql'=>'mysqli'], + 'mysqli_get_server_version' => ['int', 'mysql'=>'mysqli'], + 'mysqli_get_warnings' => ['mysqli_warning', 'mysql'=>'mysqli'], + 'mysqli_info' => ['?string', 'mysql'=>'mysqli'], + 'mysqli_init' => ['mysqli|false'], + 'mysqli_insert_id' => ['int|string', 'mysql'=>'mysqli'], + 'mysqli_kill' => ['bool', 'mysql'=>'mysqli', 'process_id'=>'int'], + 'mysqli_link_construct' => ['object'], + 'mysqli_master_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'], + 'mysqli_more_results' => ['bool', 'mysql'=>'mysqli'], + 'mysqli_multi_query' => ['bool', 'mysql'=>'mysqli', 'query'=>'string'], + 'mysqli_next_result' => ['bool', 'mysql'=>'mysqli'], + 'mysqli_num_fields' => ['int', 'result'=>'mysqli_result'], + 'mysqli_num_rows' => ['int<0, max>|numeric-string', 'result'=>'mysqli_result'], + 'mysqli_options' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'], + 'mysqli_ping' => ['bool', 'mysql'=>'mysqli'], + 'mysqli_poll' => ['int|false', 'read'=>'array', 'write'=>'array', 'error'=>'array', 'seconds'=>'int', 'microseconds='=>'int'], + 'mysqli_prepare' => ['mysqli_stmt|false', 'mysql'=>'mysqli', 'query'=>'string'], + 'mysqli_query' => ['mysqli_result|bool', 'mysql'=>'mysqli', 'query'=>'string', 'result_mode='=>'int'], + 'mysqli_real_connect' => ['bool', 'mysql='=>'mysqli', 'hostname='=>'string|null', 'username='=>'string|null', 'password='=>'string|null', 'database='=>'string|null', 'port='=>'int|null', 'socket='=>'string|null', 'flags='=>'int'], + 'mysqli_real_escape_string' => ['string', 'mysql'=>'mysqli', 'string'=>'string'], + 'mysqli_real_query' => ['bool', 'mysql'=>'mysqli', 'query'=>'string'], + 'mysqli_reap_async_query' => ['mysqli_result|false', 'mysql'=>'mysqli'], + 'mysqli_refresh' => ['bool', 'mysql'=>'mysqli', 'flags'=>'int'], + 'mysqli_release_savepoint' => ['bool', 'mysql'=>'mysqli', 'name'=>'string'], + 'mysqli_report' => ['bool', 'flags'=>'int'], + 'mysqli_result::__construct' => ['void', 'mysql'=>'mysqli', 'result_mode='=>'int'], + 'mysqli_result::close' => ['void'], + 'mysqli_result::data_seek' => ['bool', 'offset'=>'int'], + 'mysqli_result::fetch_all' => ['list>', 'mode='=>'3'], + 'mysqli_result::fetch_all\'1' => ['list>', 'mode='=>'1'], + 'mysqli_result::fetch_all\'2' => ['list>', 'mode='=>'2'], + 'mysqli_result::fetch_array' => ['array|false|null', 'mode='=>'3'], + 'mysqli_result::fetch_array\'1' => ['array|false|null', 'mode='=>'1'], + 'mysqli_result::fetch_array\'2' => ['list|false|null', 'mode='=>'2'], + 'mysqli_result::fetch_assoc' => ['array|false|null'], + 'mysqli_result::fetch_field' => ['object|false'], + 'mysqli_result::fetch_field_direct' => ['object|false', 'index'=>'int'], + 'mysqli_result::fetch_fields' => ['stdClass[]'], + 'mysqli_result::fetch_object' => ['object|false|null', 'class='=>'class-string', 'constructor_args='=>'array'], + 'mysqli_result::fetch_row' => ['list|false|null'], + 'mysqli_result::field_seek' => ['bool', 'index'=>'int'], + 'mysqli_result::free' => ['void'], + 'mysqli_result::free_result' => ['void'], + 'mysqli_rollback' => ['bool', 'mysql'=>'mysqli', 'flags='=>'int', 'name='=>'string'], + 'mysqli_rpl_parse_enabled' => ['int', 'link'=>'mysqli'], + 'mysqli_rpl_probe' => ['bool', 'link'=>'mysqli'], + 'mysqli_rpl_query_type' => ['int', 'link'=>'mysqli', 'query'=>'string'], + 'mysqli_savepoint' => ['bool', 'mysql'=>'mysqli', 'name'=>'string'], + 'mysqli_savepoint_libmysql' => ['bool'], + 'mysqli_select_db' => ['bool', 'mysql'=>'mysqli', 'database'=>'string'], + 'mysqli_send_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'], + 'mysqli_set_charset' => ['bool', 'mysql'=>'mysqli', 'charset'=>'string'], + 'mysqli_set_local_infile_default' => ['void', 'link'=>'mysqli'], + 'mysqli_set_local_infile_handler' => ['bool', 'link'=>'mysqli', 'read_func'=>'callable'], + 'mysqli_set_opt' => ['bool', 'mysql'=>'mysqli', 'option'=>'int', 'value'=>'string|int'], + 'mysqli_slave_query' => ['bool', 'link'=>'mysqli', 'query'=>'string'], + 'mysqli_sqlstate' => ['string', 'mysql'=>'mysqli'], + 'mysqli_ssl_set' => ['true', 'mysql'=>'mysqli', 'key'=>'?string', 'certificate'=>'?string', 'ca_certificate'=>'?string', 'ca_path'=>'?string', 'cipher_algos'=>'?string'], + 'mysqli_stat' => ['string|false', 'mysql'=>'mysqli'], + 'mysqli_stmt::__construct' => ['void', 'mysql'=>'mysqli', 'query'=>'string'], + 'mysqli_stmt::attr_get' => ['int', 'attribute'=>'int'], + 'mysqli_stmt::attr_set' => ['bool', 'attribute'=>'int', 'value'=>'int'], + 'mysqli_stmt::bind_param' => ['bool', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'], + 'mysqli_stmt::bind_result' => ['bool', '&w_var1'=>'', '&...w_vars='=>''], + 'mysqli_stmt::close' => ['bool'], + 'mysqli_stmt::data_seek' => ['void', 'offset'=>'int'], + 'mysqli_stmt::execute' => ['bool'], + 'mysqli_stmt::fetch' => ['bool|null'], + 'mysqli_stmt::free_result' => ['void'], + 'mysqli_stmt::get_result' => ['mysqli_result|false'], + 'mysqli_stmt::get_warnings' => ['object'], + 'mysqli_stmt::more_results' => ['bool'], + 'mysqli_stmt::next_result' => ['bool'], + 'mysqli_stmt::num_rows' => ['int<0, max>|numeric-string'], + 'mysqli_stmt::prepare' => ['bool', 'query'=>'string'], + 'mysqli_stmt::reset' => ['bool'], + 'mysqli_stmt::result_metadata' => ['mysqli_result|false'], + 'mysqli_stmt::send_long_data' => ['bool', 'param_num'=>'int', 'data'=>'string'], + 'mysqli_stmt::store_result' => ['bool'], + 'mysqli_stmt_affected_rows' => ['int<-1, max>|numeric-string', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_attr_get' => ['int', 'statement'=>'mysqli_stmt', 'attribute'=>'int'], + 'mysqli_stmt_attr_set' => ['bool', 'statement'=>'mysqli_stmt', 'attribute'=>'int', 'value'=>'int'], + 'mysqli_stmt_bind_param' => ['bool', 'statement'=>'mysqli_stmt', 'types'=>'string', '&vars'=>'mixed', '&...args='=>'mixed'], + 'mysqli_stmt_bind_result' => ['bool', 'statement'=>'mysqli_stmt', '&w_var1'=>'', '&...w_vars='=>''], + 'mysqli_stmt_close' => ['true', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_data_seek' => ['void', 'statement'=>'mysqli_stmt', 'offset'=>'int'], + 'mysqli_stmt_errno' => ['int', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_error' => ['string', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_error_list' => ['array', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_execute' => ['bool', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_fetch' => ['bool|null', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_field_count' => ['int', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_free_result' => ['void', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_get_result' => ['mysqli_result|false', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_get_warnings' => ['object', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_init' => ['mysqli_stmt', 'mysql'=>'mysqli'], + 'mysqli_stmt_insert_id' => ['mixed', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_more_results' => ['bool', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_next_result' => ['bool', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_num_rows' => ['int', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_param_count' => ['int', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_prepare' => ['bool', 'statement'=>'mysqli_stmt', 'query'=>'string'], + 'mysqli_stmt_reset' => ['bool', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_result_metadata' => ['mysqli_result|false', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_send_long_data' => ['bool', 'statement'=>'mysqli_stmt', 'param_num'=>'int', 'data'=>'string'], + 'mysqli_stmt_sqlstate' => ['string', 'statement'=>'mysqli_stmt'], + 'mysqli_stmt_store_result' => ['bool', 'statement'=>'mysqli_stmt'], + 'mysqli_store_result' => ['mysqli_result|false', 'mysql'=>'mysqli', 'mode='=>'int'], + 'mysqli_thread_id' => ['int', 'mysql'=>'mysqli'], + 'mysqli_thread_safe' => ['bool'], + 'mysqli_use_result' => ['mysqli_result|false', 'mysql'=>'mysqli'], + 'mysqli_warning::__construct' => ['void'], + 'mysqli_warning::next' => ['bool'], + 'mysqli_warning_count' => ['int', 'mysql'=>'mysqli'], + 'mysqlnd_memcache_get_config' => ['array', 'connection'=>'mixed'], + 'mysqlnd_memcache_set' => ['bool', 'mysql_connection'=>'mixed', 'memcache_connection='=>'Memcached', 'pattern='=>'string', 'callback='=>'callable'], + 'mysqlnd_ms_dump_servers' => ['array', 'connection'=>'mixed'], + 'mysqlnd_ms_fabric_select_global' => ['array', 'connection'=>'mixed', 'table_name'=>'mixed'], + 'mysqlnd_ms_fabric_select_shard' => ['array', 'connection'=>'mixed', 'table_name'=>'mixed', 'shard_key'=>'mixed'], + 'mysqlnd_ms_get_last_gtid' => ['string', 'connection'=>'mixed'], + 'mysqlnd_ms_get_last_used_connection' => ['array', 'connection'=>'mixed'], + 'mysqlnd_ms_get_stats' => ['array'], + 'mysqlnd_ms_match_wild' => ['bool', 'table_name'=>'string', 'wildcard'=>'string'], + 'mysqlnd_ms_query_is_select' => ['int', 'query'=>'string'], + 'mysqlnd_ms_set_qos' => ['bool', 'connection'=>'mixed', 'service_level'=>'int', 'service_level_option='=>'int', 'option_value='=>'mixed'], + 'mysqlnd_ms_set_user_pick_server' => ['bool', 'function'=>'string'], + 'mysqlnd_ms_xa_begin' => ['int', 'connection'=>'mixed', 'gtrid'=>'string', 'timeout='=>'int'], + 'mysqlnd_ms_xa_commit' => ['int', 'connection'=>'mixed', 'gtrid'=>'string'], + 'mysqlnd_ms_xa_gc' => ['int', 'connection'=>'mixed', 'gtrid='=>'string', 'ignore_max_retries='=>'bool'], + 'mysqlnd_ms_xa_rollback' => ['int', 'connection'=>'mixed', 'gtrid'=>'string'], + 'mysqlnd_qc_change_handler' => ['bool', 'handler'=>''], + 'mysqlnd_qc_clear_cache' => ['bool'], + 'mysqlnd_qc_get_available_handlers' => ['array'], + 'mysqlnd_qc_get_cache_info' => ['array'], + 'mysqlnd_qc_get_core_stats' => ['array'], + 'mysqlnd_qc_get_handler' => ['array'], + 'mysqlnd_qc_get_normalized_query_trace_log' => ['array'], + 'mysqlnd_qc_get_query_trace_log' => ['array'], + 'mysqlnd_qc_set_cache_condition' => ['bool', 'condition_type'=>'int', 'condition'=>'mixed', 'condition_option'=>'mixed'], + 'mysqlnd_qc_set_is_select' => ['mixed', 'callback'=>'string'], + 'mysqlnd_qc_set_storage_handler' => ['bool', 'handler'=>'string'], + 'mysqlnd_qc_set_user_handlers' => ['bool', 'get_hash'=>'string', 'find_query_in_cache'=>'string', 'return_to_cache'=>'string', 'add_query_to_cache_if_not_exists'=>'string', 'query_is_select'=>'string', 'update_query_run_time_stats'=>'string', 'get_stats'=>'string', 'clear_cache'=>'string'], + 'mysqlnd_uh_convert_to_mysqlnd' => ['resource', '&rw_mysql_connection'=>'mysqli'], + 'mysqlnd_uh_set_connection_proxy' => ['bool', '&rw_connection_proxy'=>'MysqlndUhConnection', '&rw_mysqli_connection='=>'mysqli'], + 'mysqlnd_uh_set_statement_proxy' => ['bool', '&rw_statement_proxy'=>'MysqlndUhStatement'], + 'natcasesort' => ['bool', '&rw_array'=>'array'], + 'natsort' => ['bool', '&rw_array'=>'array'], + 'newrelic_add_custom_parameter' => ['bool', 'key'=>'string', 'value'=>'bool|float|int|string'], + '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' => ['true'], + '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|Throwable'], + '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_record_datastore_segment' => ['mixed', 'func'=>'callable', 'parameters'=>'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'], + 'next' => ['mixed', '&r_array'=>'array|object'], + 'ngettext' => ['string', 'singular'=>'string', 'plural'=>'string', 'count'=>'int'], + 'nl2br' => ['string', 'string'=>'string', 'use_xhtml='=>'bool'], + 'nl_langinfo' => ['string|false', 'item'=>'int'], + 'normalizer_is_normalized' => ['bool', 'string'=>'string', 'form='=>'int'], + 'normalizer_normalize' => ['string|false', 'string'=>'string', 'form='=>'int'], + 'notes_body' => ['array', 'server'=>'string', 'mailbox'=>'string', 'msg_number'=>'int'], + 'notes_copy_db' => ['bool', 'from_database_name'=>'string', 'to_database_name'=>'string'], + 'notes_create_db' => ['bool', 'database_name'=>'string'], + 'notes_create_note' => ['bool', 'database_name'=>'string', 'form_name'=>'string'], + 'notes_drop_db' => ['bool', 'database_name'=>'string'], + 'notes_find_note' => ['int', 'database_name'=>'string', 'name'=>'string', 'type='=>'string'], + 'notes_header_info' => ['object', 'server'=>'string', 'mailbox'=>'string', 'msg_number'=>'int'], + 'notes_list_msgs' => ['bool', 'db'=>'string'], + 'notes_mark_read' => ['bool', 'database_name'=>'string', 'user_name'=>'string', 'note_id'=>'string'], + 'notes_mark_unread' => ['bool', 'database_name'=>'string', 'user_name'=>'string', 'note_id'=>'string'], + 'notes_nav_create' => ['bool', 'database_name'=>'string', 'name'=>'string'], + 'notes_search' => ['array', 'database_name'=>'string', 'keywords'=>'string'], + 'notes_unread' => ['array', 'database_name'=>'string', 'user_name'=>'string'], + 'notes_version' => ['float', 'database_name'=>'string'], + 'nsapi_request_headers' => ['array'], + 'nsapi_response_headers' => ['array'], + 'nsapi_virtual' => ['bool', 'uri'=>'string'], + 'nthmac' => ['string', 'clent'=>'string', 'data'=>'string'], + 'number_format' => ['string', 'num'=>'float|int', 'decimals='=>'int'], + 'number_format\'1' => ['string', 'num'=>'float|int', 'decimals'=>'int', 'decimal_separator'=>'?string', 'thousands_separator'=>'?string'], + 'numfmt_create' => ['NumberFormatter|null', 'locale'=>'string', 'style'=>'int', 'pattern='=>'string'], + 'numfmt_format' => ['string|false', 'formatter'=>'NumberFormatter', 'num'=>'int|float', 'type='=>'int'], + 'numfmt_format_currency' => ['string|false', 'formatter'=>'NumberFormatter', 'amount'=>'float', 'currency'=>'string'], + 'numfmt_get_attribute' => ['int|false', 'formatter'=>'NumberFormatter', 'attribute'=>'int'], + 'numfmt_get_error_code' => ['int', 'formatter'=>'NumberFormatter'], + 'numfmt_get_error_message' => ['string', 'formatter'=>'NumberFormatter'], + 'numfmt_get_locale' => ['string', 'formatter'=>'NumberFormatter', 'type='=>'int'], + 'numfmt_get_pattern' => ['string|false', 'formatter'=>'NumberFormatter'], + 'numfmt_get_symbol' => ['string|false', 'formatter'=>'NumberFormatter', 'symbol'=>'int'], + 'numfmt_get_text_attribute' => ['string|false', 'formatter'=>'NumberFormatter', 'attribute'=>'int'], + 'numfmt_parse' => ['float|int|false', 'formatter'=>'NumberFormatter', 'string'=>'string', 'type='=>'int', '&rw_offset='=>'int'], + 'numfmt_parse_currency' => ['float|false', 'formatter'=>'NumberFormatter', 'string'=>'string', '&w_currency'=>'string', '&rw_offset='=>'int'], + 'numfmt_set_attribute' => ['bool', 'formatter'=>'NumberFormatter', 'attribute'=>'int', 'value'=>'int'], + 'numfmt_set_pattern' => ['bool', 'formatter'=>'NumberFormatter', 'pattern'=>'string'], + 'numfmt_set_symbol' => ['bool', 'formatter'=>'NumberFormatter', 'symbol'=>'int', 'value'=>'string'], + 'numfmt_set_text_attribute' => ['bool', 'formatter'=>'NumberFormatter', 'attribute'=>'int', 'value'=>'string'], + 'oauth_get_sbs' => ['string', 'http_method'=>'string', 'uri'=>'string', 'parameters'=>'array'], + 'oauth_urlencode' => ['string', 'uri'=>'string'], + 'ob_clean' => ['bool'], + 'ob_deflatehandler' => ['string', 'data'=>'string', 'mode'=>'int'], + 'ob_end_clean' => ['bool'], + 'ob_end_flush' => ['bool'], + 'ob_etaghandler' => ['string', 'data'=>'string', 'mode'=>'int'], + 'ob_flush' => ['bool'], + 'ob_get_clean' => ['string|false'], + 'ob_get_contents' => ['string|false'], + 'ob_get_flush' => ['string|false'], + 'ob_get_length' => ['int|false'], + 'ob_get_level' => ['int'], + 'ob_get_status' => ['array', 'full_status='=>'bool'], + 'ob_gzhandler' => ['string|false', 'data'=>'string', 'flags'=>'int'], + 'ob_iconv_handler' => ['string', 'contents'=>'string', 'status'=>'int'], + 'ob_implicit_flush' => ['void', 'enable='=>'int'], + 'ob_inflatehandler' => ['string', 'data'=>'string', 'mode'=>'int'], + 'ob_list_handlers' => ['list'], + 'ob_start' => ['bool', 'callback='=>'string|array|?callable', 'chunk_size='=>'int', 'flags='=>'int'], + 'ob_tidyhandler' => ['string', 'input'=>'string', 'mode='=>'int'], + 'oci_bind_array_by_name' => ['bool', 'statement'=>'resource', 'param'=>'string', '&rw_var'=>'array', 'max_array_length'=>'int', 'max_item_length='=>'int', 'type='=>'int'], + 'oci_bind_by_name' => ['bool', 'statement'=>'resource', 'param'=>'string', '&rw_var'=>'mixed', 'max_length='=>'int', 'type='=>'int'], + 'oci_cancel' => ['bool', 'statement'=>'resource'], + 'oci_client_version' => ['string'], + 'oci_close' => ['bool', 'connection'=>'resource'], + 'oci_collection_append' => ['bool', 'collection'=>'string'], + 'oci_collection_assign' => ['bool', 'to'=>'object'], + 'oci_collection_element_assign' => ['bool', 'collection'=>'int', 'index'=>'string'], + 'oci_collection_element_get' => ['string', 'collection'=>'int'], + 'oci_collection_max' => ['int'], + 'oci_collection_size' => ['int'], + 'oci_collection_trim' => ['bool', 'collection'=>'int'], + 'oci_commit' => ['bool', 'connection'=>'resource'], + 'oci_connect' => ['resource|false', 'username'=>'string', 'password'=>'string', 'connection_string='=>'string', 'encoding='=>'string', 'session_mode='=>'int'], + 'oci_define_by_name' => ['bool', 'statement'=>'resource', 'column'=>'string', '&w_var'=>'mixed', 'type='=>'int'], + 'oci_error' => ['array|false', 'connection_or_statement='=>'resource'], + 'oci_execute' => ['bool', 'statement'=>'resource', 'mode='=>'int'], + 'oci_fetch' => ['bool', 'statement'=>'resource'], + 'oci_fetch_all' => ['int|false', 'statement'=>'resource', '&w_output'=>'array', 'offset='=>'int', 'limit='=>'int', 'flags='=>'int'], + 'oci_fetch_array' => ['array|false', 'statement'=>'resource', 'mode='=>'int'], + 'oci_fetch_assoc' => ['array|false', 'statement'=>'resource'], + 'oci_fetch_object' => ['object|false', 'statement'=>'resource'], + 'oci_fetch_row' => ['array|false', 'statement'=>'resource'], + 'oci_field_is_null' => ['bool', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_field_name' => ['string|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_field_precision' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_field_scale' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_field_size' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_field_type' => ['mixed|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_field_type_raw' => ['int|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_free_collection' => ['bool'], + 'oci_free_cursor' => ['bool', 'statement'=>'resource'], + 'oci_free_descriptor' => ['bool'], + 'oci_free_statement' => ['bool', 'statement'=>'resource'], + 'oci_get_implicit' => ['bool', 'stmt'=>''], + 'oci_get_implicit_resultset' => ['resource|false', 'statement'=>'resource'], + 'oci_internal_debug' => ['void', 'onoff'=>'bool'], + 'oci_lob_append' => ['bool', 'to'=>'object'], + 'oci_lob_close' => ['bool'], + 'oci_lob_copy' => ['bool', 'to'=>'OCILob', 'from'=>'OCILob', 'length='=>'int'], + 'oci_lob_eof' => ['bool'], + 'oci_lob_erase' => ['int', 'lob'=>'int', 'offset'=>'int'], + 'oci_lob_export' => ['bool', 'lob'=>'string', 'filename'=>'int', 'offset'=>'int'], + 'oci_lob_flush' => ['bool', 'lob'=>'int'], + 'oci_lob_import' => ['bool', 'lob'=>'string'], + 'oci_lob_is_equal' => ['bool', 'lob1'=>'OCILob', 'lob2'=>'OCILob'], + 'oci_lob_load' => ['string'], + 'oci_lob_read' => ['string', 'lob'=>'int'], + 'oci_lob_rewind' => ['bool'], + 'oci_lob_save' => ['bool', 'lob'=>'string', 'data'=>'int'], + 'oci_lob_seek' => ['bool', 'lob'=>'int', 'offset'=>'int'], + 'oci_lob_size' => ['int'], + 'oci_lob_tell' => ['int'], + 'oci_lob_truncate' => ['bool', 'lob'=>'int'], + 'oci_lob_write' => ['int', 'lob'=>'string', 'data'=>'int'], + 'oci_lob_write_temporary' => ['bool', 'value'=>'string', 'lob_type'=>'int'], + 'oci_new_collection' => ['OCICollection|false', 'connection'=>'resource', 'type_name'=>'string', 'schema='=>'string'], + 'oci_new_connect' => ['resource|false', 'username'=>'string', 'password'=>'string', 'connection_string='=>'string', 'encoding='=>'string', 'session_mode='=>'int'], + 'oci_new_cursor' => ['resource|false', 'connection'=>'resource'], + 'oci_new_descriptor' => ['OCILob|false', 'connection'=>'resource', 'type='=>'int'], + 'oci_num_fields' => ['int|false', 'statement'=>'resource'], + 'oci_num_rows' => ['int|false', 'statement'=>'resource'], + 'oci_parse' => ['resource|false', 'connection'=>'resource', 'sql'=>'string'], + 'oci_password_change' => ['bool', 'connection'=>'resource', 'username'=>'string', 'old_password'=>'string', 'new_password'=>'string'], + 'oci_pconnect' => ['resource|false', 'username'=>'string', 'password'=>'string', 'connection_string='=>'string', 'encoding='=>'string', 'session_mode='=>'int'], + 'oci_result' => ['mixed|false', 'statement'=>'resource', 'column'=>'mixed'], + 'oci_rollback' => ['bool', 'connection'=>'resource'], + 'oci_server_version' => ['string|false', 'connection'=>'resource'], + 'oci_set_action' => ['bool', 'connection'=>'resource', 'action'=>'string'], + 'oci_set_call_timeout' => ['bool', 'connection'=>'resource', 'timeout'=>'int'], + 'oci_set_client_identifier' => ['bool', 'connection'=>'resource', 'client_id'=>'string'], + 'oci_set_client_info' => ['bool', 'connection'=>'resource', 'client_info'=>'string'], + 'oci_set_db_operation' => ['bool', 'connection'=>'resource', 'action'=>'string'], + 'oci_set_edition' => ['bool', 'edition'=>'string'], + 'oci_set_module_name' => ['bool', 'connection'=>'resource', 'name'=>'string'], + 'oci_set_prefetch' => ['bool', 'statement'=>'resource', 'rows'=>'int'], + 'oci_statement_type' => ['string|false', 'statement'=>'resource'], + 'ocifetchinto' => ['int|bool', 'statement'=>'resource', '&w_result'=>'array', 'mode='=>'int'], + 'ocigetbufferinglob' => ['bool'], + 'ocisetbufferinglob' => ['bool', 'lob'=>'bool'], + 'octdec' => ['int|float', 'octal_string'=>'string'], + 'odbc_autocommit' => ['int|bool', 'odbc'=>'resource', 'enable='=>'bool'], + 'odbc_binmode' => ['bool', 'statement'=>'resource', 'mode'=>'int'], + 'odbc_close' => ['void', 'odbc'=>'resource'], + 'odbc_close_all' => ['void'], + 'odbc_columnprivileges' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string', 'column'=>'string'], + 'odbc_columns' => ['resource|false', 'odbc'=>'resource', 'catalog='=>'?string', 'schema='=>'?string', 'table='=>'?string', 'column='=>'?string'], + 'odbc_commit' => ['bool', 'odbc'=>'resource'], + 'odbc_connect' => ['resource|false', 'dsn'=>'string', 'user'=>'string', 'password'=>'string', 'cursor_option='=>'int'], + 'odbc_cursor' => ['string', 'statement'=>'resource'], + 'odbc_data_source' => ['array|false', 'odbc'=>'resource', 'fetch_type'=>'int'], + 'odbc_do' => ['resource', 'odbc'=>'resource', 'query'=>'string', 'flags='=>'int'], + 'odbc_error' => ['string', 'odbc='=>'resource'], + 'odbc_errormsg' => ['string', 'odbc='=>'resource'], + 'odbc_exec' => ['resource', 'odbc'=>'resource', 'query'=>'string', 'flags='=>'int'], + 'odbc_execute' => ['bool', 'statement'=>'resource', 'params='=>'array'], + 'odbc_fetch_array' => ['array|false', 'statement'=>'resource', 'row='=>'int'], + 'odbc_fetch_into' => ['int', 'statement'=>'resource', '&w_array'=>'array', 'row='=>'int'], + 'odbc_fetch_object' => ['stdClass|false', 'statement'=>'resource', 'row='=>'int'], + 'odbc_fetch_row' => ['bool', 'statement'=>'resource', 'row='=>'int'], + 'odbc_field_len' => ['int|false', 'statement'=>'resource', 'field'=>'int'], + 'odbc_field_name' => ['string|false', 'statement'=>'resource', 'field'=>'int'], + 'odbc_field_num' => ['int|false', 'statement'=>'resource', 'field'=>'string'], + 'odbc_field_precision' => ['int', 'statement'=>'resource', 'field'=>'int'], + 'odbc_field_scale' => ['int|false', 'statement'=>'resource', 'field'=>'int'], + 'odbc_field_type' => ['string|false', 'statement'=>'resource', 'field'=>'int'], + 'odbc_foreignkeys' => ['resource|false', 'odbc'=>'resource', 'pk_catalog'=>'?string', 'pk_schema'=>'string', 'pk_table'=>'string', 'fk_catalog'=>'string', 'fk_schema'=>'string', 'fk_table'=>'string'], + 'odbc_free_result' => ['bool', 'statement'=>'resource'], + 'odbc_gettypeinfo' => ['resource', 'odbc'=>'resource', 'data_type='=>'int'], + 'odbc_longreadlen' => ['bool', 'statement'=>'resource', 'length'=>'int'], + 'odbc_next_result' => ['bool', 'statement'=>'resource'], + 'odbc_num_fields' => ['int', 'statement'=>'resource'], + 'odbc_num_rows' => ['int', 'statement'=>'resource'], + 'odbc_pconnect' => ['resource|false', 'dsn'=>'string', 'user'=>'string', 'password'=>'string', 'cursor_option='=>'int'], + 'odbc_prepare' => ['resource|false', 'odbc'=>'resource', 'query'=>'string'], + 'odbc_primarykeys' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string'], + 'odbc_procedurecolumns' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'string', 'schema'=>'string', 'procedure'=>'string', 'column'=>'string'], + 'odbc_procedures' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'string', 'schema'=>'string', 'procedure'=>'string'], + 'odbc_result' => ['mixed|false', 'statement'=>'resource', 'field'=>'mixed'], + 'odbc_result_all' => ['int|false', 'statement'=>'resource', 'format='=>'string'], + 'odbc_rollback' => ['bool', 'odbc'=>'resource'], + 'odbc_setoption' => ['bool', 'odbc'=>'resource', 'which'=>'int', 'option'=>'int', 'value'=>'int'], + 'odbc_specialcolumns' => ['resource|false', 'odbc'=>'resource', 'type'=>'int', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string', 'scope'=>'int', 'nullable'=>'int'], + 'odbc_statistics' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string', 'unique'=>'int', 'accuracy'=>'int'], + 'odbc_tableprivileges' => ['resource|false', 'odbc'=>'resource', 'catalog'=>'?string', 'schema'=>'string', 'table'=>'string'], + 'odbc_tables' => ['resource|false', 'odbc'=>'resource', 'catalog='=>'?string', 'schema='=>'string', 'table='=>'string', 'types='=>'string'], + 'opcache_compile_file' => ['bool', 'filename'=>'string'], + 'opcache_get_configuration' => ['array'], + 'opcache_get_status' => ['array|false', 'include_scripts='=>'bool'], + 'opcache_invalidate' => ['bool', 'filename'=>'string', 'force='=>'bool'], + 'opcache_is_script_cached' => ['bool', 'filename'=>'string'], + 'opcache_reset' => ['bool'], + 'openal_buffer_create' => ['resource'], + 'openal_buffer_data' => ['bool', 'buffer'=>'resource', 'format'=>'int', 'data'=>'string', 'freq'=>'int'], + 'openal_buffer_destroy' => ['bool', 'buffer'=>'resource'], + 'openal_buffer_get' => ['int', 'buffer'=>'resource', 'property'=>'int'], + 'openal_buffer_loadwav' => ['bool', 'buffer'=>'resource', 'wavfile'=>'string'], + 'openal_context_create' => ['resource', 'device'=>'resource'], + 'openal_context_current' => ['bool', 'context'=>'resource'], + 'openal_context_destroy' => ['bool', 'context'=>'resource'], + 'openal_context_process' => ['bool', 'context'=>'resource'], + 'openal_context_suspend' => ['bool', 'context'=>'resource'], + 'openal_device_close' => ['bool', 'device'=>'resource'], + 'openal_device_open' => ['resource|false', 'device_desc='=>'string'], + 'openal_listener_get' => ['mixed', 'property'=>'int'], + 'openal_listener_set' => ['bool', 'property'=>'int', 'setting'=>'mixed'], + 'openal_source_create' => ['resource'], + 'openal_source_destroy' => ['bool', 'source'=>'resource'], + 'openal_source_get' => ['mixed', 'source'=>'resource', 'property'=>'int'], + 'openal_source_pause' => ['bool', 'source'=>'resource'], + 'openal_source_play' => ['bool', 'source'=>'resource'], + 'openal_source_rewind' => ['bool', 'source'=>'resource'], + 'openal_source_set' => ['bool', 'source'=>'resource', 'property'=>'int', 'setting'=>'mixed'], + 'openal_source_stop' => ['bool', 'source'=>'resource'], + 'openal_stream' => ['resource', 'source'=>'resource', 'format'=>'int', 'rate'=>'int'], + 'opendir' => ['resource|false', 'directory'=>'string', 'context='=>'resource'], + 'openlog' => ['true', 'prefix'=>'string', 'flags'=>'int', 'facility'=>'int'], + 'openssl_cipher_iv_length' => ['int|false', 'cipher_algo'=>'string'], + 'openssl_csr_export' => ['bool', 'csr'=>'string|resource', '&w_output'=>'string', 'no_text='=>'bool'], + 'openssl_csr_export_to_file' => ['bool', 'csr'=>'string|resource', 'output_filename'=>'string', 'no_text='=>'bool'], + 'openssl_csr_get_public_key' => ['resource|false', 'csr'=>'string|resource', 'short_names='=>'bool'], + 'openssl_csr_get_subject' => ['array|false', 'csr'=>'string|resource', 'short_names='=>'bool'], + 'openssl_csr_new' => ['resource|false', 'distinguished_names'=>'array', '&w_private_key'=>'resource', 'options='=>'array', 'extra_attributes='=>'array'], + 'openssl_csr_sign' => ['resource|false', 'csr'=>'string|resource', 'ca_certificate'=>'string|resource|null', 'private_key'=>'string|resource|array', 'days'=>'int', 'options='=>'array', 'serial='=>'int'], + 'openssl_decrypt' => ['string|false', 'data'=>'string', 'cipher_algo'=>'string', 'passphrase'=>'string', 'options='=>'int', 'iv='=>'string', 'tag='=>'string', 'aad='=>'string'], + 'openssl_dh_compute_key' => ['string|false', 'public_key'=>'string', 'private_key'=>'resource'], + 'openssl_digest' => ['string|false', 'data'=>'string', 'digest_algo'=>'string', 'binary='=>'bool'], + 'openssl_encrypt' => ['string|false', 'data'=>'string', 'cipher_algo'=>'string', 'passphrase'=>'string', 'options='=>'int', 'iv='=>'string', '&w_tag='=>'string', 'aad='=>'string', 'tag_length='=>'int'], + 'openssl_error_string' => ['string|false'], + 'openssl_free_key' => ['void', 'key'=>'resource'], + 'openssl_get_cert_locations' => ['array'], + 'openssl_get_cipher_methods' => ['array', 'aliases='=>'bool'], + 'openssl_get_md_methods' => ['array', 'aliases='=>'bool'], + 'openssl_get_privatekey' => ['resource|false', 'private_key'=>'string', 'passphrase='=>'string'], + 'openssl_get_publickey' => ['resource|false', 'public_key'=>'resource|string'], + 'openssl_open' => ['bool', 'data'=>'string', '&w_output'=>'string', 'encrypted_key'=>'string', 'private_key'=>'string|array|resource', 'cipher_algo='=>'string', 'iv='=>'string'], + 'openssl_pbkdf2' => ['string|false', 'password'=>'string', 'salt'=>'string', 'key_length'=>'int', 'iterations'=>'int', 'digest_algo='=>'string'], + 'openssl_pkcs12_export' => ['bool', 'certificate'=>'string|resource', '&w_output'=>'string', 'private_key'=>'string|array|resource', 'passphrase'=>'string', 'options='=>'array'], + 'openssl_pkcs12_export_to_file' => ['bool', 'certificate'=>'string|resource', 'output_filename'=>'string', 'private_key'=>'string|array|resource', 'passphrase'=>'string', 'options='=>'array'], + 'openssl_pkcs12_read' => ['bool', 'pkcs12'=>'string', '&w_certificates'=>'array', 'passphrase'=>'string'], + 'openssl_pkcs7_decrypt' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'string|resource', 'private_key='=>'string|resource|array'], + 'openssl_pkcs7_encrypt' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'string|resource|array', 'headers'=>'array', 'flags='=>'int', 'cipher_algo='=>'int'], + 'openssl_pkcs7_read' => ['bool', 'input_filename'=>'string', '&w_certificates'=>'array'], + 'openssl_pkcs7_sign' => ['bool', 'input_filename'=>'string', 'output_filename'=>'string', 'certificate'=>'string|resource', 'private_key'=>'string|resource|array', 'headers'=>'array', 'flags='=>'int', 'untrusted_certificates_filename='=>'string'], + 'openssl_pkcs7_verify' => ['bool|int', 'input_filename'=>'string', 'flags'=>'int', 'signers_certificates_filename='=>'string', 'ca_info='=>'array', 'untrusted_certificates_filename='=>'string', 'content='=>'string', 'output_filename='=>'string'], + 'openssl_pkey_export' => ['bool', 'key'=>'resource', '&w_output'=>'string', 'passphrase='=>'string|null', 'options='=>'array'], + 'openssl_pkey_export_to_file' => ['bool', 'key'=>'resource|string|array', 'output_filename'=>'string', 'passphrase='=>'string|null', 'options='=>'array'], + 'openssl_pkey_free' => ['void', 'key'=>'resource'], + 'openssl_pkey_get_details' => ['array|false', 'key'=>'resource'], + 'openssl_pkey_get_private' => ['resource|false', 'private_key'=>'string', 'passphrase='=>'string'], + 'openssl_pkey_get_public' => ['resource|false', 'public_key'=>'resource|string'], + 'openssl_pkey_new' => ['resource|false', 'options='=>'array'], + 'openssl_private_decrypt' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'private_key'=>'string|resource|array', 'padding='=>'int'], + 'openssl_private_encrypt' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'private_key'=>'string|resource|array', 'padding='=>'int'], + 'openssl_public_decrypt' => ['bool', 'data'=>'string', '&w_decrypted_data'=>'string', 'public_key'=>'string|resource', 'padding='=>'int'], + 'openssl_public_encrypt' => ['bool', 'data'=>'string', '&w_encrypted_data'=>'string', 'public_key'=>'string|resource', 'padding='=>'int'], + 'openssl_random_pseudo_bytes' => ['string|false', 'length'=>'int', '&w_strong_result='=>'bool'], + 'openssl_seal' => ['int|false', 'data'=>'string', '&w_sealed_data'=>'string', '&w_encrypted_keys'=>'array', 'public_key'=>'array', 'cipher_algo='=>'string', '&rw_iv='=>'string'], + 'openssl_sign' => ['bool', 'data'=>'string', '&w_signature'=>'string', 'private_key'=>'resource|string', 'algorithm='=>'int|string'], + 'openssl_spki_export' => ['string|false', 'spki'=>'string'], + 'openssl_spki_export_challenge' => ['string|false', 'spki'=>'string'], + 'openssl_spki_new' => ['?string', 'private_key'=>'resource', 'challenge'=>'string', 'digest_algo='=>'int'], + 'openssl_spki_verify' => ['bool', 'spki'=>'string'], + 'openssl_verify' => ['-1|0|1', 'data'=>'string', 'signature'=>'string', 'public_key'=>'resource|string', 'algorithm='=>'int|string'], + 'openssl_x509_check_private_key' => ['bool', 'certificate'=>'string|resource', 'private_key'=>'string|resource|array'], + 'openssl_x509_checkpurpose' => ['bool|int', 'certificate'=>'string|resource', 'purpose'=>'int', 'ca_info='=>'array', 'untrusted_certificates_file='=>'string'], + 'openssl_x509_export' => ['bool', 'certificate'=>'string|resource', '&w_output'=>'string', 'no_text='=>'bool'], + 'openssl_x509_export_to_file' => ['bool', 'certificate'=>'string|resource', 'output_filename'=>'string', 'no_text='=>'bool'], + 'openssl_x509_fingerprint' => ['string|false', 'certificate'=>'string|resource', 'digest_algo='=>'string', 'binary='=>'bool'], + 'openssl_x509_free' => ['void', 'certificate'=>'resource'], + 'openssl_x509_parse' => ['array|false', 'certificate'=>'string|resource', 'short_names='=>'bool'], + 'openssl_x509_read' => ['resource|false', 'certificate'=>'string|resource'], + 'ord' => ['int', 'character'=>'string'], + 'output_add_rewrite_var' => ['bool', 'name'=>'string', 'value'=>'string'], + 'output_cache_disable' => ['void'], + 'output_cache_disable_compression' => ['void'], + 'output_cache_exists' => ['bool', 'key'=>'string', 'lifetime'=>'int'], + 'output_cache_fetch' => ['string', 'key'=>'string', 'function'=>'', 'lifetime'=>'int'], + 'output_cache_get' => ['mixed|false', 'key'=>'string', 'lifetime'=>'int'], + 'output_cache_output' => ['string', 'key'=>'string', 'function'=>'', 'lifetime'=>'int'], + 'output_cache_put' => ['bool', 'key'=>'string', 'data'=>'mixed'], + 'output_cache_remove' => ['bool', 'filename'=>''], + 'output_cache_remove_key' => ['bool', 'key'=>'string'], + 'output_cache_remove_url' => ['bool', 'url'=>'string'], + 'output_cache_stop' => ['void'], + 'output_reset_rewrite_vars' => ['bool'], + 'outputformatObj::getOption' => ['string', 'property_name'=>'string'], + 'outputformatObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'outputformatObj::setOption' => ['void', 'property_name'=>'string', 'new_value'=>'string'], + 'outputformatObj::validate' => ['int'], + 'overload' => ['', 'class_name'=>'string'], + 'override_function' => ['bool', 'function_name'=>'string', 'function_args'=>'string', 'function_code'=>'string'], + 'pack' => ['string|false', 'format'=>'string', '...values='=>'mixed'], + 'parallel\Future::done' => ['bool'], + 'parallel\Future::select' => ['mixed', '&resolving'=>'parallel\Future[]', '&w_resolved'=>'parallel\Future[]', '&w_errored'=>'parallel\Future[]', '&w_timedout='=>'parallel\Future[]', 'timeout='=>'int'], + 'parallel\Future::value' => ['mixed', 'timeout='=>'int'], + 'parallel\Runtime::__construct' => ['void', 'arg'=>'string|array'], + 'parallel\Runtime::__construct\'1' => ['void', 'bootstrap'=>'string', 'configuration'=>'array'], + 'parallel\Runtime::close' => ['void'], + 'parallel\Runtime::kill' => ['void'], + 'parallel\Runtime::run' => ['?parallel\Future', 'closure'=>'Closure', 'args='=>'array'], + 'parle\rlexer::insertMacro' => ['void', 'name'=>'string', 'regex'=>'string'], + 'parse_ini_file' => ['array|false', 'filename'=>'string', 'process_sections='=>'bool', 'scanner_mode='=>'int'], + 'parse_ini_string' => ['array|false', 'ini_string'=>'string', 'process_sections='=>'bool', 'scanner_mode='=>'int'], + 'parse_str' => ['void', 'string'=>'string', '&w_result='=>'array'], + 'parse_url' => ['int|string|array|null|false', 'url'=>'string', 'component='=>'int'], + 'parsekit_compile_file' => ['array', 'filename'=>'string', 'errors='=>'array', 'options='=>'int'], + 'parsekit_compile_string' => ['array', 'phpcode'=>'string', 'errors='=>'array', 'options='=>'int'], + 'parsekit_func_arginfo' => ['array', 'function'=>'mixed'], + 'passthru' => ['void', 'command'=>'string', '&w_result_code='=>'int'], + 'password_get_info' => ['array', 'hash'=>'string'], + 'password_hash' => ['string|false', 'password'=>'string', 'algo'=>'int', 'options='=>'array'], + 'password_make_salt' => ['bool', 'password'=>'string', 'hash'=>'string'], + 'password_needs_rehash' => ['bool', 'hash'=>'string', 'algo'=>'int', 'options='=>'array'], + 'password_verify' => ['bool', 'password'=>'string', 'hash'=>'string'], + 'pathinfo' => ['array|string', 'path'=>'string', 'flags='=>'int'], + 'pclose' => ['int', 'handle'=>'resource'], + 'pcnlt_sigwaitinfo' => ['int', 'set'=>'array', '&w_siginfo'=>'array'], + 'pcntl_alarm' => ['int', 'seconds'=>'int'], + 'pcntl_errno' => ['int'], + 'pcntl_exec' => ['null|false', 'path'=>'string', 'args='=>'array', 'env_vars='=>'array'], + 'pcntl_fork' => ['int'], + 'pcntl_get_last_error' => ['int'], + 'pcntl_getpriority' => ['int', 'process_id='=>'int', 'mode='=>'int'], + 'pcntl_setpriority' => ['bool', 'priority'=>'int', 'process_id='=>'int', 'mode='=>'int'], + 'pcntl_signal' => ['bool', 'signal'=>'int', 'handler'=>'callable():void|callable(int):void|callable(int,array):void|int', 'restart_syscalls='=>'bool'], + 'pcntl_signal_dispatch' => ['bool'], + 'pcntl_sigprocmask' => ['bool', 'mode'=>'int', 'signals'=>'array', '&w_old_signals='=>'array'], + 'pcntl_sigtimedwait' => ['int', 'signals'=>'array', '&w_info='=>'array', 'seconds='=>'int', 'nanoseconds='=>'int'], + 'pcntl_sigwaitinfo' => ['int', 'signals'=>'array', '&w_info='=>'array'], + 'pcntl_strerror' => ['string', 'error_code'=>'int'], + 'pcntl_wait' => ['int', '&w_status'=>'int', 'flags='=>'int', '&w_resource_usage='=>'array'], + 'pcntl_waitpid' => ['int', 'process_id'=>'int', '&w_status'=>'int', 'flags='=>'int', '&w_resource_usage='=>'array'], + 'pcntl_wexitstatus' => ['int', 'status'=>'int'], + 'pcntl_wifcontinued' => ['bool', 'status'=>'int'], + 'pcntl_wifexited' => ['bool', 'status'=>'int'], + 'pcntl_wifsignaled' => ['bool', 'status'=>'int'], + 'pcntl_wifstopped' => ['bool', 'status'=>'int'], + 'pcntl_wstopsig' => ['int', 'status'=>'int'], + 'pcntl_wtermsig' => ['int', 'status'=>'int'], + 'pdo_drivers' => ['array'], + 'pfsockopen' => ['resource|false', 'hostname'=>'string', 'port='=>'int', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'float'], + 'pg_affected_rows' => ['int', 'result'=>'resource'], + 'pg_cancel_query' => ['bool', 'connection'=>'resource'], + 'pg_client_encoding' => ['string', 'connection='=>'resource'], + 'pg_close' => ['bool', 'connection='=>'resource'], + 'pg_connect' => ['resource|false', 'connection_string'=>'string', 'flags='=>'int'], + 'pg_connect_poll' => ['int', 'connection'=>'resource'], + 'pg_connection_busy' => ['bool', 'connection'=>'resource'], + 'pg_connection_reset' => ['bool', 'connection'=>'resource'], + 'pg_connection_status' => ['int', 'connection'=>'resource'], + 'pg_consume_input' => ['bool', 'connection'=>'resource'], + 'pg_convert' => ['array|false', 'connection'=>'resource', 'table_name'=>'string', 'values'=>'array', 'flags='=>'int'], + 'pg_copy_from' => ['bool', 'connection'=>'resource', 'table_name'=>'string', 'rows'=>'array', 'separator='=>'string', 'null_as='=>'string'], + 'pg_copy_to' => ['array|false', 'connection'=>'resource', 'table_name'=>'string', 'separator='=>'string', 'null_as='=>'string'], + 'pg_dbname' => ['string', 'connection='=>'resource'], + 'pg_delete' => ['string|bool', 'connection'=>'resource', 'table_name'=>'string', 'conditions'=>'array', 'flags='=>'int'], + 'pg_end_copy' => ['bool', 'connection='=>'resource'], + 'pg_escape_bytea' => ['string', 'connection'=>'resource', 'string'=>'string'], + 'pg_escape_bytea\'1' => ['string', 'connection'=>'string'], + 'pg_escape_identifier' => ['string|false', 'connection'=>'resource', 'string'=>'string'], + 'pg_escape_identifier\'1' => ['string|false', 'connection'=>'string'], + 'pg_escape_literal' => ['string|false', 'connection'=>'resource', 'string'=>'string'], + 'pg_escape_literal\'1' => ['string|false', 'connection'=>'string'], + 'pg_escape_string' => ['string', 'connection'=>'resource', 'string'=>'string'], + 'pg_escape_string\'1' => ['string', 'connection'=>'string'], + 'pg_exec' => ['resource|false', 'connection'=>'resource', 'query'=>'string'], + 'pg_exec\'1' => ['resource|false', 'connection'=>'string'], + 'pg_execute' => ['resource|false', 'connection'=>'resource', 'statement_name'=>'string', 'params'=>'array'], + 'pg_execute\'1' => ['resource|false', 'connection'=>'string', 'statement_name'=>'array'], + 'pg_fetch_all' => ['array', 'result'=>'resource'], + 'pg_fetch_all_columns' => ['array', 'result'=>'resource', 'field='=>'int'], + 'pg_fetch_array' => ['array|false', 'result'=>'resource', 'row='=>'?int', 'mode='=>'int'], + 'pg_fetch_assoc' => ['array|false', 'result'=>'resource', 'row='=>'?int'], + 'pg_fetch_object' => ['object|false', 'result'=>'resource', 'row='=>'?int', 'class='=>'string', 'constructor_args='=>'array'], + 'pg_fetch_result' => ['string|false|null', 'result'=>'resource', 'row'=>'string|int'], + 'pg_fetch_result\'1' => ['string|false|null', 'result'=>'resource', 'row'=>'?int', 'field'=>'string|int'], + 'pg_fetch_row' => ['array|false', 'result'=>'resource', 'row='=>'?int', 'mode='=>'int'], + 'pg_field_is_null' => ['int|false', 'result'=>'resource', 'row'=>'string|int'], + 'pg_field_is_null\'1' => ['int|false', 'result'=>'resource', 'row'=>'int', 'field'=>'string|int'], + 'pg_field_name' => ['string', 'result'=>'resource', 'field'=>'int'], + 'pg_field_num' => ['int', 'result'=>'resource', 'field'=>'string'], + 'pg_field_prtlen' => ['int|false', 'result'=>'resource', 'row'=>'string|int'], + 'pg_field_prtlen\'1' => ['int|false', 'result'=>'resource', 'row'=>'int', 'field'=>'string|int'], + 'pg_field_size' => ['int', 'result'=>'resource', 'field'=>'int'], + 'pg_field_table' => ['string|int|false', 'result'=>'resource', 'field'=>'int', 'oid_only='=>'bool'], + 'pg_field_type' => ['string', 'result'=>'resource', 'field'=>'int'], + 'pg_field_type_oid' => ['int|string', 'result'=>'resource', 'field'=>'int'], + 'pg_flush' => ['int|bool', 'connection'=>'resource'], + 'pg_free_result' => ['bool', 'result'=>'resource'], + 'pg_get_notify' => ['array|false', 'connection'=>'resource', 'mode='=>'int'], + 'pg_get_pid' => ['int', 'connection'=>'resource'], + 'pg_get_result' => ['resource|false', 'connection'=>'resource'], + 'pg_host' => ['string', 'connection='=>'resource'], + 'pg_insert' => ['resource|string|false', 'connection'=>'resource', 'table_name'=>'string', 'values'=>'array', 'flags='=>'int'], + 'pg_last_error' => ['string', 'connection='=>'resource'], + 'pg_last_notice' => ['string|array|bool', 'connection'=>'resource', 'mode='=>'int'], + 'pg_last_oid' => ['string|int|false', 'result'=>'resource'], + 'pg_lo_close' => ['bool', 'lob'=>'resource'], + 'pg_lo_create' => ['int|string|false', 'connection='=>'resource', 'oid='=>'int|string'], + 'pg_lo_export' => ['bool', 'connection'=>'resource', 'oid'=>'int|string', 'filename'=>'string'], + 'pg_lo_export\'1' => ['bool', 'connection'=>'int|string', 'oid'=>'string'], + 'pg_lo_import' => ['int|string|false', 'connection'=>'resource', 'filename'=>'string', 'oid'=>'string|int'], + 'pg_lo_import\'1' => ['int|string|false', 'connection'=>'string', 'filename'=>'string|int'], + 'pg_lo_open' => ['resource|false', 'connection'=>'resource', 'oid'=>'int|string', 'mode'=>'string'], + 'pg_lo_open\'1' => ['resource|false', 'connection'=>'int|string', 'oid'=>'string'], + 'pg_lo_read' => ['string|false', 'lob'=>'resource', 'length='=>'int'], + 'pg_lo_read_all' => ['int', 'lob'=>'resource'], + 'pg_lo_seek' => ['bool', 'lob'=>'resource', 'offset'=>'int', 'whence='=>'int'], + 'pg_lo_tell' => ['int', 'lob'=>'resource'], + 'pg_lo_truncate' => ['bool', 'lob'=>'resource', 'size'=>'int'], + 'pg_lo_unlink' => ['bool', 'connection'=>'resource', 'oid'=>'int|string'], + 'pg_lo_unlink\'1' => ['bool', 'connection'=>'int|string'], + 'pg_lo_write' => ['int|false', 'lob'=>'resource', 'data'=>'string', 'length='=>'int'], + 'pg_meta_data' => ['array|false', 'connection'=>'resource', 'table_name'=>'string', 'extended='=>'bool'], + 'pg_num_fields' => ['int', 'result'=>'resource'], + 'pg_num_rows' => ['int', 'result'=>'resource'], + 'pg_options' => ['string', 'connection='=>'resource'], + 'pg_parameter_status' => ['string|false', 'connection'=>'resource', 'name'=>'string'], + 'pg_parameter_status\'1' => ['string|false', 'connection'=>'string'], + 'pg_pconnect' => ['resource|false', 'connection_string'=>'string', 'flags='=>'int'], + 'pg_ping' => ['bool', 'connection='=>'resource'], + 'pg_port' => ['string', 'connection='=>'resource'], + 'pg_prepare' => ['resource|false', 'connection'=>'resource', 'statement_name'=>'string', 'query'=>'string'], + 'pg_prepare\'1' => ['resource|false', 'connection'=>'string', 'statement_name'=>'string'], + 'pg_put_line' => ['bool', 'connection'=>'resource', 'data'=>'string'], + 'pg_put_line\'1' => ['bool', 'connection'=>'string'], + 'pg_query' => ['resource|false', 'connection'=>'resource', 'query'=>'string'], + 'pg_query\'1' => ['resource|false', 'connection'=>'string'], + 'pg_query_params' => ['resource|false', 'connection'=>'resource', 'query'=>'string', 'params'=>'array'], + 'pg_query_params\'1' => ['resource|false', 'connection'=>'string', 'query'=>'array'], + 'pg_result_error' => ['string|false', 'result'=>'resource'], + 'pg_result_error_field' => ['string|false|null', 'result'=>'resource', 'field_code'=>'int'], + 'pg_result_seek' => ['bool', 'result'=>'resource', 'row'=>'int'], + 'pg_result_status' => ['string|int', 'result'=>'resource', 'mode='=>'int'], + 'pg_select' => ['string|array|false', 'connection'=>'resource', 'table_name'=>'string', 'conditions'=>'array', 'flags='=>'int'], + 'pg_send_execute' => ['bool|int', 'connection'=>'resource', 'statement_name'=>'string', 'params'=>'array'], + 'pg_send_prepare' => ['bool|int', 'connection'=>'resource', 'statement_name'=>'string', 'query'=>'string'], + 'pg_send_query' => ['bool|int', 'connection'=>'resource', 'query'=>'string'], + 'pg_send_query_params' => ['bool|int', 'connection'=>'resource', 'query'=>'string', 'params'=>'array'], + 'pg_set_client_encoding' => ['int', 'connection'=>'resource', 'encoding'=>'string'], + 'pg_set_client_encoding\'1' => ['int', 'connection'=>'string'], + 'pg_set_error_verbosity' => ['int|false', 'connection'=>'resource', 'verbosity'=>'int'], + 'pg_set_error_verbosity\'1' => ['int|false', 'connection'=>'int'], + 'pg_socket' => ['resource|false', 'connection'=>'resource'], + 'pg_trace' => ['bool', 'filename'=>'string', 'mode='=>'string', 'connection='=>'resource'], + 'pg_transaction_status' => ['int', 'connection'=>'resource'], + 'pg_tty' => ['string', 'connection='=>'resource'], + 'pg_unescape_bytea' => ['string', 'string'=>'string'], + 'pg_untrace' => ['bool', 'connection='=>'resource'], + 'pg_update' => ['string|bool', 'connection'=>'resource', 'table_name'=>'string', 'values'=>'array', 'conditions'=>'array', 'flags='=>'int'], + 'pg_version' => ['array', 'connection='=>'resource'], + 'phardata::setMetadata' => ['void', 'metadata'=>'mixed'], + 'phardata::setSignatureAlgorithm' => ['void', 'sigtype'=>'int'], + 'phdfs::__construct' => ['void', 'ip'=>'string', 'port'=>'string'], + 'phdfs::__destruct' => ['void'], + 'phdfs::connect' => ['bool'], + 'phdfs::copy' => ['bool', 'source_file'=>'string', 'destination_file'=>'string'], + 'phdfs::create_directory' => ['bool', 'path'=>'string'], + 'phdfs::delete' => ['bool', 'path'=>'string'], + 'phdfs::disconnect' => ['bool'], + 'phdfs::exists' => ['bool', 'path'=>'string'], + 'phdfs::file_info' => ['array', 'path'=>'string'], + 'phdfs::list_directory' => ['array', 'path'=>'string'], + 'phdfs::read' => ['string', 'path'=>'string', 'length='=>'string'], + 'phdfs::rename' => ['bool', 'old_path'=>'string', 'new_path'=>'string'], + 'phdfs::tell' => ['int', 'path'=>'string'], + 'phdfs::write' => ['bool', 'path'=>'string', 'buffer'=>'string', 'mode='=>'string'], + 'php_check_syntax' => ['bool', 'filename'=>'string', 'error_message='=>'string'], + 'php_ini_loaded_file' => ['string|false'], + 'php_ini_scanned_files' => ['string|false'], + 'php_logo_guid' => ['string'], + 'php_sapi_name' => ['string'], + 'php_strip_whitespace' => ['string', 'filename'=>'string'], + 'php_uname' => ['string', 'mode='=>'string'], + 'php_user_filter::filter' => ['int', 'in'=>'resource', 'out'=>'resource', '&rw_consumed'=>'int', 'closing'=>'bool'], + 'php_user_filter::onClose' => ['void'], + 'php_user_filter::onCreate' => ['bool'], + 'phpcredits' => ['true', 'flags='=>'int'], + 'phpdbg_break_file' => ['void', 'file'=>'string', 'line'=>'int'], + 'phpdbg_break_function' => ['void', 'function'=>'string'], + 'phpdbg_break_method' => ['void', 'class'=>'string', 'method'=>'string'], + 'phpdbg_break_next' => ['void'], + 'phpdbg_clear' => ['void'], + 'phpdbg_color' => ['void', 'element'=>'int', 'color'=>'string'], + 'phpdbg_end_oplog' => ['array', 'options='=>'array'], + 'phpdbg_exec' => ['mixed', 'context='=>'string'], + 'phpdbg_get_executable' => ['array', 'options='=>'array'], + 'phpdbg_prompt' => ['void', 'string'=>'string'], + 'phpdbg_start_oplog' => ['void'], + 'phpinfo' => ['true', 'flags='=>'int'], + 'phpversion' => ['string|false', 'extension='=>'string'], + 'pht\AtomicInteger::__construct' => ['void', 'value='=>'int'], + 'pht\AtomicInteger::dec' => ['void'], + 'pht\AtomicInteger::get' => ['int'], + 'pht\AtomicInteger::inc' => ['void'], + 'pht\AtomicInteger::lock' => ['void'], + 'pht\AtomicInteger::set' => ['void', 'value'=>'int'], + 'pht\AtomicInteger::unlock' => ['void'], + 'pht\HashTable::lock' => ['void'], + 'pht\HashTable::size' => ['int'], + 'pht\HashTable::unlock' => ['void'], + 'pht\Queue::front' => ['mixed'], + 'pht\Queue::lock' => ['void'], + 'pht\Queue::pop' => ['mixed'], + 'pht\Queue::push' => ['void', 'value'=>'mixed'], + 'pht\Queue::size' => ['int'], + 'pht\Queue::unlock' => ['void'], + 'pht\Runnable::run' => ['void'], + 'pht\Vector::__construct' => ['void', 'size='=>'int', 'value='=>'mixed'], + 'pht\Vector::deleteAt' => ['void', 'offset'=>'int'], + 'pht\Vector::insertAt' => ['void', 'value'=>'mixed', 'offset'=>'int'], + 'pht\Vector::lock' => ['void'], + 'pht\Vector::pop' => ['mixed'], + 'pht\Vector::push' => ['void', 'value'=>'mixed'], + 'pht\Vector::resize' => ['void', 'size'=>'int', 'value='=>'mixed'], + 'pht\Vector::shift' => ['mixed'], + 'pht\Vector::size' => ['int'], + 'pht\Vector::unlock' => ['void'], + 'pht\Vector::unshift' => ['void', 'value'=>'mixed'], + 'pht\Vector::updateAt' => ['void', 'value'=>'mixed', 'offset'=>'int'], + 'pht\thread::addClassTask' => ['void', 'className'=>'string', '...ctorArgs='=>'mixed'], + 'pht\thread::addFileTask' => ['void', 'fileName'=>'string', '...globals='=>'mixed'], + 'pht\thread::addFunctionTask' => ['void', 'func'=>'callable', '...funcArgs='=>'mixed'], + 'pht\thread::join' => ['void'], + 'pht\thread::start' => ['void'], + 'pht\thread::taskCount' => ['int'], + 'pht\threaded::lock' => ['void'], + 'pht\threaded::unlock' => ['void'], + 'pi' => ['float'], + 'png2wbmp' => ['bool', 'pngname'=>'string', 'wbmpname'=>'string', 'dest_height'=>'int', 'dest_width'=>'int', 'threshold'=>'int'], + 'pointObj::__construct' => ['void'], + 'pointObj::distanceToLine' => ['float', 'p1'=>'pointObj', 'p2'=>'pointObj'], + 'pointObj::distanceToPoint' => ['float', 'poPoint'=>'pointObj'], + 'pointObj::distanceToShape' => ['float', 'shape'=>'shapeObj'], + 'pointObj::draw' => ['int', 'map'=>'mapObj', 'layer'=>'layerObj', 'img'=>'imageObj', 'class_index'=>'int', 'text'=>'string'], + 'pointObj::ms_newPointObj' => ['pointObj'], + 'pointObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], + 'pointObj::setXY' => ['int', 'x'=>'float', 'y'=>'float', 'm'=>'float'], + 'pointObj::setXYZ' => ['int', 'x'=>'float', 'y'=>'float', 'z'=>'float', 'm'=>'float'], + 'popen' => ['resource|false', 'command'=>'string', 'mode'=>'string'], + 'pos' => ['mixed', 'array'=>'array'], + 'posix_access' => ['bool', 'filename'=>'string', 'flags='=>'int'], + 'posix_ctermid' => ['string|false'], + 'posix_errno' => ['int'], + 'posix_get_last_error' => ['int'], + 'posix_getcwd' => ['string|false'], + 'posix_getegid' => ['int'], + 'posix_geteuid' => ['int'], + 'posix_getgid' => ['int'], + 'posix_getgrgid' => ['array{name: string, passwd: string, gid: int, members: list}|false', 'group_id'=>'int'], + 'posix_getgrnam' => ['array{name: string, passwd: string, gid: int, members: list}|false', 'name'=>'string'], + 'posix_getgroups' => ['list|false'], + 'posix_getlogin' => ['string|false'], + 'posix_getpgid' => ['int|false', 'process_id'=>'int'], + 'posix_getpgrp' => ['int'], + 'posix_getpid' => ['int'], + 'posix_getppid' => ['int'], + 'posix_getpwnam' => ['array{name: string, passwd: string, uid: int, gid: int, gecos: string, dir: string, shell: string}|false', 'username'=>'string'], + 'posix_getpwuid' => ['array{name: string, passwd: string, uid: int, gid: int, gecos: string, dir: string, shell: string}|false', 'user_id'=>'int'], + 'posix_getrlimit' => ['array{"soft core": string, "hard core": string, "soft data": string, "hard data": string, "soft stack": integer, "hard stack": string, "soft totalmem": string, "hard totalmem": string, "soft rss": string, "hard rss": string, "soft maxproc": integer, "hard maxproc": integer, "soft memlock": integer, "hard memlock": integer, "soft cpu": string, "hard cpu": string, "soft filesize": string, "hard filesize": string, "soft openfiles": integer, "hard openfiles": integer}|false'], + 'posix_getsid' => ['int|false', 'process_id'=>'int'], + 'posix_getuid' => ['int'], + 'posix_initgroups' => ['bool', 'username'=>'string', 'group_id'=>'int'], + 'posix_isatty' => ['bool', 'file_descriptor'=>'resource|int'], + 'posix_kill' => ['bool', 'process_id'=>'int', 'signal'=>'int'], + 'posix_mkfifo' => ['bool', 'filename'=>'string', 'permissions'=>'int'], + 'posix_mknod' => ['bool', 'filename'=>'string', 'flags'=>'int', 'major='=>'int', 'minor='=>'int'], + 'posix_setegid' => ['bool', 'group_id'=>'int'], + 'posix_seteuid' => ['bool', 'user_id'=>'int'], + 'posix_setgid' => ['bool', 'group_id'=>'int'], + 'posix_setpgid' => ['bool', 'process_id'=>'int', 'process_group_id'=>'int'], + 'posix_setrlimit' => ['bool', 'resource'=>'int', 'soft_limit'=>'int', 'hard_limit'=>'int'], + 'posix_setsid' => ['int'], + 'posix_setuid' => ['bool', 'user_id'=>'int'], + 'posix_strerror' => ['string', 'error_code'=>'int'], + 'posix_times' => ['array{ticks: int, utime: int, stime: int, cutime: int, cstime: int}|false'], + 'posix_ttyname' => ['string|false', 'file_descriptor'=>'resource|int'], + 'posix_uname' => ['array{sysname: string, nodename: string, release: string, version: string, machine: string, domainname: string}|false'], + 'pow' => ['float|int', 'num'=>'int|float', 'exponent'=>'int|float'], + 'preg_filter' => ['string|string[]|null', 'pattern'=>'string|string[]', 'replacement'=>'string|string[]', 'subject'=>'string|string[]', 'limit='=>'int', '&w_count='=>'int'], + 'preg_grep' => ['array|false', 'pattern'=>'string', 'array'=>'array', 'flags='=>'int'], + 'preg_last_error' => ['int'], + 'preg_match' => ['int|false', 'pattern'=>'string', 'subject'=>'string', '&w_matches='=>'string[]', 'flags='=>'0', 'offset='=>'int'], + 'preg_match\'1' => ['int|false', 'pattern'=>'string', 'subject'=>'string', '&w_matches='=>'array', 'flags='=>'int', 'offset='=>'int'], + 'preg_match_all' => ['int|false', 'pattern'=>'string', 'subject'=>'string', '&w_matches='=>'array', 'flags='=>'int', 'offset='=>'int'], + 'preg_quote' => ['string', 'str'=>'string', 'delimiter='=>'string'], + 'preg_replace' => ['string|string[]|null', 'pattern'=>'string|array', 'replacement'=>'string|array', 'subject'=>'string|array', 'limit='=>'int', '&w_count='=>'int'], + 'preg_replace_callback' => ['string|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int'], + 'preg_replace_callback\'1' => ['string[]|null', 'pattern'=>'string|array', 'callback'=>'callable(string[]):string', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int'], + 'preg_replace_callback_array' => ['string|null', 'pattern'=>'array', 'subject'=>'string', 'limit='=>'int', '&w_count='=>'int'], + 'preg_replace_callback_array\'1' => ['string[]|null', 'pattern'=>'array', 'subject'=>'string[]', 'limit='=>'int', '&w_count='=>'int'], + 'preg_split' => ['list|false', 'pattern'=>'string', 'subject'=>'string', 'limit'=>'int', 'flags='=>'null'], + 'preg_split\'1' => ['list|list>|false', 'pattern'=>'string', 'subject'=>'string', 'limit='=>'int', 'flags='=>'int'], + 'prev' => ['mixed', '&r_array'=>'array|object'], + 'print' => ['int', 'arg'=>'string'], + 'print_r' => ['string', 'value'=>'mixed'], + 'print_r\'1' => ['true', 'value'=>'mixed', 'return='=>'bool'], + 'printf' => ['int', 'format'=>'string', '...values='=>'string|int|float'], + 'proc_close' => ['int', 'process'=>'resource'], + 'proc_get_status' => ['array{command: string, pid: int, running: bool, signaled: bool, stopped: bool, exitcode: int, termsig: int, stopsig: int}|false', 'process'=>'resource'], + 'proc_nice' => ['bool', 'priority'=>'int'], + 'proc_open' => ['resource|false', 'command'=>'string', 'descriptor_spec'=>'array', '&pipes'=>'resource[]', 'cwd='=>'?string', 'env_vars='=>'?array', 'options='=>'?array'], + 'proc_terminate' => ['bool', 'process'=>'resource', 'signal='=>'int'], + 'projectionObj::__construct' => ['void', 'projectionString'=>'string'], + 'projectionObj::getUnits' => ['int'], + 'projectionObj::ms_newProjectionObj' => ['projectionObj', 'projectionString'=>'string'], + 'property_exists' => ['bool', 'object_or_class'=>'object|string', 'property'=>'string'], + 'ps_add_bookmark' => ['int', 'psdoc'=>'resource', 'text'=>'string', 'parent='=>'int', 'open='=>'int'], + 'ps_add_launchlink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string'], + 'ps_add_locallink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'page'=>'int', 'dest'=>'string'], + 'ps_add_note' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'contents'=>'string', 'title'=>'string', 'icon'=>'string', 'open'=>'int'], + 'ps_add_pdflink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'filename'=>'string', 'page'=>'int', 'dest'=>'string'], + 'ps_add_weblink' => ['bool', 'psdoc'=>'resource', 'llx'=>'float', 'lly'=>'float', 'urx'=>'float', 'ury'=>'float', 'url'=>'string'], + 'ps_arc' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'radius'=>'float', 'alpha'=>'float', 'beta'=>'float'], + 'ps_arcn' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'radius'=>'float', 'alpha'=>'float', 'beta'=>'float'], + 'ps_begin_page' => ['bool', 'psdoc'=>'resource', 'width'=>'float', 'height'=>'float'], + 'ps_begin_pattern' => ['int', 'psdoc'=>'resource', 'width'=>'float', 'height'=>'float', 'xstep'=>'float', 'ystep'=>'float', 'painttype'=>'int'], + 'ps_begin_template' => ['int', 'psdoc'=>'resource', 'width'=>'float', 'height'=>'float'], + 'ps_circle' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'radius'=>'float'], + 'ps_clip' => ['bool', 'psdoc'=>'resource'], + 'ps_close' => ['bool', 'psdoc'=>'resource'], + 'ps_close_image' => ['void', 'psdoc'=>'resource', 'imageid'=>'int'], + 'ps_closepath' => ['bool', 'psdoc'=>'resource'], + 'ps_closepath_stroke' => ['bool', 'psdoc'=>'resource'], + 'ps_continue_text' => ['bool', 'psdoc'=>'resource', 'text'=>'string'], + 'ps_curveto' => ['bool', 'psdoc'=>'resource', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'ps_delete' => ['bool', 'psdoc'=>'resource'], + 'ps_end_page' => ['bool', 'psdoc'=>'resource'], + 'ps_end_pattern' => ['bool', 'psdoc'=>'resource'], + 'ps_end_template' => ['bool', 'psdoc'=>'resource'], + 'ps_fill' => ['bool', 'psdoc'=>'resource'], + 'ps_fill_stroke' => ['bool', 'psdoc'=>'resource'], + 'ps_findfont' => ['int', 'psdoc'=>'resource', 'fontname'=>'string', 'encoding'=>'string', 'embed='=>'bool'], + 'ps_get_buffer' => ['string', 'psdoc'=>'resource'], + 'ps_get_parameter' => ['string', 'psdoc'=>'resource', 'name'=>'string', 'modifier='=>'float'], + 'ps_get_value' => ['float', 'psdoc'=>'resource', 'name'=>'string', 'modifier='=>'float'], + 'ps_hyphenate' => ['array', 'psdoc'=>'resource', 'text'=>'string'], + 'ps_include_file' => ['bool', 'psdoc'=>'resource', 'file'=>'string'], + 'ps_lineto' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], + 'ps_makespotcolor' => ['int', 'psdoc'=>'resource', 'name'=>'string', 'reserved='=>'int'], + 'ps_moveto' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], + 'ps_new' => ['resource'], + 'ps_open_file' => ['bool', 'psdoc'=>'resource', 'filename='=>'string'], + 'ps_open_image' => ['int', 'psdoc'=>'resource', 'type'=>'string', 'source'=>'string', 'data'=>'string', 'length'=>'int', 'width'=>'int', 'height'=>'int', 'components'=>'int', 'bpc'=>'int', 'params'=>'string'], + 'ps_open_image_file' => ['int', 'psdoc'=>'resource', 'type'=>'string', 'filename'=>'string', 'stringparam='=>'string', 'intparam='=>'int'], + 'ps_open_memory_image' => ['int', 'psdoc'=>'resource', 'gd'=>'int'], + 'ps_place_image' => ['bool', 'psdoc'=>'resource', 'imageid'=>'int', 'x'=>'float', 'y'=>'float', 'scale'=>'float'], + 'ps_rect' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float', 'width'=>'float', 'height'=>'float'], + 'ps_restore' => ['bool', 'psdoc'=>'resource'], + 'ps_rotate' => ['bool', 'psdoc'=>'resource', 'rot'=>'float'], + 'ps_save' => ['bool', 'psdoc'=>'resource'], + 'ps_scale' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], + 'ps_set_border_color' => ['bool', 'psdoc'=>'resource', 'red'=>'float', 'green'=>'float', 'blue'=>'float'], + 'ps_set_border_dash' => ['bool', 'psdoc'=>'resource', 'black'=>'float', 'white'=>'float'], + 'ps_set_border_style' => ['bool', 'psdoc'=>'resource', 'style'=>'string', 'width'=>'float'], + 'ps_set_info' => ['bool', 'p'=>'resource', 'key'=>'string', 'value'=>'string'], + 'ps_set_parameter' => ['bool', 'psdoc'=>'resource', 'name'=>'string', 'value'=>'string'], + 'ps_set_text_pos' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], + 'ps_set_value' => ['bool', 'psdoc'=>'resource', 'name'=>'string', 'value'=>'float'], + 'ps_setcolor' => ['bool', 'psdoc'=>'resource', 'type'=>'string', 'colorspace'=>'string', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float'], + 'ps_setdash' => ['bool', 'psdoc'=>'resource', 'on'=>'float', 'off'=>'float'], + 'ps_setflat' => ['bool', 'psdoc'=>'resource', 'value'=>'float'], + 'ps_setfont' => ['bool', 'psdoc'=>'resource', 'fontid'=>'int', 'size'=>'float'], + 'ps_setgray' => ['bool', 'psdoc'=>'resource', 'gray'=>'float'], + 'ps_setlinecap' => ['bool', 'psdoc'=>'resource', 'type'=>'int'], + 'ps_setlinejoin' => ['bool', 'psdoc'=>'resource', 'type'=>'int'], + 'ps_setlinewidth' => ['bool', 'psdoc'=>'resource', 'width'=>'float'], + 'ps_setmiterlimit' => ['bool', 'psdoc'=>'resource', 'value'=>'float'], + 'ps_setoverprintmode' => ['bool', 'psdoc'=>'resource', 'mode'=>'int'], + 'ps_setpolydash' => ['bool', 'psdoc'=>'resource', 'arr'=>'float'], + 'ps_shading' => ['int', 'psdoc'=>'resource', 'type'=>'string', 'x0'=>'float', 'y0'=>'float', 'x1'=>'float', 'y1'=>'float', 'c1'=>'float', 'c2'=>'float', 'c3'=>'float', 'c4'=>'float', 'optlist'=>'string'], + 'ps_shading_pattern' => ['int', 'psdoc'=>'resource', 'shadingid'=>'int', 'optlist'=>'string'], + 'ps_shfill' => ['bool', 'psdoc'=>'resource', 'shadingid'=>'int'], + 'ps_show' => ['bool', 'psdoc'=>'resource', 'text'=>'string'], + 'ps_show2' => ['bool', 'psdoc'=>'resource', 'text'=>'string', 'length'=>'int'], + 'ps_show_boxed' => ['int', 'psdoc'=>'resource', 'text'=>'string', 'left'=>'float', 'bottom'=>'float', 'width'=>'float', 'height'=>'float', 'hmode'=>'string', 'feature='=>'string'], + 'ps_show_xy' => ['bool', 'psdoc'=>'resource', 'text'=>'string', 'x'=>'float', 'y'=>'float'], + 'ps_show_xy2' => ['bool', 'psdoc'=>'resource', 'text'=>'string', 'length'=>'int', 'xcoor'=>'float', 'ycoor'=>'float'], + 'ps_string_geometry' => ['array', 'psdoc'=>'resource', 'text'=>'string', 'fontid='=>'int', 'size='=>'float'], + 'ps_stringwidth' => ['float', 'psdoc'=>'resource', 'text'=>'string', 'fontid='=>'int', 'size='=>'float'], + 'ps_stroke' => ['bool', 'psdoc'=>'resource'], + 'ps_symbol' => ['bool', 'psdoc'=>'resource', 'ord'=>'int'], + 'ps_symbol_name' => ['string', 'psdoc'=>'resource', 'ord'=>'int', 'fontid='=>'int'], + 'ps_symbol_width' => ['float', 'psdoc'=>'resource', 'ord'=>'int', 'fontid='=>'int', 'size='=>'float'], + 'ps_translate' => ['bool', 'psdoc'=>'resource', 'x'=>'float', 'y'=>'float'], + 'pspell_add_to_personal' => ['bool', 'dictionary'=>'int', 'word'=>'string'], + 'pspell_add_to_session' => ['bool', 'dictionary'=>'int', 'word'=>'string'], + 'pspell_check' => ['bool', 'dictionary'=>'int', 'word'=>'string'], + 'pspell_clear_session' => ['bool', 'dictionary'=>'int'], + 'pspell_config_create' => ['int', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string'], + 'pspell_config_data_dir' => ['bool', 'config'=>'int', 'directory'=>'string'], + 'pspell_config_dict_dir' => ['bool', 'config'=>'int', 'directory'=>'string'], + 'pspell_config_ignore' => ['bool', 'config'=>'int', 'min_length'=>'int'], + 'pspell_config_mode' => ['bool', 'config'=>'int', 'mode'=>'int'], + 'pspell_config_personal' => ['bool', 'config'=>'int', 'filename'=>'string'], + 'pspell_config_repl' => ['bool', 'config'=>'int', 'filename'=>'string'], + 'pspell_config_runtogether' => ['bool', 'config'=>'int', 'allow'=>'bool'], + 'pspell_config_save_repl' => ['bool', 'config'=>'int', 'save'=>'bool'], + 'pspell_new' => ['int|false', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], + 'pspell_new_config' => ['int|false', 'config'=>'int'], + 'pspell_new_personal' => ['int|false', 'filename'=>'string', 'language'=>'string', 'spelling='=>'string', 'jargon='=>'string', 'encoding='=>'string', 'mode='=>'int'], + 'pspell_save_wordlist' => ['bool', 'dictionary'=>'int'], + 'pspell_store_replacement' => ['bool', 'dictionary'=>'int', 'misspelled'=>'string', 'correct'=>'string'], + 'pspell_suggest' => ['array', 'dictionary'=>'int', 'word'=>'string'], + 'putenv' => ['bool', 'assignment'=>'string'], + 'px_close' => ['bool', 'pxdoc'=>'resource'], + 'px_create_fp' => ['bool', 'pxdoc'=>'resource', 'file'=>'resource', 'fielddesc'=>'array'], + 'px_date2string' => ['string', 'pxdoc'=>'resource', 'value'=>'int', 'format'=>'string'], + 'px_delete' => ['bool', 'pxdoc'=>'resource'], + 'px_delete_record' => ['bool', 'pxdoc'=>'resource', 'num'=>'int'], + 'px_get_field' => ['array', 'pxdoc'=>'resource', 'fieldno'=>'int'], + 'px_get_info' => ['array', 'pxdoc'=>'resource'], + 'px_get_parameter' => ['string', 'pxdoc'=>'resource', 'name'=>'string'], + 'px_get_record' => ['array', 'pxdoc'=>'resource', 'num'=>'int', 'mode='=>'int'], + 'px_get_schema' => ['array', 'pxdoc'=>'resource', 'mode='=>'int'], + 'px_get_value' => ['float', 'pxdoc'=>'resource', 'name'=>'string'], + 'px_insert_record' => ['int', 'pxdoc'=>'resource', 'data'=>'array'], + 'px_new' => ['resource'], + 'px_numfields' => ['int', 'pxdoc'=>'resource'], + 'px_numrecords' => ['int', 'pxdoc'=>'resource'], + 'px_open_fp' => ['bool', 'pxdoc'=>'resource', 'file'=>'resource'], + 'px_put_record' => ['bool', 'pxdoc'=>'resource', 'record'=>'array', 'recpos='=>'int'], + 'px_retrieve_record' => ['array', 'pxdoc'=>'resource', 'num'=>'int', 'mode='=>'int'], + 'px_set_blob_file' => ['bool', 'pxdoc'=>'resource', 'filename'=>'string'], + 'px_set_parameter' => ['bool', 'pxdoc'=>'resource', 'name'=>'string', 'value'=>'string'], + 'px_set_tablename' => ['void', 'pxdoc'=>'resource', 'name'=>'string'], + 'px_set_targetencoding' => ['bool', 'pxdoc'=>'resource', 'encoding'=>'string'], + 'px_set_value' => ['bool', 'pxdoc'=>'resource', 'name'=>'string', 'value'=>'float'], + 'px_timestamp2string' => ['string', 'pxdoc'=>'resource', 'value'=>'float', 'format'=>'string'], + 'px_update_record' => ['bool', 'pxdoc'=>'resource', 'data'=>'array', 'num'=>'int'], + 'qdom_error' => ['string'], + 'qdom_tree' => ['QDomDocument', 'doc'=>'string'], + 'querymapObj::convertToString' => ['string'], + 'querymapObj::free' => ['void'], + 'querymapObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'querymapObj::updateFromString' => ['int', 'snippet'=>'string'], + 'quoted_printable_decode' => ['string', 'string'=>'string'], + 'quoted_printable_encode' => ['string', 'string'=>'string'], + 'quotemeta' => ['string', 'string'=>'string'], + 'rad2deg' => ['float', 'num'=>'float'], + 'radius_acct_open' => ['resource|false'], + 'radius_add_server' => ['bool', 'radius_handle'=>'resource', 'hostname'=>'string', 'port'=>'int', 'secret'=>'string', 'timeout'=>'int', 'max_tries'=>'int'], + 'radius_auth_open' => ['resource|false'], + 'radius_close' => ['bool', 'radius_handle'=>'resource'], + 'radius_config' => ['bool', 'radius_handle'=>'resource', 'file'=>'string'], + 'radius_create_request' => ['bool', 'radius_handle'=>'resource', 'type'=>'int'], + 'radius_cvt_addr' => ['string', 'data'=>'string'], + 'radius_cvt_int' => ['int', 'data'=>'string'], + 'radius_cvt_string' => ['string', 'data'=>'string'], + 'radius_demangle' => ['string', 'radius_handle'=>'resource', 'mangled'=>'string'], + 'radius_demangle_mppe_key' => ['string', 'radius_handle'=>'resource', 'mangled'=>'string'], + 'radius_get_attr' => ['mixed', 'radius_handle'=>'resource'], + 'radius_get_tagged_attr_data' => ['string', 'data'=>'string'], + 'radius_get_tagged_attr_tag' => ['int', 'data'=>'string'], + 'radius_get_vendor_attr' => ['array', 'data'=>'string'], + 'radius_put_addr' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'addr'=>'string'], + 'radius_put_attr' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'value'=>'string'], + 'radius_put_int' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'value'=>'int'], + 'radius_put_string' => ['bool', 'radius_handle'=>'resource', 'type'=>'int', 'value'=>'string'], + 'radius_put_vendor_addr' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'addr'=>'string'], + 'radius_put_vendor_attr' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'value'=>'string'], + 'radius_put_vendor_int' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'value'=>'int'], + 'radius_put_vendor_string' => ['bool', 'radius_handle'=>'resource', 'vendor'=>'int', 'type'=>'int', 'value'=>'string'], + 'radius_request_authenticator' => ['string', 'radius_handle'=>'resource'], + 'radius_salt_encrypt_attr' => ['string', 'radius_handle'=>'resource', 'data'=>'string'], + 'radius_send_request' => ['int|false', 'radius_handle'=>'resource'], + 'radius_server_secret' => ['string', 'radius_handle'=>'resource'], + 'radius_strerror' => ['string', 'radius_handle'=>'resource'], + 'rand' => ['int', 'min'=>'int', 'max'=>'int'], + 'rand\'1' => ['int'], + 'random_bytes' => ['non-empty-string', 'length'=>'positive-int'], + 'random_int' => ['int', 'min'=>'int', 'max'=>'int'], + 'range' => ['array', 'start'=>'mixed', 'end'=>'mixed', 'step='=>'int|float'], + 'rar_allow_broken_set' => ['bool', 'rarfile'=>'RarArchive', 'allow_broken'=>'bool'], + 'rar_broken_is' => ['bool', 'rarfile'=>'rararchive'], + 'rar_close' => ['bool', 'rarfile'=>'rararchive'], + 'rar_comment_get' => ['string', 'rarfile'=>'rararchive'], + 'rar_entry_get' => ['RarEntry', 'rarfile'=>'RarArchive', 'entryname'=>'string'], + 'rar_list' => ['RarArchive', 'rarfile'=>'rararchive'], + 'rar_open' => ['RarArchive', 'filename'=>'string', 'password='=>'string', 'volume_callback='=>'callable'], + 'rar_solid_is' => ['bool', 'rarfile'=>'rararchive'], + 'rar_wrapper_cache_stats' => ['string'], + 'rawurldecode' => ['string', 'string'=>'string'], + 'rawurlencode' => ['string', 'string'=>'string'], + 'rd_kafka_err2str' => ['string', 'err'=>'int'], + 'rd_kafka_errno' => ['int'], + 'rd_kafka_errno2err' => ['int', 'errnox'=>'int'], + 'rd_kafka_offset_tail' => ['int', 'cnt'=>'int'], + 'read_exif_data' => ['array', 'filename'=>'string', 'sections_needed='=>'string', 'sub_arrays='=>'bool', 'read_thumbnail='=>'bool'], + 'readdir' => ['string|false', 'dir_handle='=>'resource'], + 'readfile' => ['int|false', 'filename'=>'string', 'use_include_path='=>'bool', 'context='=>'resource'], + 'readgzfile' => ['int|false', 'filename'=>'string', 'use_include_path='=>'int'], + 'readline' => ['string|false', 'prompt='=>'?string'], + 'readline_add_history' => ['bool', 'prompt'=>'string'], + 'readline_callback_handler_install' => ['bool', 'prompt'=>'string', 'callback'=>'callable'], + 'readline_callback_handler_remove' => ['bool'], + 'readline_callback_read_char' => ['void'], + 'readline_clear_history' => ['bool'], + 'readline_completion_function' => ['bool', 'callback'=>'callable'], + 'readline_info' => ['mixed', 'var_name='=>'string', 'value='=>'string|int|bool'], + 'readline_list_history' => ['array'], + 'readline_on_new_line' => ['void'], + 'readline_read_history' => ['bool', 'filename='=>'string'], + 'readline_redisplay' => ['void'], + 'readline_write_history' => ['bool', 'filename='=>'string'], + 'readlink' => ['string|false', 'path'=>'string'], + 'realpath' => ['string|false', 'path'=>'string'], + 'realpath_cache_get' => ['array'], + 'realpath_cache_size' => ['int'], + 'recode' => ['string', 'request'=>'string', 'string'=>'string'], + 'recode_file' => ['bool', 'request'=>'string', 'input'=>'resource', 'output'=>'resource'], + 'recode_string' => ['string|false', 'request'=>'string', 'string'=>'string'], + 'rectObj::__construct' => ['void'], + 'rectObj::draw' => ['int', 'map'=>'mapObj', 'layer'=>'layerObj', 'img'=>'imageObj', 'class_index'=>'int', 'text'=>'string'], + 'rectObj::fit' => ['float', 'width'=>'int', 'height'=>'int'], + 'rectObj::ms_newRectObj' => ['rectObj'], + 'rectObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], + 'rectObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'rectObj::setextent' => ['void', 'minx'=>'float', 'miny'=>'float', 'maxx'=>'float', 'maxy'=>'float'], + 'register_event_handler' => ['bool', 'event_handler_func'=>'string', 'handler_register_name'=>'string', 'event_type_mask'=>'int'], + 'register_shutdown_function' => ['void', 'callback'=>'callable', '...args='=>'mixed'], + 'register_tick_function' => ['bool', 'callback'=>'callable():void', '...args='=>'mixed'], + 'rename' => ['bool', 'from'=>'string', 'to'=>'string', 'context='=>'resource'], + 'rename_function' => ['bool', 'original_name'=>'string', 'new_name'=>'string'], + 'reset' => ['mixed|false', '&r_array'=>'array|object'], + 'resourcebundle_count' => ['int', 'bundle'=>'ResourceBundle'], + 'resourcebundle_create' => ['?ResourceBundle', 'locale'=>'?string', 'bundle'=>'?string', 'fallback='=>'bool'], + 'resourcebundle_get' => ['mixed|null', 'bundle'=>'ResourceBundle', 'index'=>'string|int', 'fallback='=>'bool'], + 'resourcebundle_get_error_code' => ['int', 'bundle'=>'ResourceBundle'], + 'resourcebundle_get_error_message' => ['string', 'bundle'=>'ResourceBundle'], + 'resourcebundle_locales' => ['array', 'bundle'=>'string'], + 'restore_error_handler' => ['true'], + 'restore_exception_handler' => ['true'], + 'restore_include_path' => ['void'], + 'rewind' => ['bool', 'stream'=>'resource'], + 'rewinddir' => ['void', 'dir_handle='=>'resource'], + 'rmdir' => ['bool', 'directory'=>'string', 'context='=>'resource'], + 'round' => ['float', 'num'=>'float', 'precision='=>'int', 'mode='=>'0|positive-int'], + 'rpm_close' => ['bool', 'rpmr'=>'resource'], + 'rpm_get_tag' => ['mixed', 'rpmr'=>'resource', 'tagnum'=>'int'], + 'rpm_is_valid' => ['bool', 'filename'=>'string'], + 'rpm_open' => ['resource|false', 'filename'=>'string'], + 'rpm_version' => ['string'], + 'rpmaddtag' => ['bool', 'tag'=>'int'], + 'rpmdbinfo' => ['array', 'nevr'=>'string', 'full='=>'bool'], + 'rpmdbsearch' => ['array', 'pattern'=>'string', 'rpmtag='=>'int', 'rpmmire='=>'int', 'full='=>'bool'], + 'rpminfo' => ['array', 'path'=>'string', 'full='=>'bool', 'error='=>'string'], + 'rpmvercmp' => ['int', 'evr1'=>'string', 'evr2'=>'string'], + 'rrd_create' => ['bool', 'filename'=>'string', 'options'=>'array'], + 'rrd_disconnect' => ['void'], + 'rrd_error' => ['string'], + 'rrd_fetch' => ['array', 'filename'=>'string', 'options'=>'array'], + 'rrd_first' => ['int|false', 'file'=>'string', 'raaindex='=>'int'], + 'rrd_graph' => ['array|false', 'filename'=>'string', 'options'=>'array'], + 'rrd_info' => ['array|false', 'filename'=>'string'], + 'rrd_last' => ['int', 'filename'=>'string'], + 'rrd_lastupdate' => ['array|false', 'filename'=>'string'], + 'rrd_restore' => ['bool', 'xml_file'=>'string', 'rrd_file'=>'string', 'options='=>'array'], + 'rrd_tune' => ['bool', 'filename'=>'string', 'options'=>'array'], + 'rrd_update' => ['bool', 'filename'=>'string', 'options'=>'array'], + 'rrd_version' => ['string'], + 'rrd_xport' => ['array|false', 'options'=>'array'], + 'rrdc_disconnect' => ['void'], + 'rsort' => ['bool', '&rw_array'=>'array', 'flags='=>'int'], + 'rtrim' => ['string', 'string'=>'string', 'characters='=>'string'], + 'runkit7_constant_add' => ['bool', 'constant_name'=>'string', 'value'=>'mixed', 'new_visibility='=>'int'], + 'runkit7_constant_redefine' => ['bool', 'constant_name'=>'string', 'value'=>'mixed', 'new_visibility='=>'?int'], + 'runkit7_constant_remove' => ['bool', 'constant_name'=>'string'], + 'runkit7_function_add' => ['bool', 'function_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_doc_comment='=>'?string', 'return_by_reference='=>'?bool', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], + 'runkit7_function_copy' => ['bool', 'source_name'=>'string', 'target_name'=>'string'], + 'runkit7_function_redefine' => ['bool', 'function_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_doc_comment='=>'?string', 'return_by_reference='=>'?bool', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], + 'runkit7_function_remove' => ['bool', 'function_name'=>'string'], + 'runkit7_function_rename' => ['bool', 'source_name'=>'string', 'target_name'=>'string'], + 'runkit7_import' => ['bool', 'filename'=>'string', 'flags='=>'?int'], + 'runkit7_method_add' => ['bool', 'class_name'=>'string', 'method_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_flags='=>'int|null|string', 'flags_or_doc_comment='=>'int|null|string', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], + 'runkit7_method_copy' => ['bool', 'destination_class'=>'string', 'destination_method'=>'string', 'source_class'=>'string', 'source_method='=>'?string'], + 'runkit7_method_redefine' => ['bool', 'class_name'=>'string', 'method_name'=>'string', 'argument_list_or_closure'=>'Closure|string', 'code_or_flags='=>'int|null|string', 'flags_or_doc_comment='=>'int|null|string', 'doc_comment='=>'?string', 'return_type='=>'?string', 'is_strict='=>'?bool'], + 'runkit7_method_remove' => ['bool', 'class_name'=>'string', 'method_name'=>'string'], + 'runkit7_method_rename' => ['bool', 'class_name'=>'string', 'source_method_name'=>'string', 'source_target_name'=>'string'], + 'runkit7_superglobals' => ['array'], + 'runkit7_zval_inspect' => ['array', 'value'=>'mixed'], + 'runkit_class_adopt' => ['bool', 'classname'=>'string', 'parentname'=>'string'], + 'runkit_class_emancipate' => ['bool', 'classname'=>'string'], + 'runkit_constant_add' => ['bool', 'constname'=>'string', 'value'=>'mixed'], + 'runkit_constant_redefine' => ['bool', 'constname'=>'string', 'newvalue'=>'mixed'], + 'runkit_constant_remove' => ['bool', 'constname'=>'string'], + 'runkit_function_add' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string', 'doccomment='=>'?string'], + 'runkit_function_add\'1' => ['bool', 'funcname'=>'string', 'closure'=>'Closure', 'doccomment='=>'?string'], + 'runkit_function_copy' => ['bool', 'funcname'=>'string', 'targetname'=>'string'], + 'runkit_function_redefine' => ['bool', 'funcname'=>'string', 'arglist'=>'string', 'code'=>'string', 'doccomment='=>'?string'], + 'runkit_function_redefine\'1' => ['bool', 'funcname'=>'string', 'closure'=>'Closure', 'doccomment='=>'?string'], + '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', 'doccomment='=>'?string'], + 'runkit_method_add\'1' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'closure'=>'Closure', 'flags='=>'int', 'doccomment='=>'?string'], + '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', 'doccomment='=>'?string'], + 'runkit_method_redefine\'1' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'closure'=>'Closure', 'flags='=>'int', 'doccomment='=>'?string'], + 'runkit_method_remove' => ['bool', 'classname'=>'string', 'methodname'=>'string'], + 'runkit_method_rename' => ['bool', 'classname'=>'string', 'methodname'=>'string', 'newname'=>'string'], + 'runkit_return_value_used' => ['bool'], + 'runkit_sandbox_output_handler' => ['mixed', 'sandbox'=>'object', 'callback='=>'mixed'], + 'runkit_superglobals' => ['array'], + 'runkit_zval_inspect' => ['array', 'value'=>'mixed'], + 'scalebarObj::convertToString' => ['string'], + 'scalebarObj::free' => ['void'], + 'scalebarObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'scalebarObj::setImageColor' => ['int', 'red'=>'int', 'green'=>'int', 'blue'=>'int'], + 'scalebarObj::updateFromString' => ['int', 'snippet'=>'string'], + 'scandir' => ['list|false', 'directory'=>'string', 'sorting_order='=>'int', 'context='=>'resource'], + 'seaslog_get_author' => ['string'], + 'seaslog_get_version' => ['string'], + 'sem_acquire' => ['bool', 'semaphore'=>'resource', 'non_blocking='=>'bool'], + 'sem_get' => ['resource|false', 'key'=>'int', 'max_acquire='=>'int', 'permissions='=>'int', 'auto_release='=>'bool'], + 'sem_release' => ['bool', 'semaphore'=>'resource'], + 'sem_remove' => ['bool', 'semaphore'=>'resource'], + 'serialize' => ['string', 'value'=>'mixed'], + 'session_abort' => ['bool'], + 'session_cache_expire' => ['int', 'value='=>'int'], + 'session_cache_limiter' => ['string', 'value='=>'string'], + 'session_commit' => ['bool'], + 'session_decode' => ['bool', 'data'=>'string'], + 'session_destroy' => ['bool'], + 'session_encode' => ['string'], + 'session_get_cookie_params' => ['array'], + 'session_id' => ['string|false', 'id='=>'string'], + 'session_is_registered' => ['bool', 'name'=>'string'], + 'session_module_name' => ['string', 'module='=>'string'], + 'session_name' => ['string|false', 'name='=>'string'], + 'session_pgsql_add_error' => ['bool', 'error_level'=>'int', 'error_message='=>'string'], + 'session_pgsql_get_error' => ['array', 'with_error_message='=>'bool'], + 'session_pgsql_get_field' => ['string'], + 'session_pgsql_reset' => ['bool'], + 'session_pgsql_set_field' => ['bool', 'value'=>'string'], + 'session_pgsql_status' => ['array'], + 'session_regenerate_id' => ['bool', 'delete_old_session='=>'bool'], + 'session_register' => ['bool', 'name'=>'mixed', '...args='=>'mixed'], + 'session_register_shutdown' => ['void'], + 'session_reset' => ['bool'], + 'session_save_path' => ['string', 'path='=>'string'], + 'session_set_cookie_params' => ['bool', 'lifetime'=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool'], + 'session_set_save_handler' => ['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'], + 'session_set_save_handler\'1' => ['bool', 'open'=>'SessionHandlerInterface', 'close='=>'bool'], + 'session_start' => ['bool', 'options='=>'array'], + 'session_status' => ['int'], + 'session_unregister' => ['bool', 'name'=>'string'], + 'session_unset' => ['bool'], + 'session_write_close' => ['bool'], + 'setLeftFill' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'setLine' => ['void', 'width'=>'int', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'setRightFill' => ['void', 'red'=>'int', 'green'=>'int', 'blue'=>'int', 'a='=>'int'], + 'set_error_handler' => ['null|callable(int,string,string=,int=,array=):bool', 'callback'=>'null|callable(int,string,string=,int=,array=):bool', 'error_levels='=>'int'], + 'set_exception_handler' => ['null|callable(Throwable):void', 'callback'=>'null|callable(Throwable):void'], + 'set_file_buffer' => ['int', 'stream'=>'resource', 'size'=>'int'], + 'set_include_path' => ['string|false', 'include_path'=>'string'], + 'set_magic_quotes_runtime' => ['bool', 'new_setting'=>'bool'], + 'set_time_limit' => ['bool', 'seconds'=>'int'], + 'setcookie' => ['bool', 'name'=>'string', 'value='=>'string', 'expires='=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool', 'samesite='=>'string', 'url_encode='=>'int'], + 'setlocale' => ['string|false', 'category'=>'int', 'locales'=>'string|0|null', '...rest='=>'string'], + 'setlocale\'1' => ['string|false', 'category'=>'int', 'locales'=>'?array'], + 'setproctitle' => ['void', 'title'=>'string'], + 'setrawcookie' => ['bool', 'name'=>'string', 'value='=>'string', 'expires='=>'int', 'path='=>'string', 'domain='=>'string', 'secure='=>'bool', 'httponly='=>'bool'], + 'setthreadtitle' => ['bool', 'title'=>'string'], + 'settype' => ['bool', '&rw_var'=>'mixed', 'type'=>'string'], + 'sha1' => ['string', 'string'=>'string', 'binary='=>'bool'], + 'sha1_file' => ['string|false', 'filename'=>'string', 'binary='=>'bool'], + 'sha256' => ['string', 'string'=>'string', 'raw_output='=>'bool'], + 'sha256_file' => ['string', 'filename'=>'string', 'raw_output='=>'bool'], + 'shapeObj::__construct' => ['void', 'type'=>'int'], + 'shapeObj::add' => ['int', 'line'=>'lineObj'], + 'shapeObj::boundary' => ['shapeObj'], + 'shapeObj::contains' => ['bool', 'point'=>'pointObj'], + 'shapeObj::containsShape' => ['int', 'shape2'=>'shapeObj'], + 'shapeObj::convexhull' => ['shapeObj'], + 'shapeObj::crosses' => ['int', 'shape'=>'shapeObj'], + 'shapeObj::difference' => ['shapeObj', 'shape'=>'shapeObj'], + 'shapeObj::disjoint' => ['int', 'shape'=>'shapeObj'], + 'shapeObj::draw' => ['int', 'map'=>'mapObj', 'layer'=>'layerObj', 'img'=>'imageObj'], + 'shapeObj::equals' => ['int', 'shape'=>'shapeObj'], + 'shapeObj::free' => ['void'], + 'shapeObj::getArea' => ['float'], + 'shapeObj::getCentroid' => ['pointObj'], + 'shapeObj::getLabelPoint' => ['pointObj'], + 'shapeObj::getLength' => ['float'], + 'shapeObj::getPointUsingMeasure' => ['pointObj', 'm'=>'float'], + 'shapeObj::getValue' => ['string', 'layer'=>'layerObj', 'filedname'=>'string'], + 'shapeObj::intersection' => ['shapeObj', 'shape'=>'shapeObj'], + 'shapeObj::intersects' => ['bool', 'shape'=>'shapeObj'], + 'shapeObj::line' => ['lineObj', 'i'=>'int'], + 'shapeObj::ms_shapeObjFromWkt' => ['shapeObj', 'wkt'=>'string'], + 'shapeObj::overlaps' => ['int', 'shape'=>'shapeObj'], + 'shapeObj::project' => ['int', 'in'=>'projectionObj', 'out'=>'projectionObj'], + 'shapeObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'shapeObj::setBounds' => ['int'], + 'shapeObj::simplify' => ['shapeObj|null', 'tolerance'=>'float'], + 'shapeObj::symdifference' => ['shapeObj', 'shape'=>'shapeObj'], + 'shapeObj::toWkt' => ['string'], + 'shapeObj::topologyPreservingSimplify' => ['shapeObj|null', 'tolerance'=>'float'], + 'shapeObj::touches' => ['int', 'shape'=>'shapeObj'], + 'shapeObj::union' => ['shapeObj', 'shape'=>'shapeObj'], + 'shapeObj::within' => ['int', 'shape2'=>'shapeObj'], + 'shapefileObj::__construct' => ['void', 'filename'=>'string', 'type'=>'int'], + 'shapefileObj::addPoint' => ['int', 'point'=>'pointObj'], + 'shapefileObj::addShape' => ['int', 'shape'=>'shapeObj'], + 'shapefileObj::free' => ['void'], + 'shapefileObj::getExtent' => ['rectObj', 'i'=>'int'], + 'shapefileObj::getPoint' => ['shapeObj', 'i'=>'int'], + 'shapefileObj::getShape' => ['shapeObj', 'i'=>'int'], + 'shapefileObj::getTransformed' => ['shapeObj', 'map'=>'mapObj', 'i'=>'int'], + 'shapefileObj::ms_newShapefileObj' => ['shapefileObj', 'filename'=>'string', 'type'=>'int'], + 'shell_exec' => ['string|false|null', 'command'=>'string'], + 'shm_attach' => ['resource|false', 'key'=>'int', 'size='=>'int', 'permissions='=>'int'], + 'shm_detach' => ['bool', 'shm'=>'resource'], + 'shm_get_var' => ['mixed', 'shm'=>'resource', 'key'=>'int'], + 'shm_has_var' => ['bool', 'shm'=>'resource', 'key'=>'int'], + 'shm_put_var' => ['bool', 'shm'=>'resource', 'key'=>'int', 'value'=>'mixed'], + 'shm_remove' => ['bool', 'shm'=>'resource'], + 'shm_remove_var' => ['bool', 'shm'=>'resource', 'key'=>'int'], + 'shmop_close' => ['void', 'shmop'=>'resource'], + 'shmop_delete' => ['bool', 'shmop'=>'resource'], + 'shmop_open' => ['resource|false', 'key'=>'int', 'mode'=>'string', 'permissions'=>'int', 'size'=>'int'], + 'shmop_read' => ['string|false', 'shmop'=>'resource', 'offset'=>'int', 'size'=>'int'], + 'shmop_size' => ['int', 'shmop'=>'resource'], + 'shmop_write' => ['int|false', 'shmop'=>'resource', 'data'=>'string', 'offset'=>'int'], + 'show_source' => ['string|bool', 'filename'=>'string', 'return='=>'bool'], + 'shuffle' => ['true', '&rw_array'=>'array'], + 'signeurlpaiement' => ['string', 'clent'=>'string', 'data'=>'string'], + 'similar_text' => ['int', 'string1'=>'string', 'string2'=>'string', '&w_percent='=>'float'], + 'simplexml_import_dom' => ['?SimpleXMLElement', 'node'=>'DOMNode', 'class_name='=>'?string'], + 'simplexml_load_file' => ['SimpleXMLElement|false', 'filename'=>'string', 'class_name='=>'?string', 'options='=>'int', 'namespace_or_prefix='=>'string', 'is_prefix='=>'bool'], + 'simplexml_load_string' => ['SimpleXMLElement|false', 'data'=>'string', 'class_name='=>'?string', 'options='=>'int', 'namespace_or_prefix='=>'string', 'is_prefix='=>'bool'], + 'sin' => ['float', 'num'=>'float'], + 'sinh' => ['float', 'num'=>'float'], + 'sizeof' => ['int', 'value'=>'Countable|array', 'mode='=>'int'], + 'sleep' => ['int|false', 'seconds'=>'0|positive-int'], + 'snmp2_get' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp2_getnext' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp2_real_walk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp2_set' => ['bool', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp2_walk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp3_get' => ['string|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp3_getnext' => ['string|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp3_real_walk' => ['array|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp3_set' => ['bool', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'type'=>'string', 'value'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp3_walk' => ['array|false', 'hostname'=>'string', 'security_name'=>'string', 'security_level'=>'string', 'auth_protocol'=>'string', 'auth_passphrase'=>'string', 'privacy_protocol'=>'string', 'privacy_passphrase'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmp_get_quick_print' => ['bool'], + 'snmp_get_valueretrieval' => ['int'], + 'snmp_read_mib' => ['bool', 'filename'=>'string'], + 'snmp_set_enum_print' => ['true', 'enable'=>'bool'], + 'snmp_set_oid_numeric_print' => ['true', 'format'=>'int'], + 'snmp_set_oid_output_format' => ['true', 'format'=>'int'], + 'snmp_set_quick_print' => ['bool', 'enable'=>'bool'], + 'snmp_set_valueretrieval' => ['true', 'method'=>'int'], + 'snmpget' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmpgetnext' => ['string|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmprealwalk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmpset' => ['bool', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'type'=>'string|string[]', 'value'=>'string|string[]', 'timeout='=>'int', 'retries='=>'int'], + 'snmpwalk' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'snmpwalkoid' => ['array|false', 'hostname'=>'string', 'community'=>'string', 'object_id'=>'string', 'timeout='=>'int', 'retries='=>'int'], + 'socket_accept' => ['resource|false', 'socket'=>'resource'], + 'socket_bind' => ['bool', 'socket'=>'resource', 'address'=>'string', 'port='=>'int'], + 'socket_clear_error' => ['void', 'socket='=>'resource'], + 'socket_close' => ['void', 'socket'=>'resource'], + 'socket_cmsg_space' => ['?int', 'level'=>'int', 'type'=>'int', 'num='=>'int'], + 'socket_connect' => ['bool', 'socket'=>'resource', 'address'=>'string', 'port='=>'int'], + 'socket_create' => ['resource|false', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int'], + 'socket_create_listen' => ['resource|false', 'port'=>'int', 'backlog='=>'int'], + 'socket_create_pair' => ['bool', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int', '&w_pair'=>'resource[]'], + 'socket_export_stream' => ['resource|false', 'socket'=>'resource'], + 'socket_get_option' => ['array|int|false', 'socket'=>'resource', 'level'=>'int', 'option'=>'int'], + 'socket_get_status' => ['array', 'stream'=>'resource'], + 'socket_getopt' => ['array|int|false', 'socket'=>'resource', 'level'=>'int', 'option'=>'int'], + 'socket_getpeername' => ['bool', 'socket'=>'resource', '&w_address'=>'string', '&w_port='=>'int'], + 'socket_getsockname' => ['bool', 'socket'=>'resource', '&w_address'=>'string', '&w_port='=>'int'], + 'socket_import_stream' => ['resource|false', 'stream'=>'resource'], + 'socket_last_error' => ['int', 'socket='=>'resource'], + 'socket_listen' => ['bool', 'socket'=>'resource', 'backlog='=>'int'], + 'socket_read' => ['string|false', 'socket'=>'resource', 'length'=>'int', 'mode='=>'int'], + 'socket_recv' => ['int|false', 'socket'=>'resource', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int'], + 'socket_recvfrom' => ['int|false', 'socket'=>'resource', '&w_data'=>'string', 'length'=>'int', 'flags'=>'int', '&w_address'=>'string', '&w_port='=>'int'], + 'socket_recvmsg' => ['int|false', 'socket'=>'resource', '&w_message'=>'array', 'flags='=>'int'], + 'socket_select' => ['int|false', '&rw_read'=>'resource[]|null', '&rw_write'=>'resource[]|null', '&rw_except'=>'resource[]|null', 'seconds'=>'int|null', 'microseconds='=>'int'], + 'socket_send' => ['int|false', 'socket'=>'resource', 'data'=>'string', 'length'=>'int', 'flags'=>'int'], + 'socket_sendmsg' => ['int|false', 'socket'=>'resource', 'message'=>'array', 'flags='=>'int'], + 'socket_sendto' => ['int|false', 'socket'=>'resource', 'data'=>'string', 'length'=>'int', 'flags'=>'int', 'address'=>'string', 'port='=>'int'], + 'socket_set_block' => ['bool', 'socket'=>'resource'], + 'socket_set_blocking' => ['bool', 'stream'=>'resource', 'enable'=>'bool'], + 'socket_set_nonblock' => ['bool', 'socket'=>'resource'], + 'socket_set_option' => ['bool', 'socket'=>'resource', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], + 'socket_set_timeout' => ['bool', 'stream'=>'resource', 'seconds'=>'int', 'microseconds='=>'int'], + 'socket_setopt' => ['bool', 'socket'=>'resource', 'level'=>'int', 'option'=>'int', 'value'=>'int|string|array'], + 'socket_shutdown' => ['bool', 'socket'=>'resource', 'mode='=>'int'], + 'socket_strerror' => ['string', 'error_code'=>'int'], + 'socket_write' => ['int|false', 'socket'=>'resource', 'data'=>'string', 'length='=>'int'], + 'solid_fetch_prev' => ['bool', 'result_id'=>''], + 'solr_get_version' => ['string|false'], + 'sort' => ['true', '&rw_array'=>'array', 'flags='=>'int'], + 'soundex' => ['string', 'string'=>'string'], + 'spl_autoload' => ['void', 'class'=>'string', 'file_extensions='=>'string'], + 'spl_autoload_call' => ['void', 'class'=>'string'], + 'spl_autoload_extensions' => ['string', 'file_extensions='=>'string'], + 'spl_autoload_functions' => ['false|list'], + 'spl_autoload_register' => ['bool', 'callback='=>'callable(string):void', 'throw='=>'bool', 'prepend='=>'bool'], + 'spl_autoload_unregister' => ['bool', 'callback'=>'callable(string):void'], + 'spl_classes' => ['array'], + 'spl_object_hash' => ['string', 'object'=>'object'], + 'spl_object_id' => ['int', 'object'=>'object'], + 'sprintf' => ['string', 'format'=>'string', '...values='=>'string|int|float'], + 'sqlite_array_query' => ['array|false', 'dbhandle'=>'resource', 'query'=>'string', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'sqlite_busy_timeout' => ['void', 'dbhandle'=>'resource', 'milliseconds'=>'int'], + 'sqlite_changes' => ['int', 'dbhandle'=>'resource'], + 'sqlite_close' => ['void', 'dbhandle'=>'resource'], + 'sqlite_column' => ['mixed', 'result'=>'resource', 'index_or_name'=>'mixed', 'decode_binary='=>'bool'], + 'sqlite_create_aggregate' => ['void', 'dbhandle'=>'resource', 'function_name'=>'string', 'step_func'=>'callable', 'finalize_func'=>'callable', 'num_args='=>'int'], + 'sqlite_create_function' => ['void', 'dbhandle'=>'resource', 'function_name'=>'string', 'callback'=>'callable', 'num_args='=>'int'], + 'sqlite_current' => ['array|false', 'result'=>'resource', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'sqlite_error_string' => ['string', 'error_code'=>'int'], + 'sqlite_escape_string' => ['string', 'item'=>'string'], + 'sqlite_exec' => ['bool', 'dbhandle'=>'resource', 'query'=>'string', 'error_msg='=>'string'], + 'sqlite_factory' => ['SQLiteDatabase', 'filename'=>'string', 'mode='=>'int', 'error_message='=>'string'], + 'sqlite_fetch_all' => ['array', 'result'=>'resource', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'sqlite_fetch_array' => ['array|false', 'result'=>'resource', 'result_type='=>'int', 'decode_binary='=>'bool'], + 'sqlite_fetch_column_types' => ['array|false', 'table_name'=>'string', 'dbhandle'=>'resource', 'result_type='=>'int'], + 'sqlite_fetch_object' => ['object', 'result'=>'resource', 'class_name='=>'string', 'ctor_params='=>'array', 'decode_binary='=>'bool'], + 'sqlite_fetch_single' => ['string', 'result'=>'resource', 'decode_binary='=>'bool'], + 'sqlite_fetch_string' => ['string', 'result'=>'resource', 'decode_binary'=>'bool'], + 'sqlite_field_name' => ['string', 'result'=>'resource', 'field_index'=>'int'], + 'sqlite_has_more' => ['bool', 'result'=>'resource'], + 'sqlite_has_prev' => ['bool', 'result'=>'resource'], + 'sqlite_key' => ['int', 'result'=>'resource'], + 'sqlite_last_error' => ['int', 'dbhandle'=>'resource'], + 'sqlite_last_insert_rowid' => ['int', 'dbhandle'=>'resource'], + 'sqlite_libencoding' => ['string'], + 'sqlite_libversion' => ['string'], + 'sqlite_next' => ['bool', 'result'=>'resource'], + 'sqlite_num_fields' => ['int', 'result'=>'resource'], + 'sqlite_num_rows' => ['int', 'result'=>'resource'], + 'sqlite_open' => ['resource|false', 'filename'=>'string', 'mode='=>'int', 'error_message='=>'string'], + 'sqlite_popen' => ['resource|false', 'filename'=>'string', 'mode='=>'int', 'error_message='=>'string'], + 'sqlite_prev' => ['bool', 'result'=>'resource'], + 'sqlite_query' => ['resource|false', 'dbhandle'=>'resource', 'query'=>'resource|string', 'result_type='=>'int', 'error_msg='=>'string'], + 'sqlite_rewind' => ['bool', 'result'=>'resource'], + 'sqlite_seek' => ['bool', 'result'=>'resource', 'rownum'=>'int'], + 'sqlite_single_query' => ['array', 'db'=>'resource', 'query'=>'string', 'first_row_only='=>'bool', 'decode_binary='=>'bool'], + 'sqlite_udf_decode_binary' => ['string', 'data'=>'string'], + 'sqlite_udf_encode_binary' => ['string', 'data'=>'string'], + 'sqlite_unbuffered_query' => ['SQLiteUnbuffered|false', 'dbhandle'=>'resource', 'query'=>'string', 'result_type='=>'int', 'error_msg='=>'string'], + 'sqlite_valid' => ['bool', 'result'=>'resource'], + 'sqlsrv_begin_transaction' => ['bool', 'conn'=>'resource'], + 'sqlsrv_cancel' => ['bool', 'stmt'=>'resource'], + 'sqlsrv_client_info' => ['array|false', 'conn'=>'resource'], + 'sqlsrv_close' => ['bool', 'conn'=>'?resource'], + 'sqlsrv_commit' => ['bool', 'conn'=>'resource'], + 'sqlsrv_configure' => ['bool', 'setting'=>'string', 'value'=>'mixed'], + 'sqlsrv_connect' => ['resource|false', 'serverName'=>'string', 'connectionInfo='=>'array'], + 'sqlsrv_errors' => ['?array', 'errorsOrWarnings='=>'int'], + 'sqlsrv_execute' => ['bool', 'stmt'=>'resource'], + 'sqlsrv_fetch' => ['?bool', 'stmt'=>'resource', 'row='=>'int', 'offset='=>'int'], + 'sqlsrv_fetch_array' => ['array|null|false', 'stmt'=>'resource', 'fetchType='=>'int', 'row='=>'int', 'offset='=>'int'], + 'sqlsrv_fetch_object' => ['object|null|false', 'stmt'=>'resource', 'className='=>'string', 'ctorParams='=>'array', 'row='=>'int', 'offset='=>'int'], + 'sqlsrv_field_metadata' => ['array|false', 'stmt'=>'resource'], + 'sqlsrv_free_stmt' => ['bool', 'stmt'=>'resource'], + 'sqlsrv_get_config' => ['mixed', 'setting'=>'string'], + 'sqlsrv_get_field' => ['mixed', 'stmt'=>'resource', 'fieldIndex'=>'int', 'getAsType='=>'int'], + 'sqlsrv_has_rows' => ['bool', 'stmt'=>'resource'], + 'sqlsrv_next_result' => ['?bool', 'stmt'=>'resource'], + 'sqlsrv_num_fields' => ['int|false', 'stmt'=>'resource'], + 'sqlsrv_num_rows' => ['int|false', 'stmt'=>'resource'], + 'sqlsrv_prepare' => ['resource|false', 'conn'=>'resource', 'sql'=>'string', 'params='=>'array', 'options='=>'array'], + 'sqlsrv_query' => ['resource|false', 'conn'=>'resource', 'sql'=>'string', 'params='=>'array', 'options='=>'array'], + 'sqlsrv_rollback' => ['bool', 'conn'=>'resource'], + 'sqlsrv_rows_affected' => ['int|false', 'stmt'=>'resource'], + 'sqlsrv_send_stream_data' => ['bool', 'stmt'=>'resource'], + 'sqlsrv_server_info' => ['array', 'conn'=>'resource'], + 'sqrt' => ['float', 'num'=>'float'], + 'srand' => ['void', 'seed='=>'int', 'mode='=>'int'], + 'sscanf' => ['list|int|null', 'string'=>'string', 'format'=>'string', '&...w_vars='=>'string|int|float|null'], + 'ssdeep_fuzzy_compare' => ['int', 'signature1'=>'string', 'signature2'=>'string'], + 'ssdeep_fuzzy_hash' => ['string', 'to_hash'=>'string'], + 'ssdeep_fuzzy_hash_filename' => ['string', 'file_name'=>'string'], + 'ssh2_auth_agent' => ['bool', 'session'=>'resource', 'username'=>'string'], + 'ssh2_auth_hostbased_file' => ['bool', 'session'=>'resource', 'username'=>'string', 'hostname'=>'string', 'pubkeyfile'=>'string', 'privkeyfile'=>'string', 'passphrase='=>'string', 'local_username='=>'string'], + 'ssh2_auth_none' => ['bool|string[]', 'session'=>'resource', 'username'=>'string'], + 'ssh2_auth_password' => ['bool', 'session'=>'resource', 'username'=>'string', 'password'=>'string'], + 'ssh2_auth_pubkey_file' => ['bool', 'session'=>'resource', 'username'=>'string', 'pubkeyfile'=>'string', 'privkeyfile'=>'string', 'passphrase='=>'string'], + 'ssh2_connect' => ['resource|false', 'host'=>'string', 'port='=>'int', 'methods='=>'array', 'callbacks='=>'array'], + 'ssh2_disconnect' => ['bool', 'session'=>'resource'], + 'ssh2_exec' => ['resource|false', 'session'=>'resource', 'command'=>'string', 'pty='=>'string', 'env='=>'array', 'width='=>'int', 'height='=>'int', 'width_height_type='=>'int'], + 'ssh2_fetch_stream' => ['resource|false', 'channel'=>'resource', 'streamid'=>'int'], + 'ssh2_fingerprint' => ['string|false', 'session'=>'resource', 'flags='=>'int'], + 'ssh2_forward_accept' => ['resource|false', 'listener'=>'resource'], + 'ssh2_forward_listen' => ['resource|false', 'session'=>'resource', 'port'=>'int', 'host='=>'string', 'max_connections='=>'string'], + 'ssh2_methods_negotiated' => ['array|false', 'session'=>'resource'], + 'ssh2_poll' => ['int', '&polldes'=>'array', 'timeout='=>'int'], + 'ssh2_publickey_add' => ['bool', 'pkey'=>'resource', 'algoname'=>'string', 'blob'=>'string', 'overwrite='=>'bool', 'attributes='=>'array'], + 'ssh2_publickey_init' => ['resource|false', 'session'=>'resource'], + 'ssh2_publickey_list' => ['array|false', 'pkey'=>'resource'], + 'ssh2_publickey_remove' => ['bool', 'pkey'=>'resource', 'algoname'=>'string', 'blob'=>'string'], + 'ssh2_scp_recv' => ['bool', 'session'=>'resource', 'remote_file'=>'string', 'local_file'=>'string'], + 'ssh2_scp_send' => ['bool', 'session'=>'resource', 'local_file'=>'string', 'remote_file'=>'string', 'create_mode='=>'int'], + 'ssh2_sftp' => ['resource|false', 'session'=>'resource'], + 'ssh2_sftp_chmod' => ['bool', 'sftp'=>'resource', 'filename'=>'string', 'mode'=>'int'], + 'ssh2_sftp_lstat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'sftp'=>'resource', 'path'=>'string'], + 'ssh2_sftp_mkdir' => ['bool', 'sftp'=>'resource', 'dirname'=>'string', 'mode='=>'int', 'recursive='=>'bool'], + 'ssh2_sftp_readlink' => ['string|false', 'sftp'=>'resource', 'link'=>'string'], + 'ssh2_sftp_realpath' => ['string|false', 'sftp'=>'resource', 'filename'=>'string'], + 'ssh2_sftp_rename' => ['bool', 'sftp'=>'resource', 'from'=>'string', 'to'=>'string'], + 'ssh2_sftp_rmdir' => ['bool', 'sftp'=>'resource', 'dirname'=>'string'], + 'ssh2_sftp_stat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'sftp'=>'resource', 'path'=>'string'], + 'ssh2_sftp_symlink' => ['bool', 'sftp'=>'resource', 'target'=>'string', 'link'=>'string'], + 'ssh2_sftp_unlink' => ['bool', 'sftp'=>'resource', 'filename'=>'string'], + 'ssh2_shell' => ['resource|false', 'session'=>'resource', 'termtype='=>'string', 'env='=>'array', 'width='=>'int', 'height='=>'int', 'width_height_type='=>'int'], + 'ssh2_tunnel' => ['resource|false', 'session'=>'resource', 'host'=>'string', 'port'=>'int'], + 'stat' => ['array{0: int, 1: int, 2: int, 3: int, 4: int, 5: int, 6: int, 7: int, 8: int, 9: int, 10: int, 11: int, 12: int, dev: int, ino: int, mode: int, nlink: int, uid: int, gid: int, rdev: int, size: int, atime: int, mtime: int, ctime: int, blksize: int, blocks: int}|false', 'filename'=>'string'], + 'stats_absolute_deviation' => ['float', 'a'=>'array'], + 'stats_cdf_beta' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_binomial' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_cauchy' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_chisquare' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], + 'stats_cdf_exponential' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], + 'stats_cdf_f' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_gamma' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_laplace' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_logistic' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_negative_binomial' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_noncentral_chisquare' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_noncentral_f' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'par4'=>'float', 'which'=>'int'], + 'stats_cdf_noncentral_t' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_normal' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_poisson' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], + 'stats_cdf_t' => ['float', 'par1'=>'float', 'par2'=>'float', 'which'=>'int'], + 'stats_cdf_uniform' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_cdf_weibull' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_covariance' => ['float', 'a'=>'array', 'b'=>'array'], + 'stats_den_uniform' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], + 'stats_dens_beta' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], + 'stats_dens_cauchy' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], + 'stats_dens_chisquare' => ['float', 'x'=>'float', 'dfr'=>'float'], + 'stats_dens_exponential' => ['float', 'x'=>'float', 'scale'=>'float'], + 'stats_dens_f' => ['float', 'x'=>'float', 'dfr1'=>'float', 'dfr2'=>'float'], + 'stats_dens_gamma' => ['float', 'x'=>'float', 'shape'=>'float', 'scale'=>'float'], + 'stats_dens_laplace' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], + 'stats_dens_logistic' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], + 'stats_dens_negative_binomial' => ['float', 'x'=>'float', 'n'=>'float', 'pi'=>'float'], + 'stats_dens_normal' => ['float', 'x'=>'float', 'ave'=>'float', 'stdev'=>'float'], + 'stats_dens_pmf_binomial' => ['float', 'x'=>'float', 'n'=>'float', 'pi'=>'float'], + 'stats_dens_pmf_hypergeometric' => ['float', 'n1'=>'float', 'n2'=>'float', 'N1'=>'float', 'N2'=>'float'], + 'stats_dens_pmf_negative_binomial' => ['float', 'x'=>'float', 'n'=>'float', 'pi'=>'float'], + 'stats_dens_pmf_poisson' => ['float', 'x'=>'float', 'lb'=>'float'], + 'stats_dens_t' => ['float', 'x'=>'float', 'dfr'=>'float'], + 'stats_dens_uniform' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], + 'stats_dens_weibull' => ['float', 'x'=>'float', 'a'=>'float', 'b'=>'float'], + 'stats_harmonic_mean' => ['float', 'a'=>'array'], + 'stats_kurtosis' => ['float', 'a'=>'array'], + 'stats_rand_gen_beta' => ['float', 'a'=>'float', 'b'=>'float'], + 'stats_rand_gen_chisquare' => ['float', 'df'=>'float'], + 'stats_rand_gen_exponential' => ['float', 'av'=>'float'], + 'stats_rand_gen_f' => ['float', 'dfn'=>'float', 'dfd'=>'float'], + 'stats_rand_gen_funiform' => ['float', 'low'=>'float', 'high'=>'float'], + 'stats_rand_gen_gamma' => ['float', 'a'=>'float', 'r'=>'float'], + 'stats_rand_gen_ibinomial' => ['int', 'n'=>'int', 'pp'=>'float'], + 'stats_rand_gen_ibinomial_negative' => ['int', 'n'=>'int', 'p'=>'float'], + 'stats_rand_gen_int' => ['int'], + 'stats_rand_gen_ipoisson' => ['int', 'mu'=>'float'], + 'stats_rand_gen_iuniform' => ['int', 'low'=>'int', 'high'=>'int'], + 'stats_rand_gen_noncenral_chisquare' => ['float', 'df'=>'float', 'xnonc'=>'float'], + 'stats_rand_gen_noncentral_chisquare' => ['float', 'df'=>'float', 'xnonc'=>'float'], + 'stats_rand_gen_noncentral_f' => ['float', 'dfn'=>'float', 'dfd'=>'float', 'xnonc'=>'float'], + 'stats_rand_gen_noncentral_t' => ['float', 'df'=>'float', 'xnonc'=>'float'], + 'stats_rand_gen_normal' => ['float', 'av'=>'float', 'sd'=>'float'], + 'stats_rand_gen_t' => ['float', 'df'=>'float'], + 'stats_rand_get_seeds' => ['array'], + 'stats_rand_phrase_to_seeds' => ['array', 'phrase'=>'string'], + 'stats_rand_ranf' => ['float'], + 'stats_rand_setall' => ['void', 'iseed1'=>'int', 'iseed2'=>'int'], + 'stats_skew' => ['float', 'a'=>'array'], + 'stats_standard_deviation' => ['float', 'a'=>'array', 'sample='=>'bool'], + 'stats_stat_binomial_coef' => ['float', 'x'=>'int', 'n'=>'int'], + 'stats_stat_correlation' => ['float', 'array1'=>'array', 'array2'=>'array'], + 'stats_stat_factorial' => ['float', 'n'=>'int'], + 'stats_stat_gennch' => ['float', 'n'=>'int'], + 'stats_stat_independent_t' => ['float', 'array1'=>'array', 'array2'=>'array'], + 'stats_stat_innerproduct' => ['float', 'array1'=>'array', 'array2'=>'array'], + 'stats_stat_noncentral_t' => ['float', 'par1'=>'float', 'par2'=>'float', 'par3'=>'float', 'which'=>'int'], + 'stats_stat_paired_t' => ['float', 'array1'=>'array', 'array2'=>'array'], + 'stats_stat_percentile' => ['float', 'arr'=>'array', 'perc'=>'float'], + 'stats_stat_powersum' => ['float', 'arr'=>'array', 'power'=>'float'], + 'stats_variance' => ['float', 'a'=>'array', 'sample='=>'bool'], + 'stomp_abort' => ['bool', 'link'=>'resource', 'transaction_id'=>'string', 'headers='=>'?array'], + 'stomp_ack' => ['bool', 'link'=>'resource', 'msg'=>'', 'headers='=>'?array'], + 'stomp_begin' => ['bool', 'link'=>'resource', 'transaction_id'=>'string', 'headers='=>'?array'], + 'stomp_close' => ['bool', 'link'=>'resource'], + 'stomp_commit' => ['bool', 'link'=>'resource', 'transaction_id'=>'string', 'headers='=>'?array'], + 'stomp_connect' => ['resource', 'link'=>'resource', 'broker='=>'string', 'username='=>'string', 'password='=>'string', 'headers='=>'?array'], + 'stomp_connect_error' => ['string'], + 'stomp_error' => ['string', 'link'=>'resource'], + 'stomp_get_read_timeout' => ['array', 'link'=>'resource'], + 'stomp_get_session_id' => ['string', 'link'=>'resource'], + 'stomp_has_frame' => ['bool', 'link'=>'resource'], + 'stomp_read_frame' => ['array', 'link'=>'resource', 'class_name='=>'string'], + 'stomp_send' => ['bool', 'link'=>'resource', 'destination'=>'string', 'msg'=>'', 'headers='=>'?array'], + 'stomp_set_read_timeout' => ['void', 'link'=>'resource', 'seconds'=>'int', 'microseconds='=>'?int'], + 'stomp_subscribe' => ['bool', 'link'=>'resource', 'destination'=>'string', 'headers='=>'?array'], + 'stomp_unsubscribe' => ['bool', 'link'=>'resource', 'destination'=>'string', 'headers='=>'?array'], + 'stomp_version' => ['string'], + 'str_getcsv' => ['non-empty-list', 'string'=>'string', 'separator='=>'string', 'enclosure='=>'string', 'escape='=>'string'], + 'str_ireplace' => ['string|string[]', 'search'=>'string|array', 'replace'=>'string|array', 'subject'=>'string|array', '&w_count='=>'int'], + 'str_pad' => ['string', 'string'=>'string', 'length'=>'int', 'pad_string='=>'string', 'pad_type='=>'int'], + 'str_repeat' => ['string', 'string'=>'string', 'times'=>'int'], + 'str_replace' => ['string|string[]', 'search'=>'string|array', 'replace'=>'string|array', 'subject'=>'string|array', '&w_count='=>'int'], + 'str_rot13' => ['string', 'string'=>'string'], + 'str_shuffle' => ['string', 'string'=>'string'], + 'str_split' => ['non-empty-list', 'string'=>'string', 'length='=>'positive-int'], + 'str_word_count' => ['array|int', 'string'=>'string', 'format='=>'int', 'characters='=>'string'], + 'strcasecmp' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'strchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int', 'before_needle='=>'bool'], + 'strcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'strcoll' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'strcspn' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'int'], + 'streamWrapper::__construct' => ['void'], + 'streamWrapper::__destruct' => ['void'], + 'streamWrapper::dir_closedir' => ['bool'], + 'streamWrapper::dir_opendir' => ['bool', 'path'=>'string', 'options'=>'int'], + 'streamWrapper::dir_readdir' => ['string'], + 'streamWrapper::dir_rewinddir' => ['bool'], + 'streamWrapper::mkdir' => ['bool', 'path'=>'string', 'mode'=>'int', 'options'=>'int'], + 'streamWrapper::rename' => ['bool', 'path_from'=>'string', 'path_to'=>'string'], + 'streamWrapper::rmdir' => ['bool', 'path'=>'string', 'options'=>'int'], + 'streamWrapper::stream_cast' => ['resource', 'cast_as'=>'int'], + 'streamWrapper::stream_close' => ['void'], + 'streamWrapper::stream_eof' => ['bool'], + 'streamWrapper::stream_flush' => ['bool'], + 'streamWrapper::stream_lock' => ['bool', 'operation'=>'mode'], + 'streamWrapper::stream_metadata' => ['bool', 'path'=>'string', 'option'=>'int', 'value'=>'mixed'], + 'streamWrapper::stream_open' => ['bool', 'path'=>'string', 'mode'=>'string', 'options'=>'int', 'opened_path'=>'string'], + 'streamWrapper::stream_read' => ['string', 'count'=>'int'], + 'streamWrapper::stream_seek' => ['bool', 'offset'=>'int', 'whence'=>'int'], + 'streamWrapper::stream_set_option' => ['bool', 'option'=>'int', 'arg1'=>'int', 'arg2'=>'int'], + 'streamWrapper::stream_stat' => ['array'], + 'streamWrapper::stream_tell' => ['int'], + 'streamWrapper::stream_truncate' => ['bool', 'new_size'=>'int'], + 'streamWrapper::stream_write' => ['int', 'data'=>'string'], + 'streamWrapper::unlink' => ['bool', 'path'=>'string'], + 'streamWrapper::url_stat' => ['array', 'path'=>'string', 'flags'=>'int'], + 'stream_bucket_append' => ['void', 'brigade'=>'resource', 'bucket'=>'object'], + 'stream_bucket_make_writeable' => ['?object', 'brigade'=>'resource'], + 'stream_bucket_new' => ['object', 'stream'=>'resource', 'buffer'=>'string'], + 'stream_bucket_prepend' => ['void', 'brigade'=>'resource', 'bucket'=>'object'], + 'stream_context_create' => ['resource', 'options='=>'array', 'params='=>'array'], + 'stream_context_get_default' => ['resource', 'options='=>'array'], + 'stream_context_get_options' => ['array', 'stream_or_context'=>'resource'], + 'stream_context_get_params' => ['array', 'context'=>'resource'], + 'stream_context_set_default' => ['resource', 'options'=>'array'], + 'stream_context_set_option' => ['bool', 'context'=>'', 'wrapper_or_options'=>'string', 'option_name'=>'string', 'value'=>''], + 'stream_context_set_option\'1' => ['bool', 'context'=>'', 'wrapper_or_options'=>'array'], + 'stream_context_set_params' => ['bool', 'context'=>'resource', 'params'=>'array'], + 'stream_copy_to_stream' => ['int|false', 'from'=>'resource', 'to'=>'resource', 'length='=>'int', 'offset='=>'int'], + 'stream_encoding' => ['bool', 'stream'=>'resource', 'encoding='=>'string'], + 'stream_filter_append' => ['resource|false', 'stream'=>'resource', 'filter_name'=>'string', 'mode='=>'int', 'params='=>'mixed'], + 'stream_filter_prepend' => ['resource|false', 'stream'=>'resource', 'filter_name'=>'string', 'mode='=>'int', 'params='=>'mixed'], + 'stream_filter_register' => ['bool', 'filter_name'=>'string', 'class'=>'string'], + 'stream_filter_remove' => ['bool', 'stream_filter'=>'resource'], + 'stream_get_contents' => ['string|false', 'stream'=>'resource', 'length='=>'int', 'offset='=>'int'], + 'stream_get_filters' => ['array'], + 'stream_get_line' => ['string|false', 'stream'=>'resource', 'length'=>'int', 'ending='=>'string'], + 'stream_get_meta_data' => ['array{timed_out:bool,blocked:bool,eof:bool,unread_bytes:int,stream_type:string,wrapper_type:string,wrapper_data:mixed,mode:string,seekable:bool,uri:string,mediatype:string,crypto?:array{protocol:string,cipher_name:string,cipher_bits:int,cipher_version:string}}', 'stream'=>'resource'], + 'stream_get_transports' => ['list'], + 'stream_get_wrappers' => ['list'], + 'stream_is_local' => ['bool', 'stream'=>'resource|string'], + 'stream_notification_callback' => ['callback', 'notification_code'=>'int', 'severity'=>'int', 'message'=>'string', 'message_code'=>'int', 'bytes_transferred'=>'int', 'bytes_max'=>'int'], + 'stream_register_wrapper' => ['bool', 'protocol'=>'string', 'class'=>'string', 'flags='=>'int'], + 'stream_resolve_include_path' => ['string|false', 'filename'=>'string'], + 'stream_select' => ['int|false', '&rw_read'=>'?resource[]', '&rw_write'=>'?resource[]', '&rw_except'=>'?resource[]', 'seconds'=>'?int', 'microseconds='=>'int'], + 'stream_set_blocking' => ['bool', 'stream'=>'resource', 'enable'=>'bool'], + 'stream_set_chunk_size' => ['int|false', 'stream'=>'resource', 'size'=>'int'], + 'stream_set_read_buffer' => ['int', 'stream'=>'resource', 'size'=>'int'], + 'stream_set_timeout' => ['bool', 'stream'=>'resource', 'seconds'=>'int', 'microseconds='=>'int'], + 'stream_set_write_buffer' => ['int', 'stream'=>'resource', 'size'=>'int'], + 'stream_socket_accept' => ['resource|false', 'socket'=>'resource', 'timeout='=>'float', '&w_peer_name='=>'string'], + 'stream_socket_client' => ['resource|false', 'address'=>'string', '&w_error_code='=>'int', '&w_error_message='=>'string', 'timeout='=>'float', 'flags='=>'int', 'context='=>'resource'], + 'stream_socket_enable_crypto' => ['int|bool', 'stream'=>'resource', 'enable'=>'bool', 'crypto_method='=>'?int', 'session_stream='=>'resource'], + 'stream_socket_get_name' => ['string', 'socket'=>'resource', 'remote'=>'bool'], + 'stream_socket_pair' => ['resource[]|false', 'domain'=>'int', 'type'=>'int', 'protocol'=>'int'], + 'stream_socket_recvfrom' => ['string', 'socket'=>'resource', 'length'=>'int', 'flags='=>'int', '&w_address='=>'string'], + 'stream_socket_sendto' => ['int', 'socket'=>'resource', 'data'=>'string', 'flags='=>'int', 'address='=>'string'], + 'stream_socket_server' => ['resource|false', 'address'=>'string', '&w_error_code='=>'int', '&w_error_message='=>'string', 'flags='=>'int', 'context='=>'resource'], + 'stream_socket_shutdown' => ['bool', 'stream'=>'resource', 'mode'=>'int'], + 'stream_supports_lock' => ['bool', 'stream'=>'resource'], + 'stream_wrapper_register' => ['bool', 'protocol'=>'string', 'class'=>'string', 'flags='=>'int'], + 'stream_wrapper_restore' => ['bool', 'protocol'=>'string'], + 'stream_wrapper_unregister' => ['bool', 'protocol'=>'string'], + 'strftime' => ['string|false', 'format'=>'string', 'timestamp='=>'int'], + 'strip_tags' => ['string', 'string'=>'string', 'allowed_tags='=>'string'], + 'stripcslashes' => ['string', 'string'=>'string'], + 'stripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'stripslashes' => ['string', 'string'=>'string'], + 'stristr' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int', 'before_needle='=>'bool'], + 'strlen' => ['0|positive-int', 'string'=>'string'], + 'strnatcasecmp' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'strnatcmp' => ['int', 'string1'=>'string', 'string2'=>'string'], + 'strncasecmp' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], + 'strncmp' => ['int', 'string1'=>'string', 'string2'=>'string', 'length'=>'int'], + 'strpbrk' => ['string|false', 'string'=>'string', 'characters'=>'string'], + 'strpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'strptime' => ['array|false', 'timestamp'=>'string', 'format'=>'string'], + 'strrchr' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int'], + 'strrev' => ['string', 'string'=>'string'], + 'strripos' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'strrpos' => ['int|false', 'haystack'=>'string', 'needle'=>'string|int', 'offset='=>'int'], + 'strspn' => ['int', 'string'=>'string', 'characters'=>'string', 'offset='=>'int', 'length='=>'int'], + 'strstr' => ['string|false', 'haystack'=>'string', 'needle'=>'string|int', 'before_needle='=>'bool'], + 'strtok' => ['string|false', 'string'=>'string', 'token'=>'string'], + 'strtok\'1' => ['string|false', 'string'=>'string'], + 'strtolower' => ['lowercase-string', 'string'=>'string'], + 'strtotime' => ['int|false', 'datetime'=>'string', 'baseTimestamp='=>'int'], + 'strtoupper' => ['string', 'string'=>'string'], + 'strtr' => ['string', 'string'=>'string', 'from'=>'string', 'to'=>'string'], + 'strtr\'1' => ['string', 'string'=>'string', 'from'=>'array'], + 'strval' => ['string', 'value'=>'mixed'], + 'styleObj::__construct' => ['void', 'label'=>'labelObj', 'style'=>'styleObj'], + 'styleObj::convertToString' => ['string'], + 'styleObj::free' => ['void'], + 'styleObj::getBinding' => ['string', 'stylebinding'=>'mixed'], + 'styleObj::getGeomTransform' => ['string'], + 'styleObj::ms_newStyleObj' => ['styleObj', 'class'=>'classObj', 'style'=>'styleObj'], + 'styleObj::removeBinding' => ['int', 'stylebinding'=>'mixed'], + 'styleObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'styleObj::setBinding' => ['int', 'stylebinding'=>'mixed', 'value'=>'string'], + 'styleObj::setGeomTransform' => ['int', 'value'=>'string'], + 'styleObj::updateFromString' => ['int', 'snippet'=>'string'], + 'substr' => ['string|false', 'string'=>'string', 'offset'=>'int', 'length='=>'int'], + 'substr_compare' => ['int|false', 'haystack'=>'string', 'needle'=>'string', 'offset'=>'int', 'length='=>'int', 'case_insensitive='=>'bool'], + 'substr_count' => ['int', 'haystack'=>'string', 'needle'=>'string', 'offset='=>'int', 'length='=>'int'], + 'substr_replace' => ['string|string[]', 'string'=>'string|string[]', 'replace'=>'string|string[]', 'offset'=>'int|int[]', 'length='=>'int|int[]'], + 'suhosin_encrypt_cookie' => ['string|false', 'name'=>'string', 'value'=>'string'], + 'suhosin_get_raw_cookies' => ['array'], + 'svm::crossvalidate' => ['float', 'problem'=>'array', 'number_of_folds'=>'int'], + 'svm::train' => ['SVMModel', 'problem'=>'array', 'weights='=>'array'], + 'svn_add' => ['bool', 'path'=>'string', 'recursive='=>'bool', 'force='=>'bool'], + 'svn_auth_get_parameter' => ['?string', 'key'=>'string'], + 'svn_auth_set_parameter' => ['void', 'key'=>'string', 'value'=>'string'], + 'svn_blame' => ['array', 'repository_url'=>'string', 'revision_no='=>'int'], + 'svn_cat' => ['string', 'repos_url'=>'string', 'revision_no='=>'int'], + 'svn_checkout' => ['bool', 'repos'=>'string', 'targetpath'=>'string', 'revision='=>'int', 'flags='=>'int'], + 'svn_cleanup' => ['bool', 'workingdir'=>'string'], + 'svn_client_version' => ['string'], + 'svn_commit' => ['array', 'log'=>'string', 'targets'=>'array', 'dontrecurse='=>'bool'], + 'svn_delete' => ['bool', 'path'=>'string', 'force='=>'bool'], + 'svn_diff' => ['array', 'path1'=>'string', 'rev1'=>'int', 'path2'=>'string', 'rev2'=>'int'], + 'svn_export' => ['bool', 'frompath'=>'string', 'topath'=>'string', 'working_copy='=>'bool', 'revision_no='=>'int'], + 'svn_fs_abort_txn' => ['bool', 'txn'=>'resource'], + 'svn_fs_apply_text' => ['resource', 'root'=>'resource', 'path'=>'string'], + 'svn_fs_begin_txn2' => ['resource', 'repos'=>'resource', 'rev'=>'int'], + 'svn_fs_change_node_prop' => ['bool', 'root'=>'resource', 'path'=>'string', 'name'=>'string', 'value'=>'string'], + 'svn_fs_check_path' => ['int', 'fsroot'=>'resource', 'path'=>'string'], + 'svn_fs_contents_changed' => ['bool', 'root1'=>'resource', 'path1'=>'string', 'root2'=>'resource', 'path2'=>'string'], + 'svn_fs_copy' => ['bool', 'from_root'=>'resource', 'from_path'=>'string', 'to_root'=>'resource', 'to_path'=>'string'], + 'svn_fs_delete' => ['bool', 'root'=>'resource', 'path'=>'string'], + 'svn_fs_dir_entries' => ['array', 'fsroot'=>'resource', 'path'=>'string'], + 'svn_fs_file_contents' => ['resource', 'fsroot'=>'resource', 'path'=>'string'], + 'svn_fs_file_length' => ['int', 'fsroot'=>'resource', 'path'=>'string'], + 'svn_fs_is_dir' => ['bool', 'root'=>'resource', 'path'=>'string'], + 'svn_fs_is_file' => ['bool', 'root'=>'resource', 'path'=>'string'], + 'svn_fs_make_dir' => ['bool', 'root'=>'resource', 'path'=>'string'], + 'svn_fs_make_file' => ['bool', 'root'=>'resource', 'path'=>'string'], + 'svn_fs_node_created_rev' => ['int', 'fsroot'=>'resource', 'path'=>'string'], + 'svn_fs_node_prop' => ['string', 'fsroot'=>'resource', 'path'=>'string', 'propname'=>'string'], + 'svn_fs_props_changed' => ['bool', 'root1'=>'resource', 'path1'=>'string', 'root2'=>'resource', 'path2'=>'string'], + 'svn_fs_revision_prop' => ['string', 'fs'=>'resource', 'revnum'=>'int', 'propname'=>'string'], + 'svn_fs_revision_root' => ['resource', 'fs'=>'resource', 'revnum'=>'int'], + 'svn_fs_txn_root' => ['resource', 'txn'=>'resource'], + 'svn_fs_youngest_rev' => ['int', 'fs'=>'resource'], + 'svn_import' => ['bool', 'path'=>'string', 'url'=>'string', 'nonrecursive'=>'bool'], + 'svn_log' => ['array', 'repos_url'=>'string', 'start_revision='=>'int', 'end_revision='=>'int', 'limit='=>'int', 'flags='=>'int'], + 'svn_ls' => ['array', 'repos_url'=>'string', 'revision_no='=>'int', 'recurse='=>'bool', 'peg='=>'bool'], + 'svn_mkdir' => ['bool', 'path'=>'string', 'log_message='=>'string'], + 'svn_move' => ['mixed', 'src_path'=>'string', 'dst_path'=>'string', 'force='=>'bool'], + 'svn_propget' => ['mixed', 'path'=>'string', 'property_name'=>'string', 'recurse='=>'bool', 'revision'=>'int'], + 'svn_proplist' => ['mixed', 'path'=>'string', 'recurse='=>'bool', 'revision'=>'int'], + 'svn_repos_create' => ['resource', 'path'=>'string', 'config='=>'array', 'fsconfig='=>'array'], + 'svn_repos_fs' => ['resource', 'repos'=>'resource'], + 'svn_repos_fs_begin_txn_for_commit' => ['resource', 'repos'=>'resource', 'rev'=>'int', 'author'=>'string', 'log_msg'=>'string'], + 'svn_repos_fs_commit_txn' => ['int', 'txn'=>'resource'], + 'svn_repos_hotcopy' => ['bool', 'repospath'=>'string', 'destpath'=>'string', 'cleanlogs'=>'bool'], + 'svn_repos_open' => ['resource', 'path'=>'string'], + 'svn_repos_recover' => ['bool', 'path'=>'string'], + 'svn_revert' => ['bool', 'path'=>'string', 'recursive='=>'bool'], + 'svn_status' => ['array', 'path'=>'string', 'flags='=>'int'], + 'svn_update' => ['int|false', 'path'=>'string', 'revno='=>'int', 'recurse='=>'bool'], + 'swf_actiongeturl' => ['', 'url'=>'string', 'target'=>'string'], + 'swf_actiongotoframe' => ['', 'framenumber'=>'int'], + 'swf_actiongotolabel' => ['', 'label'=>'string'], + 'swf_actionnextframe' => [''], + 'swf_actionplay' => [''], + 'swf_actionprevframe' => [''], + 'swf_actionsettarget' => ['', 'target'=>'string'], + 'swf_actionstop' => [''], + 'swf_actiontogglequality' => [''], + 'swf_actionwaitforframe' => ['', 'framenumber'=>'int', 'skipcount'=>'int'], + 'swf_addbuttonrecord' => ['', 'states'=>'int', 'shapeid'=>'int', 'depth'=>'int'], + 'swf_addcolor' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float'], + 'swf_closefile' => ['', 'return_file='=>'int'], + 'swf_definebitmap' => ['', 'objid'=>'int', 'image_name'=>'string'], + 'swf_definefont' => ['', 'fontid'=>'int', 'fontname'=>'string'], + 'swf_defineline' => ['', 'objid'=>'int', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'width'=>'float'], + 'swf_definepoly' => ['', 'objid'=>'int', 'coords'=>'array', 'npoints'=>'int', 'width'=>'float'], + 'swf_definerect' => ['', 'objid'=>'int', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'width'=>'float'], + 'swf_definetext' => ['', 'objid'=>'int', 'string'=>'string', 'docenter'=>'int'], + 'swf_endbutton' => [''], + 'swf_enddoaction' => [''], + 'swf_endshape' => [''], + 'swf_endsymbol' => [''], + 'swf_fontsize' => ['', 'size'=>'float'], + 'swf_fontslant' => ['', 'slant'=>'float'], + 'swf_fonttracking' => ['', 'tracking'=>'float'], + 'swf_getbitmapinfo' => ['array', 'bitmapid'=>'int'], + 'swf_getfontinfo' => ['array'], + 'swf_getframe' => ['int'], + 'swf_labelframe' => ['', 'name'=>'string'], + 'swf_lookat' => ['', 'view_x'=>'float', 'view_y'=>'float', 'view_z'=>'float', 'reference_x'=>'float', 'reference_y'=>'float', 'reference_z'=>'float', 'twist'=>'float'], + 'swf_modifyobject' => ['', 'depth'=>'int', 'how'=>'int'], + 'swf_mulcolor' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float'], + 'swf_nextid' => ['int'], + 'swf_oncondition' => ['', 'transition'=>'int'], + 'swf_openfile' => ['', 'filename'=>'string', 'width'=>'float', 'height'=>'float', 'framerate'=>'float', 'r'=>'float', 'g'=>'float', 'b'=>'float'], + 'swf_ortho' => ['', 'xmin'=>'float', 'xmax'=>'float', 'ymin'=>'float', 'ymax'=>'float', 'zmin'=>'float', 'zmax'=>'float'], + 'swf_ortho2' => ['', 'xmin'=>'float', 'xmax'=>'float', 'ymin'=>'float', 'ymax'=>'float'], + 'swf_perspective' => ['', 'fovy'=>'float', 'aspect'=>'float', 'near'=>'float', 'far'=>'float'], + 'swf_placeobject' => ['', 'objid'=>'int', 'depth'=>'int'], + 'swf_polarview' => ['', 'dist'=>'float', 'azimuth'=>'float', 'incidence'=>'float', 'twist'=>'float'], + 'swf_popmatrix' => [''], + 'swf_posround' => ['', 'round'=>'int'], + 'swf_pushmatrix' => [''], + 'swf_removeobject' => ['', 'depth'=>'int'], + 'swf_rotate' => ['', 'angle'=>'float', 'axis'=>'string'], + 'swf_scale' => ['', 'x'=>'float', 'y'=>'float', 'z'=>'float'], + 'swf_setfont' => ['', 'fontid'=>'int'], + 'swf_setframe' => ['', 'framenumber'=>'int'], + 'swf_shapearc' => ['', 'x'=>'float', 'y'=>'float', 'r'=>'float', 'ang1'=>'float', 'ang2'=>'float'], + 'swf_shapecurveto' => ['', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float'], + 'swf_shapecurveto3' => ['', 'x1'=>'float', 'y1'=>'float', 'x2'=>'float', 'y2'=>'float', 'x3'=>'float', 'y3'=>'float'], + 'swf_shapefillbitmapclip' => ['', 'bitmapid'=>'int'], + 'swf_shapefillbitmaptile' => ['', 'bitmapid'=>'int'], + 'swf_shapefilloff' => [''], + 'swf_shapefillsolid' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float'], + 'swf_shapelinesolid' => ['', 'r'=>'float', 'g'=>'float', 'b'=>'float', 'a'=>'float', 'width'=>'float'], + 'swf_shapelineto' => ['', 'x'=>'float', 'y'=>'float'], + 'swf_shapemoveto' => ['', 'x'=>'float', 'y'=>'float'], + 'swf_showframe' => [''], + 'swf_startbutton' => ['', 'objid'=>'int', 'type'=>'int'], + 'swf_startdoaction' => [''], + 'swf_startshape' => ['', 'objid'=>'int'], + 'swf_startsymbol' => ['', 'objid'=>'int'], + 'swf_textwidth' => ['float', 'string'=>'string'], + 'swf_translate' => ['', 'x'=>'float', 'y'=>'float', 'z'=>'float'], + 'swf_viewport' => ['', 'xmin'=>'float', 'xmax'=>'float', 'ymin'=>'float', 'ymax'=>'float'], + 'swoole\async::dnsLookup' => ['void', 'hostname'=>'string', 'callback'=>'callable'], + 'swoole\async::read' => ['bool', 'filename'=>'string', 'callback'=>'callable', 'chunk_size='=>'integer', 'offset='=>'integer'], + 'swoole\async::readFile' => ['void', 'filename'=>'string', 'callback'=>'callable'], + 'swoole\async::set' => ['void', 'settings'=>'array'], + 'swoole\async::write' => ['void', 'filename'=>'string', 'content'=>'string', 'offset='=>'integer', 'callback='=>'callable'], + 'swoole\async::writeFile' => ['void', 'filename'=>'string', 'content'=>'string', 'callback='=>'callable', 'flags='=>'string'], + 'swoole\atomic::add' => ['integer', 'add_value='=>'integer'], + 'swoole\atomic::cmpset' => ['integer', 'cmp_value'=>'integer', 'new_value'=>'integer'], + 'swoole\atomic::get' => ['integer'], + 'swoole\atomic::set' => ['integer', 'value'=>'integer'], + 'swoole\atomic::sub' => ['integer', 'sub_value='=>'integer'], + 'swoole\buffer::__destruct' => ['void'], + 'swoole\buffer::__toString' => ['string'], + 'swoole\buffer::append' => ['integer', 'data'=>'string'], + 'swoole\buffer::clear' => ['void'], + 'swoole\buffer::expand' => ['integer', 'size'=>'integer'], + 'swoole\buffer::read' => ['string', 'offset'=>'integer', 'length'=>'integer'], + 'swoole\buffer::recycle' => ['void'], + 'swoole\buffer::substr' => ['string', 'offset'=>'integer', 'length='=>'integer', 'remove='=>'bool'], + 'swoole\buffer::write' => ['void', 'offset'=>'integer', 'data'=>'string'], + 'swoole\channel::__destruct' => ['void'], + 'swoole\channel::pop' => ['mixed'], + 'swoole\channel::push' => ['bool', 'data'=>'string'], + 'swoole\channel::stats' => ['array'], + 'swoole\client::__destruct' => ['void'], + 'swoole\client::close' => ['bool', 'force='=>'bool'], + 'swoole\client::connect' => ['bool', 'host'=>'string', 'port='=>'integer', 'timeout='=>'integer', 'flag='=>'integer'], + 'swoole\client::getpeername' => ['array'], + 'swoole\client::getsockname' => ['array'], + 'swoole\client::isConnected' => ['bool'], + 'swoole\client::on' => ['void', 'event'=>'string', 'callback'=>'callable'], + 'swoole\client::pause' => ['void'], + 'swoole\client::pipe' => ['void', 'socket'=>'string'], + 'swoole\client::recv' => ['void', 'size='=>'string', 'flag='=>'string'], + 'swoole\client::resume' => ['void'], + 'swoole\client::send' => ['integer', 'data'=>'string', 'flag='=>'string'], + 'swoole\client::sendfile' => ['bool', 'filename'=>'string', 'offset='=>'int'], + 'swoole\client::sendto' => ['bool', 'ip'=>'string', 'port'=>'integer', 'data'=>'string'], + 'swoole\client::set' => ['void', 'settings'=>'array'], + 'swoole\client::sleep' => ['void'], + 'swoole\client::wakeup' => ['void'], + 'swoole\connection\iterator::count' => ['int'], + 'swoole\connection\iterator::current' => ['Connection'], + 'swoole\connection\iterator::key' => ['int'], + 'swoole\connection\iterator::next' => ['Connection'], + 'swoole\connection\iterator::offsetExists' => ['bool', 'index'=>'int'], + 'swoole\connection\iterator::offsetGet' => ['Connection', 'index'=>'string'], + 'swoole\connection\iterator::offsetSet' => ['void', 'offset'=>'int', 'connection'=>'mixed'], + 'swoole\connection\iterator::offsetUnset' => ['void', 'offset'=>'int'], + 'swoole\connection\iterator::rewind' => ['void'], + 'swoole\connection\iterator::valid' => ['bool'], + 'swoole\coroutine::call_user_func' => ['mixed', 'callback'=>'callable', 'parameter='=>'mixed', '...args='=>'mixed'], + 'swoole\coroutine::call_user_func_array' => ['mixed', 'callback'=>'callable', 'param_array'=>'array'], + 'swoole\coroutine::cli_wait' => ['ReturnType'], + 'swoole\coroutine::create' => ['ReturnType'], + 'swoole\coroutine::getuid' => ['ReturnType'], + 'swoole\coroutine::resume' => ['ReturnType'], + 'swoole\coroutine::suspend' => ['ReturnType'], + 'swoole\coroutine\client::__destruct' => ['ReturnType'], + 'swoole\coroutine\client::close' => ['ReturnType'], + 'swoole\coroutine\client::connect' => ['ReturnType'], + 'swoole\coroutine\client::getpeername' => ['ReturnType'], + 'swoole\coroutine\client::getsockname' => ['ReturnType'], + 'swoole\coroutine\client::isConnected' => ['ReturnType'], + 'swoole\coroutine\client::recv' => ['ReturnType'], + 'swoole\coroutine\client::send' => ['ReturnType'], + 'swoole\coroutine\client::sendfile' => ['ReturnType'], + 'swoole\coroutine\client::sendto' => ['ReturnType'], + 'swoole\coroutine\client::set' => ['ReturnType'], + 'swoole\coroutine\http\client::__destruct' => ['ReturnType'], + 'swoole\coroutine\http\client::addFile' => ['ReturnType'], + 'swoole\coroutine\http\client::close' => ['ReturnType'], + 'swoole\coroutine\http\client::execute' => ['ReturnType'], + 'swoole\coroutine\http\client::get' => ['ReturnType'], + 'swoole\coroutine\http\client::getDefer' => ['ReturnType'], + 'swoole\coroutine\http\client::isConnected' => ['ReturnType'], + 'swoole\coroutine\http\client::post' => ['ReturnType'], + 'swoole\coroutine\http\client::recv' => ['ReturnType'], + 'swoole\coroutine\http\client::set' => ['ReturnType'], + 'swoole\coroutine\http\client::setCookies' => ['ReturnType'], + 'swoole\coroutine\http\client::setData' => ['ReturnType'], + 'swoole\coroutine\http\client::setDefer' => ['ReturnType'], + 'swoole\coroutine\http\client::setHeaders' => ['ReturnType'], + 'swoole\coroutine\http\client::setMethod' => ['ReturnType'], + 'swoole\coroutine\mysql::__destruct' => ['ReturnType'], + 'swoole\coroutine\mysql::close' => ['ReturnType'], + 'swoole\coroutine\mysql::connect' => ['ReturnType'], + 'swoole\coroutine\mysql::getDefer' => ['ReturnType'], + 'swoole\coroutine\mysql::query' => ['ReturnType'], + 'swoole\coroutine\mysql::recv' => ['ReturnType'], + 'swoole\coroutine\mysql::setDefer' => ['ReturnType'], + 'swoole\event::add' => ['bool', 'fd'=>'int', 'read_callback'=>'callable', 'write_callback='=>'callable', 'events='=>'string'], + 'swoole\event::defer' => ['void', 'callback'=>'mixed'], + 'swoole\event::del' => ['bool', 'fd'=>'string'], + 'swoole\event::exit' => ['void'], + 'swoole\event::set' => ['bool', 'fd'=>'int', 'read_callback='=>'string', 'write_callback='=>'string', 'events='=>'string'], + 'swoole\event::wait' => ['void'], + 'swoole\event::write' => ['void', 'fd'=>'string', 'data'=>'string'], + 'swoole\http\client::__destruct' => ['void'], + 'swoole\http\client::addFile' => ['void', 'path'=>'string', 'name'=>'string', 'type='=>'string', 'filename='=>'string', 'offset='=>'string'], + 'swoole\http\client::close' => ['void'], + 'swoole\http\client::download' => ['void', 'path'=>'string', 'file'=>'string', 'callback'=>'callable', 'offset='=>'integer'], + 'swoole\http\client::execute' => ['void', 'path'=>'string', 'callback'=>'string'], + 'swoole\http\client::get' => ['void', 'path'=>'string', 'callback'=>'callable'], + 'swoole\http\client::isConnected' => ['bool'], + 'swoole\http\client::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], + 'swoole\http\client::post' => ['void', 'path'=>'string', 'data'=>'string', 'callback'=>'callable'], + 'swoole\http\client::push' => ['void', 'data'=>'string', 'opcode='=>'string', 'finish='=>'string'], + 'swoole\http\client::set' => ['void', 'settings'=>'array'], + 'swoole\http\client::setCookies' => ['void', 'cookies'=>'array'], + 'swoole\http\client::setData' => ['ReturnType', 'data'=>'string'], + 'swoole\http\client::setHeaders' => ['void', 'headers'=>'array'], + 'swoole\http\client::setMethod' => ['void', 'method'=>'string'], + 'swoole\http\client::upgrade' => ['void', 'path'=>'string', 'callback'=>'string'], + 'swoole\http\request::__destruct' => ['void'], + 'swoole\http\request::rawcontent' => ['string'], + 'swoole\http\response::__destruct' => ['void'], + 'swoole\http\response::cookie' => ['string', 'name'=>'string', 'value='=>'string', 'expires='=>'string', 'path='=>'string', 'domain='=>'string', 'secure='=>'string', 'httponly='=>'string'], + 'swoole\http\response::end' => ['void', 'content='=>'string'], + 'swoole\http\response::gzip' => ['ReturnType', 'compress_level='=>'string'], + 'swoole\http\response::header' => ['void', 'key'=>'string', 'value'=>'string', 'ucwords='=>'string'], + 'swoole\http\response::initHeader' => ['ReturnType'], + 'swoole\http\response::rawcookie' => ['ReturnType', 'name'=>'string', 'value='=>'string', 'expires='=>'string', 'path='=>'string', 'domain='=>'string', 'secure='=>'string', 'httponly='=>'string'], + 'swoole\http\response::sendfile' => ['ReturnType', 'filename'=>'string', 'offset='=>'int'], + 'swoole\http\response::status' => ['ReturnType', 'http_code'=>'string'], + 'swoole\http\response::write' => ['void', 'content'=>'string'], + 'swoole\http\server::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], + 'swoole\http\server::start' => ['void'], + 'swoole\lock::__destruct' => ['void'], + 'swoole\lock::lock' => ['void'], + 'swoole\lock::lock_read' => ['void'], + 'swoole\lock::trylock' => ['void'], + 'swoole\lock::trylock_read' => ['void'], + 'swoole\lock::unlock' => ['void'], + 'swoole\mmap::open' => ['ReturnType', 'filename'=>'string', 'size='=>'string', 'offset='=>'string'], + 'swoole\mysql::__destruct' => ['void'], + 'swoole\mysql::close' => ['void'], + 'swoole\mysql::connect' => ['void', 'server_config'=>'array', 'callback'=>'callable'], + 'swoole\mysql::getBuffer' => ['ReturnType'], + 'swoole\mysql::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], + 'swoole\mysql::query' => ['ReturnType', 'sql'=>'string', 'callback'=>'callable'], + 'swoole\process::__destruct' => ['void'], + 'swoole\process::alarm' => ['void', 'interval_usec'=>'integer'], + 'swoole\process::close' => ['void'], + 'swoole\process::daemon' => ['void', 'nochdir='=>'bool', 'noclose='=>'bool'], + 'swoole\process::exec' => ['ReturnType', 'exec_file'=>'string', 'args'=>'string'], + 'swoole\process::exit' => ['void', 'exit_code='=>'string'], + 'swoole\process::freeQueue' => ['void'], + 'swoole\process::kill' => ['void', 'pid'=>'integer', 'signal_no='=>'string'], + 'swoole\process::name' => ['void', 'process_name'=>'string'], + 'swoole\process::pop' => ['mixed', 'maxsize='=>'integer'], + 'swoole\process::push' => ['bool', 'data'=>'string'], + 'swoole\process::read' => ['string', 'maxsize='=>'integer'], + 'swoole\process::signal' => ['void', 'signal_no'=>'string', 'callback'=>'callable'], + 'swoole\process::start' => ['void'], + 'swoole\process::statQueue' => ['array'], + 'swoole\process::useQueue' => ['bool', 'key'=>'integer', 'mode='=>'integer'], + 'swoole\process::wait' => ['array', 'blocking='=>'bool'], + 'swoole\process::write' => ['integer', 'data'=>'string'], + 'swoole\redis\server::format' => ['ReturnType', 'type'=>'string', 'value='=>'string'], + 'swoole\redis\server::setHandler' => ['ReturnType', 'command'=>'string', 'callback'=>'string', 'number_of_string_param='=>'string', 'type_of_array_param='=>'string'], + 'swoole\redis\server::start' => ['ReturnType'], + 'swoole\serialize::pack' => ['ReturnType', 'data'=>'string', 'is_fast='=>'int'], + 'swoole\serialize::unpack' => ['ReturnType', 'data'=>'string', 'args='=>'string'], + 'swoole\server::addProcess' => ['bool', 'process'=>'swoole_process'], + 'swoole\server::addlistener' => ['void', 'host'=>'string', 'port'=>'integer', 'socket_type'=>'string'], + 'swoole\server::after' => ['ReturnType', 'after_time_ms'=>'integer', 'callback'=>'callable', 'param='=>'string'], + 'swoole\server::bind' => ['bool', 'fd'=>'integer', 'uid'=>'integer'], + 'swoole\server::close' => ['bool', 'fd'=>'integer', 'reset='=>'bool'], + 'swoole\server::confirm' => ['bool', 'fd'=>'integer'], + 'swoole\server::connection_info' => ['array', 'fd'=>'integer', 'reactor_id='=>'integer'], + 'swoole\server::connection_list' => ['array', 'start_fd'=>'integer', 'pagesize='=>'integer'], + 'swoole\server::defer' => ['void', 'callback'=>'callable'], + 'swoole\server::exist' => ['bool', 'fd'=>'integer'], + 'swoole\server::finish' => ['void', 'data'=>'string'], + 'swoole\server::getClientInfo' => ['ReturnType', 'fd'=>'integer', 'reactor_id='=>'integer'], + 'swoole\server::getClientList' => ['array', 'start_fd'=>'integer', 'pagesize='=>'integer'], + 'swoole\server::getLastError' => ['integer'], + 'swoole\server::heartbeat' => ['mixed', 'if_close_connection'=>'bool'], + 'swoole\server::listen' => ['bool', 'host'=>'string', 'port'=>'integer', 'socket_type'=>'string'], + 'swoole\server::on' => ['void', 'event_name'=>'string', 'callback'=>'callable'], + 'swoole\server::pause' => ['void', 'fd'=>'integer'], + 'swoole\server::protect' => ['void', 'fd'=>'integer', 'is_protected='=>'bool'], + 'swoole\server::reload' => ['bool'], + 'swoole\server::resume' => ['void', 'fd'=>'integer'], + 'swoole\server::send' => ['bool', 'fd'=>'integer', 'data'=>'string', 'reactor_id='=>'integer'], + 'swoole\server::sendMessage' => ['bool', 'worker_id'=>'integer', 'data'=>'string'], + 'swoole\server::sendfile' => ['bool', 'fd'=>'integer', 'filename'=>'string', 'offset='=>'integer'], + 'swoole\server::sendto' => ['bool', 'ip'=>'string', 'port'=>'integer', 'data'=>'string', 'server_socket='=>'string'], + 'swoole\server::sendwait' => ['bool', 'fd'=>'integer', 'data'=>'string'], + 'swoole\server::set' => ['ReturnType', 'settings'=>'array'], + 'swoole\server::shutdown' => ['void'], + 'swoole\server::start' => ['void'], + 'swoole\server::stats' => ['array'], + 'swoole\server::stop' => ['bool', 'worker_id='=>'integer'], + 'swoole\server::task' => ['mixed', 'data'=>'string', 'dst_worker_id='=>'integer', 'callback='=>'callable'], + 'swoole\server::taskWaitMulti' => ['void', 'tasks'=>'array', 'timeout_ms='=>'double'], + 'swoole\server::taskwait' => ['void', 'data'=>'string', 'timeout='=>'float', 'worker_id='=>'integer'], + 'swoole\server::tick' => ['void', 'interval_ms'=>'integer', 'callback'=>'callable'], + 'swoole\server\port::__destruct' => ['void'], + 'swoole\server\port::on' => ['ReturnType', 'event_name'=>'string', 'callback'=>'callable'], + 'swoole\server\port::set' => ['void', 'settings'=>'array'], + 'swoole\table::column' => ['ReturnType', 'name'=>'string', 'type'=>'string', 'size='=>'integer'], + 'swoole\table::count' => ['integer'], + 'swoole\table::create' => ['void'], + 'swoole\table::current' => ['array'], + 'swoole\table::decr' => ['ReturnType', 'key'=>'string', 'column'=>'string', 'decrby='=>'integer'], + 'swoole\table::del' => ['void', 'key'=>'string'], + 'swoole\table::destroy' => ['void'], + 'swoole\table::exist' => ['bool', 'key'=>'string'], + 'swoole\table::get' => ['integer', 'row_key'=>'string', 'column_key'=>'string'], + 'swoole\table::incr' => ['void', 'key'=>'string', 'column'=>'string', 'incrby='=>'integer'], + 'swoole\table::key' => ['string'], + 'swoole\table::next' => ['ReturnType'], + 'swoole\table::rewind' => ['void'], + 'swoole\table::set' => ['VOID', 'key'=>'string', 'value'=>'array'], + 'swoole\table::valid' => ['bool'], + 'swoole\timer::after' => ['void', 'after_time_ms'=>'int', 'callback'=>'callable'], + 'swoole\timer::clear' => ['void', 'timer_id'=>'integer'], + 'swoole\timer::exists' => ['bool', 'timer_id'=>'integer'], + 'swoole\timer::tick' => ['void', 'interval_ms'=>'integer', 'callback'=>'callable', 'param='=>'string'], + 'swoole\websocket\server::exist' => ['bool', 'fd'=>'integer'], + 'swoole\websocket\server::on' => ['ReturnType', 'event_name'=>'string', 'callback'=>'callable'], + 'swoole\websocket\server::pack' => ['binary', 'data'=>'string', 'opcode='=>'string', 'finish='=>'string', 'mask='=>'string'], + 'swoole\websocket\server::push' => ['void', 'fd'=>'string', 'data'=>'string', 'opcode='=>'string', 'finish='=>'string'], + 'swoole\websocket\server::unpack' => ['string', 'data'=>'binary'], + 'swoole_async_dns_lookup' => ['bool', 'hostname'=>'string', 'callback'=>'callable'], + 'swoole_async_read' => ['bool', 'filename'=>'string', 'callback'=>'callable', 'chunk_size='=>'int', 'offset='=>'int'], + 'swoole_async_readfile' => ['bool', 'filename'=>'string', 'callback'=>'string'], + 'swoole_async_set' => ['void', 'settings'=>'array'], + 'swoole_async_write' => ['bool', 'filename'=>'string', 'content'=>'string', 'offset='=>'int', 'callback='=>'callable'], + 'swoole_async_writefile' => ['bool', 'filename'=>'string', 'content'=>'string', 'callback='=>'callable', 'flags='=>'int'], + 'swoole_client_select' => ['int', 'read_array'=>'array', 'write_array'=>'array', 'error_array'=>'array', 'timeout='=>'float'], + 'swoole_cpu_num' => ['int'], + 'swoole_errno' => ['int'], + 'swoole_event_add' => ['int', 'fd'=>'int', 'read_callback='=>'callable', 'write_callback='=>'callable', 'events='=>'int'], + 'swoole_event_defer' => ['bool', 'callback'=>'callable'], + 'swoole_event_del' => ['bool', 'fd'=>'int'], + 'swoole_event_exit' => ['void'], + 'swoole_event_set' => ['bool', 'fd'=>'int', 'read_callback='=>'callable', 'write_callback='=>'callable', 'events='=>'int'], + 'swoole_event_wait' => ['void'], + 'swoole_event_write' => ['bool', 'fd'=>'int', 'data'=>'string'], + 'swoole_get_local_ip' => ['array'], + 'swoole_last_error' => ['int'], + 'swoole_load_module' => ['mixed', 'filename'=>'string'], + 'swoole_select' => ['int', 'read_array'=>'array', 'write_array'=>'array', 'error_array'=>'array', 'timeout='=>'float'], + 'swoole_set_process_name' => ['void', 'process_name'=>'string', 'size='=>'int'], + 'swoole_strerror' => ['string', 'errno'=>'int', 'error_type='=>'int'], + 'swoole_timer_after' => ['int', 'ms'=>'int', 'callback'=>'callable', 'param='=>'mixed'], + 'swoole_timer_exists' => ['bool', 'timer_id'=>'int'], + 'swoole_timer_tick' => ['int', 'ms'=>'int', 'callback'=>'callable', 'param='=>'mixed'], + 'swoole_version' => ['string'], + 'symbolObj::__construct' => ['void', 'map'=>'mapObj', 'symbolname'=>'string'], + 'symbolObj::free' => ['void'], + 'symbolObj::getPatternArray' => ['array'], + 'symbolObj::getPointsArray' => ['array'], + 'symbolObj::ms_newSymbolObj' => ['int', 'map'=>'mapObj', 'symbolname'=>'string'], + 'symbolObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'symbolObj::setImagePath' => ['int', 'filename'=>'string'], + 'symbolObj::setPattern' => ['int', 'int'=>'array'], + 'symbolObj::setPoints' => ['int', 'double'=>'array'], + 'symlink' => ['bool', 'target'=>'string', 'link'=>'string'], + 'sys_get_temp_dir' => ['string'], + 'sys_getloadavg' => ['array'], + 'syslog' => ['true', 'priority'=>'int', 'message'=>'string'], + 'system' => ['string|false', 'command'=>'string', '&w_result_code='=>'int'], + 'taint' => ['bool', '&rw_string'=>'string', '&...w_other_strings='=>'string'], + 'tan' => ['float', 'num'=>'float'], + 'tanh' => ['float', 'num'=>'float'], + 'tcpwrap_check' => ['bool', 'daemon'=>'string', 'address'=>'string', 'user='=>'string', 'nodns='=>'bool'], + 'tempnam' => ['string|false', 'directory'=>'string', 'prefix'=>'string'], + 'textdomain' => ['string', 'domain'=>'?string'], + 'tidy::__construct' => ['void', 'filename='=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'tidy::body' => ['?tidyNode'], + 'tidy::cleanRepair' => ['bool'], + 'tidy::diagnose' => ['bool'], + 'tidy::getConfig' => ['array'], + 'tidy::getHtmlVer' => ['int'], + 'tidy::getOpt' => ['string|int|bool', 'option'=>'string'], + 'tidy::getOptDoc' => ['string', 'option'=>'string'], + 'tidy::getRelease' => ['string'], + 'tidy::getStatus' => ['int'], + 'tidy::head' => ['?tidyNode'], + 'tidy::html' => ['?tidyNode'], + 'tidy::isXhtml' => ['bool'], + 'tidy::isXml' => ['bool'], + 'tidy::parseFile' => ['bool', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'tidy::parseString' => ['bool', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'tidy::repairFile' => ['string', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'tidy::repairString' => ['string', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'tidy::root' => ['?tidyNode'], + 'tidyNode::__construct' => ['void'], + 'tidyNode::getParent' => ['?tidyNode'], + 'tidyNode::hasChildren' => ['bool'], + 'tidyNode::hasSiblings' => ['bool'], + 'tidyNode::isAsp' => ['bool'], + 'tidyNode::isComment' => ['bool'], + 'tidyNode::isHtml' => ['bool'], + 'tidyNode::isJste' => ['bool'], + 'tidyNode::isPhp' => ['bool'], + 'tidyNode::isText' => ['bool'], + 'tidy_access_count' => ['int', 'tidy'=>'tidy'], + 'tidy_clean_repair' => ['bool', 'tidy'=>'tidy'], + 'tidy_config_count' => ['int', 'tidy'=>'tidy'], + 'tidy_diagnose' => ['bool', 'tidy'=>'tidy'], + 'tidy_error_count' => ['int', 'tidy'=>'tidy'], + 'tidy_get_body' => ['?tidyNode', 'tidy'=>'tidy'], + 'tidy_get_config' => ['array', 'tidy'=>'tidy'], + 'tidy_get_error_buffer' => ['string', 'tidy'=>'tidy'], + 'tidy_get_head' => ['?tidyNode', 'tidy'=>'tidy'], + 'tidy_get_html' => ['?tidyNode', 'tidy'=>'tidy'], + 'tidy_get_html_ver' => ['int', 'tidy'=>'tidy'], + 'tidy_get_opt_doc' => ['string', 'tidy'=>'tidy', 'option'=>'string'], + 'tidy_get_output' => ['string', 'tidy'=>'tidy'], + 'tidy_get_release' => ['string'], + 'tidy_get_root' => ['?tidyNode', 'tidy'=>'tidy'], + 'tidy_get_status' => ['int', 'tidy'=>'tidy'], + 'tidy_getopt' => ['string|int|bool', 'tidy'=>'tidy', 'option'=>'string'], + 'tidy_is_xhtml' => ['bool', 'tidy'=>'tidy'], + 'tidy_is_xml' => ['bool', 'tidy'=>'tidy'], + 'tidy_load_config' => ['void', 'filename'=>'string', 'encoding'=>'string'], + 'tidy_parse_file' => ['tidy', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'tidy_parse_string' => ['tidy', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'tidy_repair_file' => ['string', 'filename'=>'string', 'config='=>'array|string', 'encoding='=>'string', 'useIncludePath='=>'bool'], + 'tidy_repair_string' => ['string', 'string'=>'string', 'config='=>'array|string', 'encoding='=>'string'], + 'tidy_reset_config' => ['bool'], + 'tidy_save_config' => ['bool', 'filename'=>'string'], + 'tidy_set_encoding' => ['bool', 'encoding'=>'string'], + 'tidy_setopt' => ['bool', 'option'=>'string', 'value'=>'mixed'], + 'tidy_warning_count' => ['int', 'tidy'=>'tidy'], + 'time' => ['positive-int'], + 'time_nanosleep' => ['array{0:0|positive-int,1:0|positive-int}|bool', 'seconds'=>'positive-int', 'nanoseconds'=>'positive-int'], + 'time_sleep_until' => ['bool', 'timestamp'=>'float'], + 'timezone_abbreviations_list' => ['array>'], + 'timezone_identifiers_list' => ['list|false', 'timezoneGroup='=>'int', 'countryCode='=>'string'], + 'timezone_location_get' => ['array|false', 'object'=>'DateTimeZone'], + 'timezone_name_from_abbr' => ['string|false', 'abbr'=>'string', 'utcOffset='=>'int', 'isDST='=>'int'], + 'timezone_name_get' => ['string', 'object'=>'DateTimeZone'], + 'timezone_offset_get' => ['int|false', 'object'=>'DateTimeZone', 'datetime'=>'DateTimeInterface'], + 'timezone_open' => ['DateTimeZone|false', 'timezone'=>'string'], + 'timezone_transitions_get' => ['list|false', 'object'=>'DateTimeZone', 'timestampBegin='=>'int', 'timestampEnd='=>'int'], + 'timezone_version_get' => ['string'], + 'tmpfile' => ['resource|false'], + 'token_get_all' => ['list', 'code'=>'string', 'flags='=>'int'], + 'token_name' => ['string', 'id'=>'int'], + 'touch' => ['bool', 'filename'=>'string', 'mtime='=>'int', 'atime='=>'int'], + 'trader_acos' => ['array', 'real'=>'array'], + 'trader_ad' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'volume'=>'array'], + 'trader_add' => ['array', 'real0'=>'array', 'real1'=>'array'], + 'trader_adosc' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'volume'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int'], + 'trader_adx' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_adxr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_apo' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int', 'mAType='=>'int'], + 'trader_aroon' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], + 'trader_aroonosc' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], + 'trader_asin' => ['array', 'real'=>'array'], + 'trader_atan' => ['array', 'real'=>'array'], + 'trader_atr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_avgprice' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_bbands' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'nbDevUp='=>'float', 'nbDevDn='=>'float', 'mAType='=>'int'], + 'trader_beta' => ['array', 'real0'=>'array', 'real1'=>'array', 'timePeriod='=>'int'], + 'trader_bop' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cci' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_cdl2crows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdl3blackcrows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdl3inside' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdl3linestrike' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdl3outside' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdl3starsinsouth' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdl3whitesoldiers' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlabandonedbaby' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdladvanceblock' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlbelthold' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlbreakaway' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlclosingmarubozu' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlconcealbabyswall' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlcounterattack' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdldarkcloudcover' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdldoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdldojistar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdldragonflydoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlengulfing' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdleveningdojistar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdleveningstar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdlgapsidesidewhite' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlgravestonedoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlhammer' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlhangingman' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlharami' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlharamicross' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlhighwave' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlhikkake' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlhikkakemod' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlhomingpigeon' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlidentical3crows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlinneck' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlinvertedhammer' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlkicking' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlkickingbylength' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlladderbottom' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdllongleggeddoji' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdllongline' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlmarubozu' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlmatchinglow' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlmathold' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdlmorningdojistar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdlmorningstar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'penetration='=>'float'], + 'trader_cdlonneck' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlpiercing' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlrickshawman' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlrisefall3methods' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlseparatinglines' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlshootingstar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlshortline' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlspinningtop' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlstalledpattern' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlsticksandwich' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdltakuri' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdltasukigap' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlthrusting' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdltristar' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlunique3river' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlupsidegap2crows' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_cdlxsidegap3methods' => ['array', 'open'=>'array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_ceil' => ['array', 'real'=>'array'], + 'trader_cmo' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_correl' => ['array', 'real0'=>'array', 'real1'=>'array', 'timePeriod='=>'int'], + 'trader_cos' => ['array', 'real'=>'array'], + 'trader_cosh' => ['array', 'real'=>'array'], + 'trader_dema' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_div' => ['array', 'real0'=>'array', 'real1'=>'array'], + 'trader_dx' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_ema' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_errno' => ['int'], + 'trader_exp' => ['array', 'real'=>'array'], + 'trader_floor' => ['array', 'real'=>'array'], + 'trader_get_compat' => ['int'], + 'trader_get_unstable_period' => ['int', 'functionId'=>'int'], + 'trader_ht_dcperiod' => ['array', 'real'=>'array'], + 'trader_ht_dcphase' => ['array', 'real'=>'array'], + 'trader_ht_phasor' => ['array', 'real'=>'array'], + 'trader_ht_sine' => ['array', 'real'=>'array'], + 'trader_ht_trendline' => ['array', 'real'=>'array'], + 'trader_ht_trendmode' => ['array', 'real'=>'array'], + 'trader_kama' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_linearreg' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_linearreg_angle' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_linearreg_intercept' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_linearreg_slope' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_ln' => ['array', 'real'=>'array'], + 'trader_log10' => ['array', 'real'=>'array'], + 'trader_ma' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'mAType='=>'int'], + 'trader_macd' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int', 'signalPeriod='=>'int'], + 'trader_macdext' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'fastMAType='=>'int', 'slowPeriod='=>'int', 'slowMAType='=>'int', 'signalPeriod='=>'int', 'signalMAType='=>'int'], + 'trader_macdfix' => ['array', 'real'=>'array', 'signalPeriod='=>'int'], + 'trader_mama' => ['array', 'real'=>'array', 'fastLimit='=>'float', 'slowLimit='=>'float'], + 'trader_mavp' => ['array', 'real'=>'array', 'periods'=>'array', 'minPeriod='=>'int', 'maxPeriod='=>'int', 'mAType='=>'int'], + 'trader_max' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_maxindex' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_medprice' => ['array', 'high'=>'array', 'low'=>'array'], + 'trader_mfi' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'volume'=>'array', 'timePeriod='=>'int'], + 'trader_midpoint' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_midprice' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], + 'trader_min' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_minindex' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_minmax' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_minmaxindex' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_minus_di' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_minus_dm' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], + 'trader_mom' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_mult' => ['array', 'real0'=>'array', 'real1'=>'array'], + 'trader_natr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_obv' => ['array', 'real'=>'array', 'volume'=>'array'], + 'trader_plus_di' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_plus_dm' => ['array', 'high'=>'array', 'low'=>'array', 'timePeriod='=>'int'], + 'trader_ppo' => ['array', 'real'=>'array', 'fastPeriod='=>'int', 'slowPeriod='=>'int', 'mAType='=>'int'], + 'trader_roc' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_rocp' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_rocr' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_rocr100' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_rsi' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_sar' => ['array', 'high'=>'array', 'low'=>'array', 'acceleration='=>'float', 'maximum='=>'float'], + 'trader_sarext' => ['array', 'high'=>'array', 'low'=>'array', 'startValue='=>'float', 'offsetOnReverse='=>'float', 'accelerationInitLong='=>'float', 'accelerationLong='=>'float', 'accelerationMaxLong='=>'float', 'accelerationInitShort='=>'float', 'accelerationShort='=>'float', 'accelerationMaxShort='=>'float'], + 'trader_set_compat' => ['void', 'compatId'=>'int'], + 'trader_set_unstable_period' => ['void', 'functionId'=>'int', 'timePeriod'=>'int'], + 'trader_sin' => ['array', 'real'=>'array'], + 'trader_sinh' => ['array', 'real'=>'array'], + 'trader_sma' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_sqrt' => ['array', 'real'=>'array'], + 'trader_stddev' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'nbDev='=>'float'], + 'trader_stoch' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'fastK_Period='=>'int', 'slowK_Period='=>'int', 'slowK_MAType='=>'int', 'slowD_Period='=>'int', 'slowD_MAType='=>'int'], + 'trader_stochf' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'fastK_Period='=>'int', 'fastD_Period='=>'int', 'fastD_MAType='=>'int'], + 'trader_stochrsi' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'fastK_Period='=>'int', 'fastD_Period='=>'int', 'fastD_MAType='=>'int'], + 'trader_sub' => ['array', 'real0'=>'array', 'real1'=>'array'], + 'trader_sum' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_t3' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'vFactor='=>'float'], + 'trader_tan' => ['array', 'real'=>'array'], + 'trader_tanh' => ['array', 'real'=>'array'], + 'trader_tema' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_trange' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_trima' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_trix' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_tsf' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trader_typprice' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_ultosc' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod1='=>'int', 'timePeriod2='=>'int', 'timePeriod3='=>'int'], + 'trader_var' => ['array', 'real'=>'array', 'timePeriod='=>'int', 'nbDev='=>'float'], + 'trader_wclprice' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array'], + 'trader_willr' => ['array', 'high'=>'array', 'low'=>'array', 'close'=>'array', 'timePeriod='=>'int'], + 'trader_wma' => ['array', 'real'=>'array', 'timePeriod='=>'int'], + 'trait_exists' => ['bool', 'trait'=>'string', 'autoload='=>'bool'], + 'transliterator_create' => ['?Transliterator', 'id'=>'string', 'direction='=>'int'], + 'transliterator_create_from_rules' => ['?Transliterator', 'rules'=>'string', 'direction='=>'int'], + 'transliterator_create_inverse' => ['?Transliterator', 'transliterator'=>'Transliterator'], + 'transliterator_get_error_code' => ['int', 'transliterator'=>'Transliterator'], + 'transliterator_get_error_message' => ['string', 'transliterator'=>'Transliterator'], + 'transliterator_list_ids' => ['array'], + 'transliterator_transliterate' => ['string|false', 'transliterator'=>'Transliterator|string', 'string'=>'string', 'start='=>'int', 'end='=>'int'], + 'trigger_error' => ['bool', 'message'=>'string', 'error_level='=>'256|512|1024|16384'], + 'trim' => ['string', 'string'=>'string', 'characters='=>'string'], + 'uasort' => ['true', '&rw_array'=>'array', 'callback'=>'callable(mixed,mixed):int'], + 'ucfirst' => ['string', 'string'=>'string'], + 'ucwords' => ['string', 'string'=>'string', 'separators='=>'string'], + 'udm_add_search_limit' => ['bool', 'agent'=>'resource', 'var'=>'int', 'value'=>'string'], + 'udm_alloc_agent' => ['resource', 'dbaddr'=>'string', 'dbmode='=>'string'], + 'udm_alloc_agent_array' => ['resource', 'databases'=>'array'], + 'udm_api_version' => ['int'], + 'udm_cat_list' => ['array', 'agent'=>'resource', 'category'=>'string'], + 'udm_cat_path' => ['array', 'agent'=>'resource', 'category'=>'string'], + 'udm_check_charset' => ['bool', 'agent'=>'resource', 'charset'=>'string'], + 'udm_check_stored' => ['int', 'agent'=>'', 'link'=>'int', 'doc_id'=>'string'], + 'udm_clear_search_limits' => ['bool', 'agent'=>'resource'], + 'udm_close_stored' => ['int', 'agent'=>'', 'link'=>'int'], + 'udm_crc32' => ['int', 'agent'=>'resource', 'string'=>'string'], + 'udm_errno' => ['int', 'agent'=>'resource'], + 'udm_error' => ['string', 'agent'=>'resource'], + 'udm_find' => ['resource', 'agent'=>'resource', 'query'=>'string'], + 'udm_free_agent' => ['int', 'agent'=>'resource'], + 'udm_free_ispell_data' => ['bool', 'agent'=>'int'], + 'udm_free_res' => ['bool', 'res'=>'resource'], + 'udm_get_doc_count' => ['int', 'agent'=>'resource'], + 'udm_get_res_field' => ['string', 'res'=>'resource', 'row'=>'int', 'field'=>'int'], + 'udm_get_res_param' => ['string', 'res'=>'resource', 'param'=>'int'], + 'udm_hash32' => ['int', 'agent'=>'resource', 'string'=>'string'], + 'udm_load_ispell_data' => ['bool', 'agent'=>'resource', 'var'=>'int', 'val1'=>'string', 'val2'=>'string', 'flag'=>'int'], + 'udm_open_stored' => ['int', 'agent'=>'', 'storedaddr'=>'string'], + 'udm_set_agent_param' => ['bool', 'agent'=>'resource', 'var'=>'int', 'val'=>'string'], + 'ui\area::onDraw' => ['', 'pen'=>'UI\Draw\Pen', 'areaSize'=>'UI\Size', 'clipPoint'=>'UI\Point', 'clipSize'=>'UI\Size'], + 'ui\area::onKey' => ['', 'key'=>'string', 'ext'=>'int', 'flags'=>'int'], + 'ui\area::onMouse' => ['', 'areaPoint'=>'UI\Point', 'areaSize'=>'UI\Size', 'flags'=>'int'], + 'ui\area::redraw' => [''], + 'ui\area::scrollTo' => ['', 'point'=>'UI\Point', 'size'=>'UI\Size'], + 'ui\area::setSize' => ['', 'size'=>'UI\Size'], + 'ui\control::destroy' => [''], + 'ui\control::disable' => [''], + 'ui\control::enable' => [''], + 'ui\control::getParent' => ['UI\Control'], + 'ui\control::getTopLevel' => ['int'], + 'ui\control::hide' => [''], + 'ui\control::isEnabled' => ['bool'], + 'ui\control::isVisible' => ['bool'], + 'ui\control::setParent' => ['', 'parent'=>'UI\Control'], + 'ui\control::show' => [''], + 'ui\controls\box::append' => ['int', 'control'=>'Control', 'stretchy='=>'bool'], + 'ui\controls\box::delete' => ['bool', 'index'=>'int'], + 'ui\controls\box::getOrientation' => ['int'], + 'ui\controls\box::isPadded' => ['bool'], + 'ui\controls\box::setPadded' => ['', 'padded'=>'bool'], + 'ui\controls\button::getText' => ['string'], + 'ui\controls\button::onClick' => [''], + 'ui\controls\button::setText' => ['', 'text'=>'string'], + 'ui\controls\check::getText' => ['string'], + 'ui\controls\check::isChecked' => ['bool'], + 'ui\controls\check::onToggle' => [''], + 'ui\controls\check::setChecked' => ['', 'checked'=>'bool'], + 'ui\controls\check::setText' => ['', 'text'=>'string'], + 'ui\controls\colorbutton::getColor' => ['UI\Color'], + 'ui\controls\colorbutton::onChange' => [''], + 'ui\controls\combo::append' => ['', 'text'=>'string'], + 'ui\controls\combo::getSelected' => ['int'], + 'ui\controls\combo::onSelected' => [''], + 'ui\controls\combo::setSelected' => ['', 'index'=>'int'], + 'ui\controls\editablecombo::append' => ['', 'text'=>'string'], + 'ui\controls\editablecombo::getText' => ['string'], + 'ui\controls\editablecombo::onChange' => [''], + 'ui\controls\editablecombo::setText' => ['', 'text'=>'string'], + 'ui\controls\entry::getText' => ['string'], + 'ui\controls\entry::isReadOnly' => ['bool'], + 'ui\controls\entry::onChange' => [''], + 'ui\controls\entry::setReadOnly' => ['', 'readOnly'=>'bool'], + 'ui\controls\entry::setText' => ['', 'text'=>'string'], + 'ui\controls\form::append' => ['int', 'label'=>'string', 'control'=>'UI\Control', 'stretchy='=>'bool'], + 'ui\controls\form::delete' => ['bool', 'index'=>'int'], + 'ui\controls\form::isPadded' => ['bool'], + 'ui\controls\form::setPadded' => ['', 'padded'=>'bool'], + 'ui\controls\grid::append' => ['', 'control'=>'UI\Control', 'left'=>'int', 'top'=>'int', 'xspan'=>'int', 'yspan'=>'int', 'hexpand'=>'bool', 'halign'=>'int', 'vexpand'=>'bool', 'valign'=>'int'], + 'ui\controls\grid::isPadded' => ['bool'], + 'ui\controls\grid::setPadded' => ['', 'padding'=>'bool'], + 'ui\controls\group::append' => ['', 'control'=>'UI\Control'], + 'ui\controls\group::getTitle' => ['string'], + 'ui\controls\group::hasMargin' => ['bool'], + 'ui\controls\group::setMargin' => ['', 'margin'=>'bool'], + 'ui\controls\group::setTitle' => ['', 'title'=>'string'], + 'ui\controls\label::getText' => ['string'], + 'ui\controls\label::setText' => ['', 'text'=>'string'], + 'ui\controls\multilineentry::append' => ['', 'text'=>'string'], + 'ui\controls\multilineentry::getText' => ['string'], + 'ui\controls\multilineentry::isReadOnly' => ['bool'], + 'ui\controls\multilineentry::onChange' => [''], + 'ui\controls\multilineentry::setReadOnly' => ['', 'readOnly'=>'bool'], + 'ui\controls\multilineentry::setText' => ['', 'text'=>'string'], + 'ui\controls\progress::getValue' => ['int'], + 'ui\controls\progress::setValue' => ['', 'value'=>'int'], + 'ui\controls\radio::append' => ['', 'text'=>'string'], + 'ui\controls\radio::getSelected' => ['int'], + 'ui\controls\radio::onSelected' => [''], + 'ui\controls\radio::setSelected' => ['', 'index'=>'int'], + 'ui\controls\slider::getValue' => ['int'], + 'ui\controls\slider::onChange' => [''], + 'ui\controls\slider::setValue' => ['', 'value'=>'int'], + 'ui\controls\spin::getValue' => ['int'], + 'ui\controls\spin::onChange' => [''], + 'ui\controls\spin::setValue' => ['', 'value'=>'int'], + 'ui\controls\tab::append' => ['int', 'name'=>'string', 'control'=>'UI\Control'], + 'ui\controls\tab::delete' => ['bool', 'index'=>'int'], + 'ui\controls\tab::hasMargin' => ['bool', 'page'=>'int'], + 'ui\controls\tab::insertAt' => ['', 'name'=>'string', 'page'=>'int', 'control'=>'UI\Control'], + 'ui\controls\tab::pages' => ['int'], + 'ui\controls\tab::setMargin' => ['', 'page'=>'int', 'margin'=>'bool'], + 'ui\draw\brush::getColor' => ['UI\Draw\Color'], + 'ui\draw\brush\gradient::delStop' => ['int', 'index'=>'int'], + 'ui\draw\color::getChannel' => ['float', 'channel'=>'int'], + 'ui\draw\color::setChannel' => ['void', 'channel'=>'int', 'value'=>'float'], + 'ui\draw\matrix::invert' => [''], + 'ui\draw\matrix::isInvertible' => ['bool'], + 'ui\draw\matrix::multiply' => ['UI\Draw\Matrix', 'matrix'=>'UI\Draw\Matrix'], + 'ui\draw\matrix::rotate' => ['', 'point'=>'UI\Point', 'amount'=>'float'], + 'ui\draw\matrix::scale' => ['', 'center'=>'UI\Point', 'point'=>'UI\Point'], + 'ui\draw\matrix::skew' => ['', 'point'=>'UI\Point', 'amount'=>'UI\Point'], + 'ui\draw\matrix::translate' => ['', 'point'=>'UI\Point'], + 'ui\draw\path::addRectangle' => ['', 'point'=>'UI\Point', 'size'=>'UI\Size'], + 'ui\draw\path::arcTo' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], + 'ui\draw\path::bezierTo' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], + 'ui\draw\path::closeFigure' => [''], + 'ui\draw\path::end' => [''], + 'ui\draw\path::lineTo' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], + 'ui\draw\path::newFigure' => ['', 'point'=>'UI\Point'], + 'ui\draw\path::newFigureWithArc' => ['', 'point'=>'UI\Point', 'radius'=>'float', 'angle'=>'float', 'sweep'=>'float', 'negative'=>'float'], + 'ui\draw\pen::clip' => ['', 'path'=>'UI\Draw\Path'], + 'ui\draw\pen::restore' => [''], + 'ui\draw\pen::save' => [''], + 'ui\draw\pen::transform' => ['', 'matrix'=>'UI\Draw\Matrix'], + 'ui\draw\pen::write' => ['', 'point'=>'UI\Point', 'layout'=>'UI\Draw\Text\Layout'], + 'ui\draw\stroke::getCap' => ['int'], + 'ui\draw\stroke::getJoin' => ['int'], + 'ui\draw\stroke::getMiterLimit' => ['float'], + 'ui\draw\stroke::getThickness' => ['float'], + 'ui\draw\stroke::setCap' => ['', 'cap'=>'int'], + 'ui\draw\stroke::setJoin' => ['', 'join'=>'int'], + 'ui\draw\stroke::setMiterLimit' => ['', 'limit'=>'float'], + 'ui\draw\stroke::setThickness' => ['', 'thickness'=>'float'], + 'ui\draw\text\font::getAscent' => ['float'], + 'ui\draw\text\font::getDescent' => ['float'], + 'ui\draw\text\font::getLeading' => ['float'], + 'ui\draw\text\font::getUnderlinePosition' => ['float'], + 'ui\draw\text\font::getUnderlineThickness' => ['float'], + 'ui\draw\text\font\descriptor::getFamily' => ['string'], + 'ui\draw\text\font\descriptor::getItalic' => ['int'], + 'ui\draw\text\font\descriptor::getSize' => ['float'], + 'ui\draw\text\font\descriptor::getStretch' => ['int'], + 'ui\draw\text\font\descriptor::getWeight' => ['int'], + 'ui\draw\text\font\fontfamilies' => ['array'], + 'ui\draw\text\layout::setWidth' => ['', 'width'=>'float'], + 'ui\executor::kill' => ['void'], + 'ui\executor::onExecute' => ['void'], + 'ui\menu::append' => ['UI\MenuItem', 'name'=>'string', 'type='=>'string'], + 'ui\menu::appendAbout' => ['UI\MenuItem', 'type='=>'string'], + 'ui\menu::appendCheck' => ['UI\MenuItem', 'name'=>'string', 'type='=>'string'], + 'ui\menu::appendPreferences' => ['UI\MenuItem', 'type='=>'string'], + 'ui\menu::appendQuit' => ['UI\MenuItem', 'type='=>'string'], + 'ui\menu::appendSeparator' => [''], + 'ui\menuitem::disable' => [''], + 'ui\menuitem::enable' => [''], + 'ui\menuitem::isChecked' => ['bool'], + 'ui\menuitem::onClick' => [''], + 'ui\menuitem::setChecked' => ['', 'checked'=>'bool'], + 'ui\point::getX' => ['float'], + 'ui\point::getY' => ['float'], + 'ui\point::setX' => ['', 'point'=>'float'], + 'ui\point::setY' => ['', 'point'=>'float'], + 'ui\quit' => ['void'], + 'ui\run' => ['void', 'flags='=>'int'], + 'ui\size::getHeight' => ['float'], + 'ui\size::getWidth' => ['float'], + 'ui\size::setHeight' => ['', 'size'=>'float'], + 'ui\size::setWidth' => ['', 'size'=>'float'], + 'ui\window::add' => ['', 'control'=>'UI\Control'], + 'ui\window::error' => ['', 'title'=>'string', 'msg'=>'string'], + 'ui\window::getSize' => ['UI\Size'], + 'ui\window::getTitle' => ['string'], + 'ui\window::hasBorders' => ['bool'], + 'ui\window::hasMargin' => ['bool'], + 'ui\window::isFullScreen' => ['bool'], + 'ui\window::msg' => ['', 'title'=>'string', 'msg'=>'string'], + 'ui\window::onClosing' => ['int'], + 'ui\window::open' => ['string'], + 'ui\window::save' => ['string'], + 'ui\window::setBorders' => ['', 'borders'=>'bool'], + 'ui\window::setFullScreen' => ['', 'full'=>'bool'], + 'ui\window::setMargin' => ['', 'margin'=>'bool'], + 'ui\window::setSize' => ['', 'size'=>'UI\Size'], + 'ui\window::setTitle' => ['', 'title'=>'string'], + 'uksort' => ['true', '&rw_array'=>'array', 'callback'=>'callable(mixed,mixed):int'], + 'umask' => ['int', 'mask='=>'int'], + 'uniqid' => ['non-empty-string', 'prefix='=>'string', 'more_entropy='=>'bool'], + 'unixtojd' => ['int', 'timestamp='=>'int'], + 'unlink' => ['bool', 'filename'=>'string', 'context='=>'resource'], + 'unpack' => ['array', 'format'=>'string', 'string'=>'string'], + 'unregister_tick_function' => ['void', 'callback'=>'callable'], + 'unserialize' => ['mixed', 'data'=>'string', 'options='=>'array{allowed_classes?:string[]|bool}'], + 'unset' => ['void', 'var='=>'mixed', '...args='=>'mixed'], + 'untaint' => ['bool', '&rw_string'=>'string', '&...rw_strings='=>'string'], + 'uopz_allow_exit' => ['void', 'allow'=>'bool'], + 'uopz_backup' => ['void', 'class'=>'string', 'function'=>'string'], + 'uopz_backup\'1' => ['void', 'function'=>'string'], + 'uopz_compose' => ['void', 'name'=>'string', 'classes'=>'array', 'methods='=>'array', 'properties='=>'array', 'flags='=>'int'], + 'uopz_copy' => ['Closure', 'class'=>'string', 'function'=>'string'], + 'uopz_copy\'1' => ['Closure', 'function'=>'string'], + 'uopz_delete' => ['void', 'class'=>'string', 'function'=>'string'], + 'uopz_delete\'1' => ['void', 'function'=>'string'], + 'uopz_extend' => ['bool', 'class'=>'string', 'parent'=>'string'], + 'uopz_flags' => ['int', 'class'=>'string', 'function'=>'string', 'flags'=>'int'], + 'uopz_flags\'1' => ['int', 'function'=>'string', 'flags'=>'int'], + 'uopz_function' => ['void', 'class'=>'string', 'function'=>'string', 'handler'=>'Closure', 'modifiers='=>'int'], + 'uopz_function\'1' => ['void', 'function'=>'string', 'handler'=>'Closure', 'modifiers='=>'int'], + 'uopz_get_exit_status' => ['?int'], + 'uopz_get_hook' => ['?Closure', 'class'=>'string', 'function'=>'string'], + 'uopz_get_hook\'1' => ['?Closure', 'function'=>'string'], + 'uopz_get_mock' => ['string|object|null', 'class'=>'string'], + 'uopz_get_property' => ['mixed', 'class'=>'object|string', 'property'=>'string'], + 'uopz_get_return' => ['mixed', 'class='=>'string', 'function='=>'string'], + 'uopz_get_static' => ['?array', 'class'=>'string', 'function'=>'string'], + 'uopz_implement' => ['bool', 'class'=>'string', 'interface'=>'string'], + 'uopz_overload' => ['void', 'opcode'=>'int', 'callable'=>'Callable'], + 'uopz_redefine' => ['bool', 'class'=>'string', 'constant'=>'string', 'value'=>'mixed'], + 'uopz_redefine\'1' => ['bool', 'constant'=>'string', 'value'=>'mixed'], + 'uopz_rename' => ['void', 'class'=>'string', 'function'=>'string', 'rename'=>'string'], + 'uopz_rename\'1' => ['void', 'function'=>'string', 'rename'=>'string'], + 'uopz_restore' => ['void', 'class'=>'string', 'function'=>'string'], + 'uopz_restore\'1' => ['void', 'function'=>'string'], + 'uopz_set_hook' => ['bool', 'class'=>'string', 'function'=>'string', 'hook'=>'Closure'], + 'uopz_set_hook\'1' => ['bool', 'function'=>'string', 'hook'=>'Closure'], + 'uopz_set_mock' => ['void', 'class'=>'string', 'mock'=>'object|string'], + 'uopz_set_property' => ['void', 'class'=>'object|string', 'property'=>'string', 'value'=>'mixed'], + 'uopz_set_return' => ['bool', 'class'=>'string', 'function'=>'string', 'value'=>'mixed', 'execute='=>'bool'], + 'uopz_set_return\'1' => ['bool', 'function'=>'string', 'value'=>'mixed', 'execute='=>'bool'], + 'uopz_set_static' => ['void', 'class'=>'string', 'function'=>'string', 'static'=>'array'], + 'uopz_undefine' => ['bool', 'class'=>'string', 'constant'=>'string'], + 'uopz_undefine\'1' => ['bool', 'constant'=>'string'], + 'uopz_unset_hook' => ['bool', 'class'=>'string', 'function'=>'string'], + 'uopz_unset_hook\'1' => ['bool', 'function'=>'string'], + 'uopz_unset_mock' => ['void', 'class'=>'string'], + 'uopz_unset_return' => ['bool', 'class='=>'string', 'function='=>'string'], + 'uopz_unset_return\'1' => ['bool', 'function'=>'string'], + 'urldecode' => ['string', 'string'=>'string'], + 'urlencode' => ['string', 'string'=>'string'], + 'use_soap_error_handler' => ['bool', 'enable='=>'bool'], + 'user_error' => ['bool', 'message'=>'string', 'error_level='=>'int'], + 'usleep' => ['void', 'microseconds'=>'positive-int|0'], + 'usort' => ['true', '&rw_array'=>'array', 'callback'=>'callable(mixed,mixed):int'], + 'utf8_decode' => ['string', 'string'=>'string'], + 'utf8_encode' => ['string', 'string'=>'string'], + 'var_dump' => ['void', 'value'=>'mixed', '...values='=>'mixed'], + 'var_export' => ['?string', 'value'=>'mixed', 'return='=>'bool'], + 'variant_abs' => ['mixed', 'value'=>'mixed'], + 'variant_add' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_and' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_cast' => ['VARIANT', 'variant'=>'VARIANT', 'type'=>'int'], + 'variant_cat' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_cmp' => ['int', 'left'=>'mixed', 'right'=>'mixed', 'locale_id='=>'int', 'flags='=>'int'], + 'variant_date_from_timestamp' => ['VARIANT', 'timestamp'=>'int'], + 'variant_date_to_timestamp' => ['int', 'variant'=>'VARIANT'], + 'variant_div' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_eqv' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_fix' => ['mixed', 'value'=>'mixed'], + 'variant_get_type' => ['int', 'variant'=>'VARIANT'], + 'variant_idiv' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_imp' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_int' => ['mixed', 'value'=>'mixed'], + 'variant_mod' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_mul' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_neg' => ['mixed', 'value'=>'mixed'], + 'variant_not' => ['mixed', 'value'=>'mixed'], + 'variant_or' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_pow' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_round' => ['mixed', 'value'=>'mixed', 'decimals'=>'int'], + 'variant_set' => ['void', 'variant'=>'object', 'value'=>'mixed'], + 'variant_set_type' => ['void', 'variant'=>'object', 'type'=>'int'], + 'variant_sub' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'variant_xor' => ['mixed', 'left'=>'mixed', 'right'=>'mixed'], + 'version_compare' => ['bool', 'version1'=>'string', 'version2'=>'string', 'operator'=>'\'<\'|\'lt\'|\'<=\'|\'le\'|\'>\'|\'gt\'|\'>=\'|\'ge\'|\'==\'|\'=\'|\'eq\'|\'!=\'|\'<>\'|\'ne\''], + 'version_compare\'1' => ['int', 'version1'=>'string', 'version2'=>'string'], + 'vfprintf' => ['int', 'stream'=>'resource', 'format'=>'string', 'values'=>'array'], + 'virtual' => ['bool', 'uri'=>'string'], + 'vpopmail_add_alias_domain' => ['bool', 'domain'=>'string', 'aliasdomain'=>'string'], + 'vpopmail_add_alias_domain_ex' => ['bool', 'olddomain'=>'string', 'newdomain'=>'string'], + 'vpopmail_add_domain' => ['bool', 'domain'=>'string', 'dir'=>'string', 'uid'=>'int', 'gid'=>'int'], + 'vpopmail_add_domain_ex' => ['bool', 'domain'=>'string', 'passwd'=>'string', 'quota='=>'string', 'bounce='=>'string', 'apop='=>'bool'], + 'vpopmail_add_user' => ['bool', 'user'=>'string', 'domain'=>'string', 'password'=>'string', 'gecos='=>'string', 'apop='=>'bool'], + 'vpopmail_alias_add' => ['bool', 'user'=>'string', 'domain'=>'string', 'alias'=>'string'], + 'vpopmail_alias_del' => ['bool', 'user'=>'string', 'domain'=>'string'], + 'vpopmail_alias_del_domain' => ['bool', 'domain'=>'string'], + 'vpopmail_alias_get' => ['array', 'alias'=>'string', 'domain'=>'string'], + 'vpopmail_alias_get_all' => ['array', 'domain'=>'string'], + 'vpopmail_auth_user' => ['bool', 'user'=>'string', 'domain'=>'string', 'password'=>'string', 'apop='=>'string'], + 'vpopmail_del_domain' => ['bool', 'domain'=>'string'], + 'vpopmail_del_domain_ex' => ['bool', 'domain'=>'string'], + 'vpopmail_del_user' => ['bool', 'user'=>'string', 'domain'=>'string'], + 'vpopmail_error' => ['string'], + 'vpopmail_passwd' => ['bool', 'user'=>'string', 'domain'=>'string', 'password'=>'string', 'apop='=>'bool'], + 'vpopmail_set_user_quota' => ['bool', 'user'=>'string', 'domain'=>'string', 'quota'=>'string'], + 'vprintf' => ['int', 'format'=>'string', 'values'=>'array'], + 'vsprintf' => ['string', 'format'=>'string', 'values'=>'array'], + 'w32api_deftype' => ['bool', 'typename'=>'string', 'member1_type'=>'string', 'member1_name'=>'string', '...args='=>'string'], + 'w32api_init_dtype' => ['resource', 'typename'=>'string', 'value'=>'', '...args='=>''], + 'w32api_invoke_function' => ['', 'funcname'=>'string', 'argument'=>'', '...args='=>''], + 'w32api_register_function' => ['bool', 'library'=>'string', 'function_name'=>'string', 'return_type'=>'string'], + 'w32api_set_call_method' => ['', 'method'=>'int'], + 'wddx_add_vars' => ['bool', 'packet_id'=>'resource', 'var_names'=>'mixed', '...vars='=>'mixed'], + 'wddx_deserialize' => ['mixed', 'packet'=>'string'], + 'wddx_packet_end' => ['string', 'packet_id'=>'resource'], + 'wddx_packet_start' => ['resource|false', 'comment='=>'string'], + 'wddx_serialize_value' => ['string|false', 'value'=>'mixed', 'comment='=>'string'], + 'wddx_serialize_vars' => ['string|false', 'var_name'=>'mixed', '...vars='=>'mixed'], + 'webObj::convertToString' => ['string'], + 'webObj::free' => ['void'], + 'webObj::set' => ['int', 'property_name'=>'string', 'new_value'=>''], + 'webObj::updateFromString' => ['int', 'snippet'=>'string'], + 'win32_continue_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], + 'win32_create_service' => ['int|false', 'details'=>'array', 'machine='=>'string'], + 'win32_delete_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], + 'win32_get_last_control_message' => ['int'], + 'win32_pause_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], + 'win32_ps_list_procs' => ['array'], + 'win32_ps_stat_mem' => ['array'], + 'win32_ps_stat_proc' => ['array', 'pid='=>'int'], + 'win32_query_service_status' => ['array|false|int', 'servicename'=>'string', 'machine='=>'string'], + 'win32_send_custom_control' => ['int', 'servicename'=>'string', 'control'=>'int', 'machine='=>'string'], + 'win32_set_service_exit_code' => ['int', 'exitCode='=>'int'], + 'win32_set_service_exit_mode' => ['bool', 'gracefulMode='=>'bool'], + 'win32_set_service_status' => ['bool|int', 'status'=>'int', 'checkpoint='=>'int'], + 'win32_start_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], + 'win32_start_service_ctrl_dispatcher' => ['bool|int', 'name'=>'string'], + 'win32_stop_service' => ['int|false', 'servicename'=>'string', 'machine='=>'string'], + 'wincache_fcache_fileinfo' => ['array|false', 'summaryonly='=>'bool'], + 'wincache_fcache_meminfo' => ['array|false'], + 'wincache_lock' => ['bool', 'key'=>'string', 'isglobal='=>'bool'], + 'wincache_ocache_fileinfo' => ['array|false', 'summaryonly='=>'bool'], + 'wincache_ocache_meminfo' => ['array|false'], + 'wincache_refresh_if_changed' => ['bool', 'files='=>'array'], + 'wincache_rplist_fileinfo' => ['array|false', 'summaryonly='=>'bool'], + 'wincache_rplist_meminfo' => ['array|false'], + 'wincache_scache_info' => ['array|false', 'summaryonly='=>'bool'], + 'wincache_scache_meminfo' => ['array|false'], + 'wincache_ucache_add' => ['bool', 'key'=>'string', 'value'=>'mixed', 'ttl='=>'int'], + 'wincache_ucache_add\'1' => ['bool', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], + 'wincache_ucache_cas' => ['bool', 'key'=>'string', 'old_value'=>'int', 'new_value'=>'int'], + 'wincache_ucache_clear' => ['bool'], + 'wincache_ucache_dec' => ['int|false', 'key'=>'string', 'dec_by='=>'int', 'success='=>'bool'], + 'wincache_ucache_delete' => ['bool', 'key'=>'mixed'], + 'wincache_ucache_exists' => ['bool', 'key'=>'string'], + 'wincache_ucache_get' => ['mixed', 'key'=>'mixed', '&w_success='=>'bool'], + 'wincache_ucache_inc' => ['int|false', 'key'=>'string', 'inc_by='=>'int', 'success='=>'bool'], + 'wincache_ucache_info' => ['array|false', 'summaryonly='=>'bool', 'key='=>'string'], + 'wincache_ucache_meminfo' => ['array|false'], + 'wincache_ucache_set' => ['bool', 'key'=>'', 'value'=>'', 'ttl='=>'int'], + 'wincache_ucache_set\'1' => ['bool', 'values'=>'array', 'unused='=>'', 'ttl='=>'int'], + 'wincache_unlock' => ['bool', 'key'=>'string'], + 'wkhtmltox\image\converter::convert' => ['?string'], + 'wkhtmltox\image\converter::getVersion' => ['string'], + 'wkhtmltox\pdf\converter::add' => ['void', 'object'=>'wkhtmltox\PDF\Object'], + 'wkhtmltox\pdf\converter::convert' => ['?string'], + 'wkhtmltox\pdf\converter::getVersion' => ['string'], + 'wordwrap' => ['string', 'string'=>'string', 'width='=>'int', 'break='=>'string', 'cut_long_words='=>'bool'], + 'xattr_get' => ['string', 'filename'=>'string', 'name'=>'string', 'flags='=>'int'], + 'xattr_list' => ['array', 'filename'=>'string', 'flags='=>'int'], + 'xattr_remove' => ['bool', 'filename'=>'string', 'name'=>'string', 'flags='=>'int'], + 'xattr_set' => ['bool', 'filename'=>'string', 'name'=>'string', 'value'=>'string', 'flags='=>'int'], + 'xattr_supported' => ['bool', 'filename'=>'string', 'flags='=>'int'], + 'xcache_asm' => ['string', 'filename'=>'string'], + 'xcache_clear_cache' => ['void', 'type'=>'int', 'id='=>'int'], + 'xcache_coredump' => ['string', 'op_type'=>'int'], + 'xcache_count' => ['int', 'type'=>'int'], + 'xcache_coverager_decode' => ['array', 'data'=>'string'], + 'xcache_coverager_get' => ['array', 'clean='=>'bool'], + 'xcache_coverager_start' => ['void', 'clean='=>'bool'], + 'xcache_coverager_stop' => ['void', 'clean='=>'bool'], + 'xcache_dasm_file' => ['string', 'filename'=>'string'], + 'xcache_dasm_string' => ['string', 'code'=>'string'], + 'xcache_dec' => ['int', 'name'=>'string', 'value='=>'int|mixed', 'ttl='=>'int'], + 'xcache_decode' => ['bool', 'filename'=>'string'], + 'xcache_encode' => ['string', 'filename'=>'string'], + 'xcache_get' => ['mixed', 'name'=>'string'], + 'xcache_get_data_type' => ['string', 'type'=>'int'], + 'xcache_get_op_spec' => ['string', 'op_type'=>'int'], + 'xcache_get_op_type' => ['string', 'op_type'=>'int'], + 'xcache_get_opcode' => ['string', 'opcode'=>'int'], + 'xcache_get_opcode_spec' => ['string', 'opcode'=>'int'], + 'xcache_inc' => ['int', 'name'=>'string', 'value='=>'int|mixed', 'ttl='=>'int'], + 'xcache_info' => ['array', 'type'=>'int', 'id'=>'int'], + 'xcache_is_autoglobal' => ['string', 'name'=>'string'], + 'xcache_isset' => ['bool', 'name'=>'string'], + 'xcache_list' => ['array', 'type'=>'int', 'id'=>'int'], + 'xcache_set' => ['bool', 'name'=>'string', 'value'=>'mixed', 'ttl='=>'int'], + 'xcache_unset' => ['bool', 'name'=>'string'], + 'xcache_unset_by_prefix' => ['bool', 'prefix'=>'string'], + 'xdebug_break' => ['bool'], + 'xdebug_call_class' => ['string', 'depth='=>'int'], + 'xdebug_call_file' => ['string', 'depth='=>'int'], + 'xdebug_call_function' => ['string', 'depth='=>'int'], + 'xdebug_call_line' => ['int', 'depth='=>'int'], + 'xdebug_clear_aggr_profiling_data' => ['bool'], + 'xdebug_code_coverage_started' => ['bool'], + 'xdebug_debug_zval' => ['void', '...varName'=>'string'], + 'xdebug_debug_zval_stdout' => ['void', '...varName'=>'string'], + 'xdebug_disable' => ['void'], + 'xdebug_dump_aggr_profiling_data' => ['bool'], + 'xdebug_dump_superglobals' => ['void'], + 'xdebug_enable' => ['void'], + 'xdebug_get_code_coverage' => ['array'], + 'xdebug_get_collected_errors' => ['string', 'clean='=>'bool'], + 'xdebug_get_declared_vars' => ['array'], + 'xdebug_get_formatted_function_stack' => [''], + 'xdebug_get_function_count' => ['int'], + 'xdebug_get_function_stack' => ['array', 'message='=>'string', 'options='=>'int'], + 'xdebug_get_headers' => ['array'], + 'xdebug_get_monitored_functions' => ['array'], + 'xdebug_get_profiler_filename' => ['string|false'], + 'xdebug_get_stack_depth' => ['int'], + 'xdebug_get_tracefile_name' => ['string'], + 'xdebug_is_debugger_active' => ['bool'], + 'xdebug_is_enabled' => ['bool'], + 'xdebug_memory_usage' => ['int'], + 'xdebug_peak_memory_usage' => ['int'], + 'xdebug_print_function_stack' => ['array', 'message='=>'string', 'options='=>'int'], + 'xdebug_set_filter' => ['void', 'group'=>'int', 'list_type'=>'int', 'configuration'=>'array'], + 'xdebug_start_code_coverage' => ['void', 'options='=>'int'], + 'xdebug_start_error_collection' => ['void'], + 'xdebug_start_function_monitor' => ['void', 'list_of_functions_to_monitor'=>'string[]'], + 'xdebug_start_trace' => ['void', 'trace_file'=>'', 'options='=>'int|mixed'], + 'xdebug_stop_code_coverage' => ['void', 'cleanup='=>'bool'], + 'xdebug_stop_error_collection' => ['void'], + 'xdebug_stop_function_monitor' => ['void'], + 'xdebug_stop_trace' => ['void'], + 'xdebug_time_index' => ['float'], + 'xdebug_var_dump' => ['void', '...var'=>''], + 'xdiff_file_bdiff' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string'], + 'xdiff_file_bdiff_size' => ['int', 'file'=>'string'], + 'xdiff_file_bpatch' => ['bool', 'file'=>'string', 'patch'=>'string', 'dest'=>'string'], + 'xdiff_file_diff' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string', 'context='=>'int', 'minimal='=>'bool'], + 'xdiff_file_diff_binary' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string'], + 'xdiff_file_merge3' => ['mixed', 'old_file'=>'string', 'new_file1'=>'string', 'new_file2'=>'string', 'dest'=>'string'], + 'xdiff_file_patch' => ['mixed', 'file'=>'string', 'patch'=>'string', 'dest'=>'string', 'flags='=>'int'], + 'xdiff_file_patch_binary' => ['bool', 'file'=>'string', 'patch'=>'string', 'dest'=>'string'], + 'xdiff_file_rabdiff' => ['bool', 'old_file'=>'string', 'new_file'=>'string', 'dest'=>'string'], + 'xdiff_string_bdiff' => ['string', 'old_data'=>'string', 'new_data'=>'string'], + 'xdiff_string_bdiff_size' => ['int', 'patch'=>'string'], + 'xdiff_string_bpatch' => ['string', 'string'=>'string', 'patch'=>'string'], + 'xdiff_string_diff' => ['string', 'old_data'=>'string', 'new_data'=>'string', 'context='=>'int', 'minimal='=>'bool'], + 'xdiff_string_diff_binary' => ['string', 'old_data'=>'string', 'new_data'=>'string'], + 'xdiff_string_merge3' => ['mixed', 'old_data'=>'string', 'new_data1'=>'string', 'new_data2'=>'string', 'error='=>'string'], + 'xdiff_string_patch' => ['string', 'string'=>'string', 'patch'=>'string', 'flags='=>'int', '&w_error='=>'string'], + 'xdiff_string_patch_binary' => ['string', 'string'=>'string', 'patch'=>'string'], + 'xdiff_string_rabdiff' => ['string', 'old_data'=>'string', 'new_data'=>'string'], + 'xhprof_disable' => ['array'], + 'xhprof_enable' => ['void', 'flags='=>'int', 'options='=>'array'], + 'xhprof_sample_disable' => ['array'], + 'xhprof_sample_enable' => ['void'], + 'xlswriter_get_author' => ['string'], + 'xlswriter_get_version' => ['string'], + 'xml_error_string' => ['?string', 'error_code'=>'int'], + 'xml_get_current_byte_index' => ['int|false', 'parser'=>'resource'], + 'xml_get_current_column_number' => ['int|false', 'parser'=>'resource'], + 'xml_get_current_line_number' => ['int|false', 'parser'=>'resource'], + 'xml_get_error_code' => ['int|false', 'parser'=>'resource'], + 'xml_parse' => ['int', 'parser'=>'resource', 'data'=>'string', 'is_final='=>'bool'], + 'xml_parse_into_struct' => ['int', 'parser'=>'resource', 'data'=>'string', '&w_values'=>'array', '&w_index='=>'array'], + 'xml_parser_create' => ['resource', 'encoding='=>'string'], + 'xml_parser_create_ns' => ['resource', 'encoding='=>'string', 'separator='=>'string'], + 'xml_parser_free' => ['bool', 'parser'=>'resource'], + 'xml_parser_get_option' => ['string|false', 'parser'=>'resource', 'option'=>'int'], + 'xml_parser_set_option' => ['bool', 'parser'=>'resource', 'option'=>'int', 'value'=>'mixed'], + 'xml_set_character_data_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_default_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_element_handler' => ['true', 'parser'=>'resource', 'start_handler'=>'callable', 'end_handler'=>'callable'], + 'xml_set_end_namespace_decl_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_external_entity_ref_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_notation_decl_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_object' => ['true', 'parser'=>'resource', 'object'=>'object'], + 'xml_set_processing_instruction_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_start_namespace_decl_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xml_set_unparsed_entity_decl_handler' => ['true', 'parser'=>'resource', 'handler'=>'callable'], + 'xmlrpc_decode' => ['mixed', 'xml'=>'string', 'encoding='=>'string'], + 'xmlrpc_decode_request' => ['?array', 'xml'=>'string', '&w_method'=>'string', 'encoding='=>'string'], + 'xmlrpc_encode' => ['string', 'value'=>'mixed'], + 'xmlrpc_encode_request' => ['string', 'method'=>'string', 'params'=>'mixed', 'output_options='=>'array'], + 'xmlrpc_get_type' => ['string', 'value'=>'mixed'], + 'xmlrpc_is_fault' => ['bool', 'arg'=>'array'], + 'xmlrpc_parse_method_descriptions' => ['array', 'xml'=>'string'], + 'xmlrpc_server_add_introspection_data' => ['int', 'server'=>'resource', 'desc'=>'array'], + 'xmlrpc_server_call_method' => ['string', 'server'=>'resource', 'xml'=>'string', 'user_data'=>'mixed', 'output_options='=>'array'], + 'xmlrpc_server_create' => ['resource'], + 'xmlrpc_server_destroy' => ['int', 'server'=>'resource'], + 'xmlrpc_server_register_introspection_callback' => ['bool', 'server'=>'resource', 'function'=>'string'], + 'xmlrpc_server_register_method' => ['bool', 'server'=>'resource', 'method_name'=>'string', 'function'=>'string'], + 'xmlrpc_set_type' => ['bool', '&rw_value'=>'string|DateTime', 'type'=>'string'], + 'xmlwriter_end_attribute' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_cdata' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_comment' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_document' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_dtd' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_dtd_attlist' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_dtd_element' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_dtd_entity' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_element' => ['bool', 'writer'=>'resource'], + 'xmlwriter_end_pi' => ['bool', 'writer'=>'resource'], + 'xmlwriter_flush' => ['string|int|false', 'writer'=>'resource', 'empty='=>'bool'], + 'xmlwriter_full_end_element' => ['bool', 'writer'=>'resource'], + 'xmlwriter_open_memory' => ['resource|false'], + 'xmlwriter_open_uri' => ['resource|false', 'uri'=>'string'], + 'xmlwriter_output_memory' => ['string', 'writer'=>'resource', 'flush='=>'bool'], + 'xmlwriter_set_indent' => ['bool', 'writer'=>'resource', 'enable'=>'bool'], + 'xmlwriter_set_indent_string' => ['bool', 'writer'=>'resource', 'indentation'=>'string'], + 'xmlwriter_start_attribute' => ['bool', 'writer'=>'resource', 'name'=>'string'], + 'xmlwriter_start_attribute_ns' => ['bool', 'writer'=>'resource', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string'], + 'xmlwriter_start_cdata' => ['bool', 'writer'=>'resource'], + 'xmlwriter_start_comment' => ['bool', 'writer'=>'resource'], + 'xmlwriter_start_document' => ['bool', 'writer'=>'resource', 'version='=>'?string', 'encoding='=>'?string', 'standalone='=>'?string'], + 'xmlwriter_start_dtd' => ['bool', 'writer'=>'resource', 'qualifiedName'=>'string', 'publicId='=>'?string', 'systemId='=>'?string'], + 'xmlwriter_start_dtd_attlist' => ['bool', 'writer'=>'resource', 'name'=>'string'], + 'xmlwriter_start_dtd_element' => ['bool', 'writer'=>'resource', 'qualifiedName'=>'string'], + 'xmlwriter_start_dtd_entity' => ['bool', 'writer'=>'resource', 'name'=>'string', 'isParam'=>'bool'], + 'xmlwriter_start_element' => ['bool', 'writer'=>'resource', 'name'=>'string'], + 'xmlwriter_start_element_ns' => ['bool', 'writer'=>'resource', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'?string'], + 'xmlwriter_start_pi' => ['bool', 'writer'=>'resource', 'target'=>'string'], + 'xmlwriter_text' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'xmlwriter_write_attribute' => ['bool', 'writer'=>'resource', 'name'=>'string', 'value'=>'string'], + 'xmlwriter_write_attribute_ns' => ['bool', 'writer'=>'resource', 'prefix'=>'string', 'name'=>'string', 'namespace'=>'?string', 'value'=>'string'], + 'xmlwriter_write_cdata' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'xmlwriter_write_comment' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'xmlwriter_write_dtd' => ['bool', 'writer'=>'resource', 'name'=>'string', 'publicId='=>'?string', 'systemId='=>'?string', 'content='=>'?string'], + 'xmlwriter_write_dtd_attlist' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'string'], + 'xmlwriter_write_dtd_element' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'string'], + 'xmlwriter_write_dtd_entity' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'string', 'isParam'=>'bool', 'publicId'=>'string', 'systemId'=>'string', 'notationData'=>'string'], + 'xmlwriter_write_element' => ['bool', 'writer'=>'resource', 'name'=>'string', 'content'=>'?string'], + 'xmlwriter_write_element_ns' => ['bool', 'writer'=>'resource', 'prefix'=>'?string', 'name'=>'string', 'namespace'=>'string', 'content'=>'?string'], + 'xmlwriter_write_pi' => ['bool', 'writer'=>'resource', 'target'=>'string', 'content'=>'string'], + 'xmlwriter_write_raw' => ['bool', 'writer'=>'resource', 'content'=>'string'], + 'xpath_new_context' => ['XPathContext', 'dom_document'=>'DOMDocument'], + 'xpath_register_ns' => ['bool', 'xpath_context'=>'xpathcontext', 'prefix'=>'string', 'uri'=>'string'], + 'xpath_register_ns_auto' => ['bool', 'xpath_context'=>'xpathcontext', 'context_node='=>'object'], + 'xptr_new_context' => ['XPathContext'], + 'yac::__construct' => ['void', 'prefix='=>'string'], + 'yac::__get' => ['mixed', 'key'=>'string'], + 'yac::__set' => ['mixed', 'key'=>'string', 'value'=>'mixed'], + 'yac::delete' => ['bool', 'keys'=>'string|array', 'ttl='=>'int'], + 'yac::dump' => ['mixed', 'num'=>'int'], + 'yac::flush' => ['bool'], + 'yac::get' => ['mixed', 'key'=>'string|array', 'cas='=>'int'], + 'yac::info' => ['array'], + 'yaml_emit' => ['string', 'data'=>'mixed', 'encoding='=>'int', 'linebreak='=>'int', 'callbacks='=>'array'], + 'yaml_emit_file' => ['bool', 'filename'=>'string', 'data'=>'mixed', 'encoding='=>'int', 'linebreak='=>'int', 'callbacks='=>'array'], + 'yaml_parse' => ['mixed|false', 'input'=>'string', 'pos='=>'int', '&w_ndocs='=>'int', 'callbacks='=>'array'], + 'yaml_parse_file' => ['mixed|false', 'filename'=>'string', 'pos='=>'int', '&w_ndocs='=>'int', 'callbacks='=>'array'], + 'yaml_parse_url' => ['mixed|false', 'url'=>'string', 'pos='=>'int', '&w_ndocs='=>'int', 'callbacks='=>'array'], + 'yaz_addinfo' => ['string', 'id'=>'resource'], + 'yaz_ccl_conf' => ['void', 'id'=>'resource', 'config'=>'array'], + 'yaz_ccl_parse' => ['bool', 'id'=>'resource', 'query'=>'string', '&w_result'=>'array'], + 'yaz_close' => ['bool', 'id'=>'resource'], + 'yaz_connect' => ['mixed', 'zurl'=>'string', 'options='=>'mixed'], + 'yaz_database' => ['bool', 'id'=>'resource', 'databases'=>'string'], + 'yaz_element' => ['bool', 'id'=>'resource', 'elementset'=>'string'], + 'yaz_errno' => ['int', 'id'=>'resource'], + 'yaz_error' => ['string', 'id'=>'resource'], + 'yaz_es' => ['void', 'id'=>'resource', 'type'=>'string', 'args'=>'array'], + 'yaz_es_result' => ['array', 'id'=>'resource'], + 'yaz_get_option' => ['string', 'id'=>'resource', 'name'=>'string'], + 'yaz_hits' => ['int', 'id'=>'resource', 'searchresult='=>'array'], + 'yaz_itemorder' => ['void', 'id'=>'resource', 'args'=>'array'], + 'yaz_present' => ['bool', 'id'=>'resource'], + 'yaz_range' => ['void', 'id'=>'resource', 'start'=>'int', 'number'=>'int'], + 'yaz_record' => ['string', 'id'=>'resource', 'pos'=>'int', 'type'=>'string'], + 'yaz_scan' => ['void', 'id'=>'resource', 'type'=>'string', 'startterm'=>'string', 'flags='=>'array'], + 'yaz_scan_result' => ['array', 'id'=>'resource', 'result='=>'array'], + 'yaz_schema' => ['void', 'id'=>'resource', 'schema'=>'string'], + 'yaz_search' => ['bool', 'id'=>'resource', 'type'=>'string', 'query'=>'string'], + 'yaz_set_option' => ['', 'id'=>'', 'name'=>'string', 'value'=>'string', 'options'=>'array'], + 'yaz_sort' => ['void', 'id'=>'resource', 'criteria'=>'string'], + 'yaz_syntax' => ['void', 'id'=>'resource', 'syntax'=>'string'], + 'yaz_wait' => ['mixed', '&rw_options='=>'array'], + 'yp_all' => ['void', 'domain'=>'string', 'map'=>'string', 'callback'=>'string'], + 'yp_cat' => ['array', 'domain'=>'string', 'map'=>'string'], + 'yp_err_string' => ['string', 'errorcode'=>'int'], + 'yp_errno' => ['int'], + 'yp_first' => ['array', 'domain'=>'string', 'map'=>'string'], + 'yp_get_default_domain' => ['string'], + 'yp_master' => ['string', 'domain'=>'string', 'map'=>'string'], + 'yp_match' => ['string', 'domain'=>'string', 'map'=>'string', 'key'=>'string'], + 'yp_next' => ['array', 'domain'=>'string', 'map'=>'string', 'key'=>'string'], + 'yp_order' => ['int', 'domain'=>'string', 'map'=>'string'], + 'zem_get_extension_info_by_id' => [''], + 'zem_get_extension_info_by_name' => [''], + 'zem_get_extensions_info' => [''], + 'zem_get_license_info' => [''], + 'zend_current_obfuscation_level' => ['int'], + 'zend_disk_cache_clear' => ['bool', 'namespace='=>'mixed|string'], + 'zend_disk_cache_delete' => ['mixed|null', 'key'=>'string'], + 'zend_disk_cache_fetch' => ['mixed|null', 'key'=>'string'], + 'zend_disk_cache_store' => ['bool', 'key'=>'', 'value'=>'', 'ttl='=>'int|mixed'], + 'zend_get_id' => ['array', 'all_ids='=>'all_ids|false'], + 'zend_is_configuration_changed' => [''], + 'zend_loader_current_file' => ['string'], + 'zend_loader_enabled' => ['bool'], + 'zend_loader_file_encoded' => ['bool'], + 'zend_loader_file_licensed' => ['array'], + 'zend_loader_install_license' => ['bool', 'license_file'=>'string', 'override'=>'bool'], + 'zend_logo_guid' => ['string'], + 'zend_obfuscate_class_name' => ['string', 'class_name'=>'string'], + 'zend_obfuscate_function_name' => ['string', 'function_name'=>'string'], + 'zend_optimizer_version' => ['string'], + 'zend_runtime_obfuscate' => ['void'], + 'zend_send_buffer' => ['null|false', 'buffer'=>'string', 'mime_type='=>'string', 'custom_headers='=>'string'], + 'zend_send_file' => ['null|false', 'filename'=>'string', 'mime_type='=>'string', 'custom_headers='=>'string'], + 'zend_set_configuration_changed' => [''], + 'zend_shm_cache_clear' => ['bool', 'namespace='=>'mixed|string'], + 'zend_shm_cache_delete' => ['mixed|null', 'key'=>'string'], + 'zend_shm_cache_fetch' => ['mixed|null', 'key'=>'string'], + 'zend_shm_cache_store' => ['bool', 'key'=>'', 'value'=>'', 'ttl='=>'int|mixed'], + 'zend_thread_id' => ['int'], + 'zend_version' => ['string'], + 'zip_close' => ['void', 'zip'=>'resource'], + 'zip_entry_close' => ['bool', 'zip_entry'=>'resource'], + 'zip_entry_compressedsize' => ['int', 'zip_entry'=>'resource'], + 'zip_entry_compressionmethod' => ['string', 'zip_entry'=>'resource'], + 'zip_entry_filesize' => ['int', 'zip_entry'=>'resource'], + 'zip_entry_name' => ['string', 'zip_entry'=>'resource'], + 'zip_entry_open' => ['bool', 'zip_dp'=>'resource', 'zip_entry'=>'resource', 'mode='=>'string'], + 'zip_entry_read' => ['string|false', 'zip_entry'=>'resource', 'len='=>'int'], + 'zip_open' => ['resource|int|false', 'filename'=>'string'], + 'zip_read' => ['resource', 'zip'=>'resource'], + 'zlib_decode' => ['string|false', 'data'=>'string', 'max_length='=>'int'], + 'zlib_encode' => ['string|false', 'data'=>'string', 'encoding'=>'int', 'level='=>'int'], + 'zlib_get_coding_type' => ['string|false'], + 'zookeeper_dispatch' => ['void'], +]; diff --git a/vendor/vimeo/psalm/dictionaries/InternalTaintSinkMap.php b/vendor/vimeo/psalm/dictionaries/InternalTaintSinkMap.php new file mode 100644 index 00000000..cb8c6077 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/InternalTaintSinkMap.php @@ -0,0 +1,63 @@ +>> + */ +return [ +'exec' => [['shell']], +'create_function' => [[], ['eval']], +'file_get_contents' => [['file']], +'file_put_contents' => [['file']], +'fopen' => [['file']], +'unlink' => [['file']], +'copy' => [['file'], ['file']], +'file' => [['file']], +'link' => [['file'], ['file']], +'mkdir' => [['file']], +'move_uploaded_file' => [['file'], ['file']], +'parse_ini_file' => [['file']], +'chown' => [['file']], +'lchown' => [['file']], +'readfile' => [['file']], +'rename' => [['file'], ['file']], +'rmdir' => [['file']], +'header' => [['header']], +'symlink' => [['file']], +'tempnam' => [['file']], +'igbinary_unserialize' => [['unserialize']], +'ldap_search' => [[], ['ldap'], ['ldap']], +'mysqli_query' => [[], ['sql']], +'mysqli::query' => [['sql']], +'mysqli_real_query' => [[], ['sql']], +'mysqli::real_query' => [['sql']], +'mysqli_multi_query' => [[], ['sql']], +'mysqli::multi_query' => [['sql']], +'mysqli_prepare' => [[], ['sql']], +'mysqli::prepare' => [['sql']], +'mysqli_stmt::__construct' => [[], ['sql']], +'mysqli_stmt_prepare' => [[], ['sql']], +'mysqli_stmt::prepare' => [['sql']], +'passthru' => [['shell']], +'pcntl_exec' => [['shell']], +'pg_exec' => [[], ['sql']], +'pg_prepare' => [[], [], ['sql']], +'pg_put_line' => [[], ['sql']], +'pg_query' => [[], ['sql']], +'pg_query_params' => [[], ['sql']], +'pg_send_prepare' => [[], [], ['sql']], +'pg_send_query' => [[], ['sql']], +'pg_send_query_params' => [[], ['sql'], []], +'setcookie' => [['cookie'], ['cookie']], +'shell_exec' => [['shell']], +'system' => [['shell']], +'unserialize' => [['unserialize']], +'popen' => [['shell']], +'proc_open' => [['shell']], +'curl_init' => [['ssrf']], +'curl_setopt' => [[], [], ['ssrf']], +'getimagesize' => [['ssrf']], +]; diff --git a/vendor/vimeo/psalm/dictionaries/ManualPropertyMap.php b/vendor/vimeo/psalm/dictionaries/ManualPropertyMap.php new file mode 100644 index 00000000..cc6c3fec --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/ManualPropertyMap.php @@ -0,0 +1,145 @@ + [ + // documented as 'mixed' in doc-en/reference/datetime/dateinterval.xml:90. + 'days' => 'false|int', + ], + 'domnode' => [ + // documented as 'DomNodeList' in doc-en/reference/dom/domnode.xml:57. + 'childnodes' => 'DomNodeList' + ], + 'tidy' => [ + // documented via in doc-en/reference/tidy/tidy.xml:33 + 'errorbuffer' => 'string', + ], + // + // Undocumented classes from here on. + // + 'phpparser\\node\\expr\\array_' => [ + 'items' => 'array', + ], + 'phpparser\\node\\expr\\arrowfunction' => [ + 'params' => 'list', + ], + 'phpparser\\node\\expr\\closure' => [ + 'params' => 'list', + ], + 'phpparser\\node\\expr\\list_' => [ + 'items' => 'array', + ], + 'phpparser\\node\\expr\\shellexec' => [ + 'parts' => 'list', + ], + 'phpparser\\node\\matcharm' => [ + 'conds' => 'null|non-empty-list', + ], + 'phpparser\\node\\name' => [ + 'parts' => 'non-empty-list', + ], + 'phpparser\\node\\stmt\\case_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\catch_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\class_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\do_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\else_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\elseif_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\finally_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\for_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\foreach_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\if_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\interface_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\namespace_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\trait_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\trycatch' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\while_' => [ + 'stmts' => 'list', + ], + 'rdkafka\\message' => [ + 'err' => 'int', + 'headers' => 'array|null', + 'key' => 'string|null', + 'offset' => 'int', + 'partition' => 'int', + 'payload' => 'string', + 'timestamp' => 'int', + 'topic_name' => 'string', + ], + + // + // Legacy extensions that got removed. + // + 'mongoclient' => [ + 'connected' => 'boolean', + 'status' => 'string', + ], + 'mongocollection' => [ + 'db' => 'MongoDB', + 'w' => 'integer', + 'wtimeout' => 'integer', + ], + 'mongocursor' => [ + 'slaveokay' => 'boolean', + 'timeout' => 'integer', + ], + 'mongodb' => [ + 'w' => 'integer', + 'wtimeout' => 'integer', + ], + 'mongodb-driver-exception-writeexception' => [ + 'writeresult' => 'MongoDBDriverWriteResult', + ], + 'mongoid' => [ + 'id' => 'string', + ], + 'mongoint32' => [ + 'value' => 'string', + ], + 'mongoint64' => [ + 'value' => 'string', + ], + 'tokyotyrantexception' => [ + 'code' => 'int', + ], +]; diff --git a/vendor/vimeo/psalm/dictionaries/PropertyMap.php b/vendor/vimeo/psalm/dictionaries/PropertyMap.php new file mode 100644 index 00000000..7f07ea65 --- /dev/null +++ b/vendor/vimeo/psalm/dictionaries/PropertyMap.php @@ -0,0 +1,618 @@ + [ + 'endColumn' => 'int', + 'endLine' => 'int', + 'firstChild' => 'Node|null', + 'lastChild' => 'Node|null', + 'next' => 'Node|null', + 'parent' => 'Node|null', + 'previous' => 'Node|null', + 'startColumn' => 'int', + 'startLine' => 'int', + ], + 'commonmark\\node\\bulletlist' => [ + 'delimiter' => 'int', + 'tight' => 'bool', + ], + 'commonmark\\node\\codeblock' => [ + 'fence' => 'string|null', + ], + 'commonmark\\node\\customblock' => [ + 'onEnter' => 'string|null', + 'onLeave' => 'string|null', + ], + 'commonmark\\node\\custominline' => [ + 'onEnter' => 'string|null', + 'onLeave' => 'string|null', + ], + 'commonmark\\node\\heading' => [ + 'level' => 'int', + ], + 'commonmark\\node\\image' => [ + 'title' => 'string|null', + 'url' => 'string|null', + ], + 'commonmark\\node\\link' => [ + 'title' => 'string|null', + 'url' => 'string|null', + ], + 'commonmark\\node\\orderedlist' => [ + 'delimiter' => 'int', + 'start' => 'int', + 'tight' => 'bool', + ], + 'commonmark\\node\\text' => [ + 'literal' => 'string|null', + ], + 'curlfile' => [ + 'mime' => 'string', + 'name' => 'string', + 'postname' => 'string', + ], + 'curlstringfile' => [ + 'data' => 'string', + 'mime' => 'string', + 'postname' => 'string', + ], + 'dateinterval' => [ + 'd' => 'int', + 'date_string' => 'string', + 'days' => 'false|int', + 'f' => 'float', + 'from_string' => 'bool', + 'h' => 'int', + 'i' => 'int', + 'invert' => 'int', + 'm' => 'int', + 's' => 'int', + 'y' => 'int', + ], + 'dateperiod' => [ + 'current' => 'DateTimeInterface', + 'end' => 'DateTimeInterface', + 'include_start_date' => 'bool', + 'interval' => 'DateInterval', + 'recurrences' => 'int', + 'start' => 'DateTimeInterface', + ], + 'directory' => [ + 'handle' => 'resource', + 'path' => 'string', + ], + 'domattr' => [ + 'name' => 'string', + 'ownerElement' => 'DOMElement|null', + 'schemaTypeInfo' => 'mixed', + 'specified' => 'bool', + 'value' => 'string', + ], + 'domcharacterdata' => [ + 'data' => 'string', + 'length' => 'int', + 'nextElementSibling' => 'DOMElement|null', + 'previousElementSibling' => 'DOMElement|null', + ], + 'domdocument' => [ + 'actualEncoding' => 'string|null', + 'childElementCount' => 'int', + 'config' => 'mixed', + 'doctype' => 'DOMDocumentType|null', + 'documentElement' => 'DOMElement|null', + 'documentURI' => 'string|null', + 'encoding' => 'string|null', + 'firstElementChild' => 'DOMElement|null', + 'formatOutput' => 'bool', + 'implementation' => 'DOMImplementation', + 'lastElementChild' => 'DOMElement|null', + 'preserveWhiteSpace' => 'bool', + 'recover' => 'bool', + 'resolveExternals' => 'bool', + 'standalone' => 'bool', + 'strictErrorChecking' => 'bool', + 'substituteEntities' => 'bool', + 'validateOnParse' => 'bool', + 'version' => 'string|null', + 'xmlEncoding' => 'string|null', + 'xmlStandalone' => 'bool', + 'xmlVersion' => 'string|null', + ], + 'domdocumentfragment' => [ + 'childElementCount' => 'int', + 'firstelementChild' => 'DOMElement|null', + 'lastelementChild' => 'DOMElement|null', + ], + 'domdocumenttype' => [ + 'entities' => 'DOMNamedNodeMap', + 'internalsubset' => 'string|null', + 'name' => 'string', + 'notations' => 'DOMNamedNodeMap', + 'publicid' => 'string', + 'systemid' => 'string', + ], + 'domelement' => [ + 'childElementCount' => 'int', + 'firstElementChild' => 'DOMElement|null', + 'lastElementChild' => 'DOMElement|null', + 'nextElementSibling' => 'DOMElement|null', + 'previousElementSibling' => 'DOMElement|null', + 'schemaTypeInfo' => 'mixed', + 'tagName' => 'string', + ], + 'domentity' => [ + 'actualEncoding' => 'string|null', + 'encoding' => 'string|null', + 'notationName' => 'string|null', + 'publicid' => 'string|null', + 'systemid' => 'string|null', + 'version' => 'string|null', + ], + 'domexception' => [ + 'code' => 'int', + ], + 'domnamednodemap' => [ + 'length' => 'int', + ], + 'domnode' => [ + 'attributes' => 'DOMNamedNodeMap|null', + 'baseURI' => 'string|null', + 'childNodes' => 'DOMNodeList', + 'firstChild' => 'DOMNode|null', + 'lastChild' => 'DOMNode|null', + 'localName' => 'string|null', + 'namespaceURI' => 'string|null', + 'nextSibling' => 'DOMNode|null', + 'nodeName' => 'string', + 'nodeType' => 'int', + 'nodeValue' => 'string|null', + 'ownerDocument' => 'DOMDocument|null', + 'parentNode' => 'DOMNode|null', + 'prefix' => 'string', + 'previousSibling' => 'DOMNode|null', + 'textContent' => 'string', + ], + 'domnodelist' => [ + 'length' => 'int', + ], + 'domnotation' => [ + 'publicId' => 'string', + 'systemId' => 'string', + ], + 'domprocessinginstruction' => [ + 'data' => 'string', + 'target' => 'string', + ], + 'domtext' => [ + 'wholeText' => 'string', + ], + 'domxpath' => [ + 'document' => 'DOMDocument', + 'registerNodeNamespaces' => 'bool', + ], + 'errorexception' => [ + 'severity' => 'int', + ], + 'event' => [ + 'pending' => 'bool', + ], + 'eventbuffer' => [ + 'contiguous_space' => 'int', + 'length' => 'int', + ], + 'eventbufferevent' => [ + 'fd' => 'int', + 'input' => 'EventBuffer', + 'output' => 'EventBuffer', + 'priority' => 'int', + ], + 'eventlistener' => [ + 'fd' => 'int', + ], + 'eventsslcontext' => [ + 'local_cert' => 'string', + 'local_pk' => 'string', + ], + 'libxmlerror' => [ + 'code' => 'int', + 'column' => 'int', + 'file' => 'string', + 'level' => 'int', + 'line' => 'int', + 'message' => 'string', + ], + 'mongoclient' => [ + 'connected' => 'boolean', + 'status' => 'string', + ], + 'mongocollection' => [ + 'db' => 'MongoDB', + 'w' => 'integer', + 'wtimeout' => 'integer', + ], + 'mongocursor' => [ + 'slaveokay' => 'boolean', + 'timeout' => 'integer', + ], + 'mongodb' => [ + 'w' => 'integer', + 'wtimeout' => 'integer', + ], + 'mongodb\\driver\\exception\\commandexception' => [ + 'resultdocument' => 'object', + ], + 'mongodb\\driver\\exception\\runtimeexception' => [ + 'errorlabels' => 'array|null', + ], + 'mongodb\\driver\\exception\\writeexception' => [ + 'writeresult' => 'MongoDB\\Driver\\WriteResult', + ], + 'mongoid' => [ + 'id' => 'string', + ], + 'mongoint32' => [ + 'value' => 'string', + ], + 'mongoint64' => [ + 'value' => 'string', + ], + 'mysqli' => [ + 'affected_rows' => 'int<-1, max>|numeric-string', + 'client_info' => 'string', + 'client_version' => 'int', + 'connect_errno' => 'int', + 'connect_error' => 'string|null', + 'errno' => 'int', + 'error' => 'string', + 'error_list' => 'array', + 'field_count' => 'int', + 'host_info' => 'string', + 'info' => 'string|null', + 'insert_id' => 'int|string', + 'protocol_version' => 'int', + 'server_info' => 'string', + 'server_version' => 'int', + 'sqlstate' => 'string', + 'thread_id' => 'int', + 'warning_count' => 'int', + ], + 'mysqli_driver' => [ + 'client_info' => 'string', + 'client_version' => 'int', + 'driver_version' => 'int', + 'embedded' => 'bool', + 'reconnect' => 'bool', + 'report_mode' => 'int', + ], + 'mysqli_result' => [ + 'current_field' => 'int', + 'field_count' => 'int', + 'lengths' => 'array|null', + 'num_rows' => 'int<0, max>|numeric-string', + 'type' => 'int', + ], + 'mysqli_sql_exception' => [ + 'sqlstate' => 'string', + ], + 'mysqli_stmt' => [ + 'affected_rows' => 'int<-1, max>|numeric-string', + 'errno' => 'int', + 'error' => 'string', + 'error_list' => 'array', + 'field_count' => 'int', + 'id' => 'int', + 'insert_id' => 'int|string', + 'num_rows' => 'int<0, max>|numeric-string', + 'param_count' => 'int', + 'sqlstate' => 'string', + ], + 'mysqli_warning' => [ + 'errno' => 'int', + 'message' => 'string', + 'sqlstate' => 'string', + ], + 'parallel\\events\\event' => [ + 'object' => 'object', + 'source' => 'string', + 'type' => 'int', + ], + 'parle\\errorinfo' => [ + 'id' => 'int', + 'position' => 'int', + 'token' => 'mixed', + ], + 'parle\\lexer' => [ + 'bol' => 'bool', + 'cursor' => 'int', + 'flags' => 'int', + 'marker' => 'int', + 'state' => 'int', + ], + 'parle\\parser' => [ + 'action' => 'int', + 'reduceid' => 'int', + ], + 'parle\\rlexer' => [ + 'bol' => 'bool', + 'cursor' => 'int', + 'flags' => 'int', + 'marker' => 'int', + 'state' => 'int', + ], + 'parle\\rparser' => [ + 'action' => 'int', + 'reduceid' => 'int', + ], + 'parle\\stack' => [ + 'empty' => 'bool', + 'size' => 'int', + 'top' => 'mixed', + ], + 'parle\\token' => [ + 'id' => 'int', + 'value' => 'string', + ], + 'pdoexception' => [ + 'code' => 'int|string', + 'errorInfo' => 'array|null', + ], + 'pdostatement' => [ + 'queryString' => 'string', + ], + 'php_user_filter' => [ + 'filtername' => 'string', + 'params' => 'mixed', + 'stream' => 'resource|null', + ], + 'phpparser\\node\\expr\\array_' => [ + 'items' => 'array', + ], + 'phpparser\\node\\expr\\arrowfunction' => [ + 'params' => 'list', + ], + 'phpparser\\node\\expr\\closure' => [ + 'params' => 'list', + ], + 'phpparser\\node\\expr\\list_' => [ + 'items' => 'array', + ], + 'phpparser\\node\\expr\\shellexec' => [ + 'parts' => 'list', + ], + 'phpparser\\node\\matcharm' => [ + 'conds' => 'null|non-empty-list', + ], + 'phpparser\\node\\name' => [ + 'parts' => 'non-empty-list', + ], + 'phpparser\\node\\stmt\\case_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\catch_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\class_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\do_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\else_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\elseif_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\finally_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\for_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\foreach_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\if_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\interface_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\namespace_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\trait_' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\trycatch' => [ + 'stmts' => 'list', + ], + 'phpparser\\node\\stmt\\while_' => [ + 'stmts' => 'list', + ], + 'phptoken' => [ + 'id' => 'int', + 'line' => 'int', + 'pos' => 'int', + 'text' => 'string', + ], + 'rdkafka\\message' => [ + 'err' => 'int', + 'headers' => 'array|null', + 'key' => 'string|null', + 'offset' => 'int', + 'partition' => 'int', + 'payload' => 'string', + 'timestamp' => 'int', + 'topic_name' => 'string', + ], + 'reflectionextension' => [ + 'name' => 'string', + ], + 'reflectionfunctionabstract' => [ + 'name' => 'string', + ], + 'reflectionzendextension' => [ + 'name' => 'string', + ], + 'snmp' => [ + 'enum_print' => 'bool', + 'exceptions_enabled' => 'int', + 'info' => 'array', + 'max_oids' => 'int|null', + 'oid_increasing_check' => 'bool', + 'oid_output_format' => 'int', + 'quick_print' => 'bool', + 'valueretrieval' => 'int', + ], + 'snmpexception' => [ + 'code' => 'string', + ], + 'soapclient' => [ + '__default_headers' => 'array|null', + '__last_request' => 'string|null', + '__last_request_headers' => 'string|null', + '__last_response' => 'string|null', + '__last_response_headers' => 'string|null', + '__soap_fault' => 'SoapFault|null', + '_classmap' => 'array|null', + '_connection_timeout' => 'int', + '_cookies' => 'array', + '_digest' => 'string|null', + '_encoding' => 'string|null', + '_exceptions' => 'bool', + '_features' => 'int|null', + '_keep_alive' => 'bool', + '_login' => 'string|null', + '_password' => 'string|null', + '_proxy_host' => 'string|null', + '_proxy_login' => 'string|null', + '_proxy_password' => 'string|null', + '_proxy_port' => 'int|null', + '_soap_version' => 'int', + '_ssl_method' => 'int|null', + '_stream_context' => 'resource|null', + '_use_digest' => 'bool', + '_use_proxy' => 'int|null', + '_user_agent' => 'string|null', + 'compression' => 'int|null', + 'httpsocket' => 'resource|null', + 'httpurl' => 'resource|null', + 'location' => 'string|null', + 'sdl' => 'resource|null', + 'style' => 'int|null', + 'trace' => 'bool', + 'typemap' => 'resource|null', + 'uri' => 'string|null', + 'use' => 'int|null', + ], + 'soapfault' => [ + '_name' => 'string|null', + 'detail' => 'mixed', + 'faultactor' => 'string|null', + 'faultcode' => 'string|null', + 'faultcodens' => 'string|null', + 'faultstring' => 'string', + 'headerfault' => 'mixed', + ], + 'soapheader' => [ + 'actor' => 'string|int|null', + 'data' => 'mixed', + 'mustUnderstand' => 'bool', + 'name' => 'string', + 'namespace' => 'string', + ], + 'soapparam' => [ + 'param_data' => 'mixed', + 'param_name' => 'string', + ], + 'soapserver' => [ + '__soap_fault' => 'SoapFault|null', + 'service' => 'resource', + ], + 'soapvar' => [ + 'enc_name' => 'string|null', + 'enc_namens' => 'string|null', + 'enc_ns' => 'string|null', + 'enc_stype' => 'string|null', + 'enc_type' => 'int', + 'enc_value' => 'mixed', + ], + 'solrdocumentfield' => [ + 'boost' => 'float', + 'name' => 'string', + 'values' => 'array', + ], + 'solrexception' => [ + 'sourcefile' => 'string', + 'sourceline' => 'int', + 'zif_name' => 'string', + ], + 'solrresponse' => [ + 'http_digested_response' => 'string', + 'http_raw_request' => 'string', + 'http_raw_request_headers' => 'string', + 'http_raw_response' => 'string', + 'http_raw_response_headers' => 'string', + 'http_request_url' => 'string', + 'http_status' => 'int', + 'http_status_message' => 'string', + 'parser_mode' => 'int', + 'success' => 'bool', + ], + 'streamwrapper' => [ + 'context' => 'resource', + ], + 'tidy' => [ + 'errorBuffer' => 'string', + 'value' => 'string|null', + ], + 'tidynode' => [ + 'attribute' => 'array|null', + 'child' => 'array|null', + 'column' => 'int', + 'id' => 'int|null', + 'line' => 'int', + 'name' => 'string', + 'proprietary' => 'bool', + 'type' => 'int', + 'value' => 'string', + ], + 'tokyotyrantexception' => [ + 'code' => 'int', + ], + 'transliterator' => [ + 'id' => 'string', + ], + 'xmlreader' => [ + 'attributeCount' => 'int', + 'baseURI' => 'string', + 'depth' => 'int', + 'hasAttributes' => 'bool', + 'hasValue' => 'bool', + 'isDefault' => 'bool', + 'isEmptyElement' => 'bool', + 'localName' => 'string', + 'name' => 'string', + 'namespaceURI' => 'string', + 'nodeType' => 'int', + 'prefix' => 'string', + 'value' => 'string', + 'xmlLang' => 'string', + ], + 'ziparchive' => [ + 'comment' => 'string', + 'filename' => 'string', + 'lastId' => 'int', + 'numFiles' => 'int', + 'status' => 'int', + 'statusSys' => 'int', + ], +]; diff --git a/vendor/vimeo/psalm/docs/README.md b/vendor/vimeo/psalm/docs/README.md new file mode 100644 index 00000000..797f9cdb --- /dev/null +++ b/vendor/vimeo/psalm/docs/README.md @@ -0,0 +1,72 @@ +# About Psalm + +Psalm is a static analysis tool that attempts to dig into your program and find as many type-related bugs as possible. + +It has a few features that go further than other similar tools: + +- **Mixed type warnings**
+ If Psalm cannot infer a type for an expression then it uses a `mixed` placeholder type. `mixed` types can sometimes mask bugs, so keeping track of them helps you avoid a number of common pitfalls. + +- **Intelligent logic checks**
+ Psalm keeps track of logical assertions made about your code, so `if ($a && $a) {}` and `if ($a && !$a) {}` are both treated as issues. Psalm also keeps track of logical assertions made in prior code paths, preventing issues like `if ($a) {} elseif ($a) {}`. + +- **Property initialisation checks**
+ Psalm checks that all properties of a given object have values after the constructor is called. + +- **Taint analysis**
+ Psalm can [detect security vulnerabilities](https://psalm.dev/articles/detect-security-vulnerabilities-with-psalm) in your code. + +- **Language Server**
+ Psalm has a Language Server that’s [compatible with a range of different IDEs](https://psalm.dev/docs/running_psalm/language_server/). + +- **Automatic fixes**
+ Psalm can [fix many of the issues it finds automatically](https://psalm.dev/docs/manipulating_code/fixing/). + +- **Automatic refactoring**
+ Psalm can also [perform simple refactors](https://psalm.dev/docs/manipulating_code/refactoring/) from the command line. + +## Example output + +Given a file `implode_strings.php`: + +```php + ./vendor/bin/psalm implode_strings.php +ERROR: InvalidArgument - somefile.php:3:14 - Argument 1 of implode expects `string`, `array` provided (see https://psalm.dev/004) +``` + +## Inspirations + +There are two main inspirations for Psalm: + +- Etsy's [Phan](https://github.com/etsy/phan), which uses nikic's [php-ast](https://github.com/nikic/php-ast) extension to create an abstract syntax tree +- Facebook's [Hack](http://hacklang.org/), a PHP-like language that supports many advanced typing features natively, so docblocks aren't necessary. + +## Index + +- Running Psalm: + - [Installation](running_psalm/installation.md) + - [Configuration](running_psalm/configuration.md) + - Plugins + - [Using plugins](running_psalm/plugins/using_plugins.md) + - [Authoring plugins](running_psalm/plugins/authoring_plugins.md) + - [How Psalm represents types](running_psalm/plugins/plugins_type_system.md) + - [Command line usage](running_psalm/command_line_usage.md) + - [IDE support](running_psalm/language_server.md) + - Handling errors: + - [Dealing with code issues](running_psalm/dealing_with_code_issues.md) + - [Issue Types](running_psalm/issues.md) + - [Checking non-PHP files](running_psalm/checking_non_php_files.md) +- Annotating code: + - [Typing in Psalm](annotating_code/typing_in_psalm.md) + - [Supported Annotations](annotating_code/supported_annotations.md) + - [Template Annotations](annotating_code/templated_annotations.md) +- Manipulating code: + - [Fixing code](manipulating_code/fixing.md) + - [Refactoring code](manipulating_code/refactoring.md) + diff --git a/vendor/vimeo/psalm/docs/annotating_code/adding_assertions.md b/vendor/vimeo/psalm/docs/annotating_code/adding_assertions.md new file mode 100644 index 00000000..db5d3f58 --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/adding_assertions.md @@ -0,0 +1,223 @@ +# Adding assertions + +Psalm has five docblock annotations that allow you to specify that a function verifies facts about variables and properties: + +- `@psalm-assert` (used when throwing an exception) +- `@psalm-assert-if-true`/`@psalm-assert-if-false` (used when returning a `bool`) +- `@psalm-if-this-is`/`@psalm-this-out` (used when calling a method) + +A list of acceptable assertions [can be found here](assertion_syntax.md). + +## Examples + +If you have a class that verified its input is an array of strings, you can make that clear to Psalm: + +```php +isValid(); +} + +/** + * @psalm-assert-if-false B $a + */ +function isInvalidB(A $a) : bool { + return !$a instanceof B || !$a->isValid(); +} + +function takesA(A $a) : void { + if (isValidB($a)) { + $a->bar(); + } + + if (isInvalidB($a)) { + // do something + } else { + $a->bar(); + } + + $a->bar(); //error +} +``` + +As well as getting Psalm to understand that the given data must be a certain type, you can also show that a variable must be not null: + +```php +exception + * @psalm-assert-if-true Exception $this->getException() + */ + public function hasException(): bool { + return $this->exception !== null; + } + + public function getException(): ?Exception { + return $this->exception; + } + + public function foo(): void { + if( $this->hasException() ) { + // Psalm now knows that $this->exception is an instance of Exception + echo $this->exception->getMessage(); + } + } +} + +$result = new Result; + +if( $result->hasException() ) { + // Psalm now knows that $result->getException() will return an instance of Exception + echo $result->getException()->getMessage(); +} +``` + +Please note that the example above only works if you enable [method call memoization](https://psalm.dev/docs/running_psalm/configuration/#memoizemethodcallresults) +in the config file or annotate the class as [immutable](https://psalm.dev/docs/annotating_code/supported_annotations/#psalm-immutable). + + +You can use `@psalm-this-out` to change the template arguments of a method after a method call, to reflect changes to the object's internal state. +You can also make assertions on the object's template arguments using `@psalm-if-this-is`. + + +```php + + */ + private array $data; + /** + * @param T $data + */ + public function __construct($data) { + $this->data = [$data]; + } + /** + * @template NewT + * + * @param NewT $data + * + * @psalm-this-out self + * + * @return void + */ + public function addData($data) { + /** @var self $this */ + $this->data []= $data; + } + /** + * @template NewT + * + * @param NewT $data + * + * @psalm-this-out self + * + * @return void + */ + public function setData($data) { + /** @var self $this */ + $this->data = [$data]; + } + /** + * @psalm-if-this-is a + */ + public function test(): void { + } +} + +$i = new a(123); +// OK - $i is a<123> +$i->test(); + +$i->addData(321); +// OK - $i is a<123|321> +$i->test(); + +$i->setData("test"); +// IfThisIsMismatch - Class is not a as required by psalm-if-this-is +$i->test(); +``` diff --git a/vendor/vimeo/psalm/docs/annotating_code/assertion_syntax.md b/vendor/vimeo/psalm/docs/annotating_code/assertion_syntax.md new file mode 100644 index 00000000..7cb2664b --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/assertion_syntax.md @@ -0,0 +1,127 @@ +# Assertion syntax + +Psalm’s [assertion annotation](adding_assertions.md) supports a number of different assertions. + +Psalm assertions are of the form + +`@psalm-assert(-if-true|-if-false)? (Assertion) (Variable or Property)` + +`Assertion` here can have many forms: + +## Regular assertions + +### is_xxx assertions + +Most `is_xxx` PHP functions have companion assertions e.g. `int` for `is_int`. Here's the full list: + +- `int` +- `float` +- `string` +- `bool` +- `scalar` +- `callable` +- `countable` +- `array` +- `iterable` +- `numeric` +- `resource` +- `object` +- `null` + +So a custom version `is_int` could be annotated in Psalm as + +```php + $foo` + +## Negated assertions + +Any assertion above can be negated: + +This asserts that `$foo` is not an `int`: + +```php +property`. If used above an assignment, Psalm checks whether the `VariableReference` matches the variable being assigned. If they differ, Psalm will assign the `Type` to `VariableReference` and use it in the expression below. + +If no `VariableReference` is given, the annotation tells Psalm that the right-hand side of the expression, whether an assignment or a return, is of type `Type`. + +```php + $f */ +function getTimes(int $n): iterable { + while ($n--) { + yield new \DateTime(); + } +}; +/** + * @var \Datetime[] $times + * @psalm-ignore-var + */ +$times = getTimes(3); +// this trace shows "iterable" instead of "array" +/** @psalm-trace $times */ +foreach ($times as $time) { + echo $time->format('Y-m-d H:i:s.u') . PHP_EOL; +} +``` + +### `@psalm-suppress SomeIssueName` + +This annotation is used to suppress issues. It can be used in function docblocks, class docblocks and also inline, applying to the following statement. + +Function docblock example: + +```php + 1 ? new Foo() : null; +} + +takesFoo(getFoo()); +``` + +### `@psalm-ignore-falsable-return` + +This provides the same, but for `false`. Psalm uses this internally for functions like `preg_replace`, which can return false if the given input has encoding errors, but where 99.9% of the time the function operates as expected. + +### `@psalm-seal-properties` + +If you have a magic property getter/setter, you can use `@psalm-seal-properties` to instruct Psalm to disallow getting and setting any properties not contained in a list of `@property` (or `@property-read`/`@property-write`) annotations. + +```php +bar = 5; // this call fails +``` + +### `@psalm-internal` + +Used to mark a class, property or function as internal to a given namespace. Psalm treats this slightly differently to +the PHPDoc `@internal` tag. For `@internal`, an issue is raised if the calling code is in a namespace completely +unrelated to the namespace of the calling code, i.e. not sharing the first element of the namespace. + +In contrast for `@psalm-internal`, the docblock line must specify a namespace. An issue is raised if the calling code +is not within the given namespace. + +```php +s = $s; + } +} + +$b = new B("hello"); +echo $b->s; +$b->s = "boo"; // disallowed +``` + +### `@psalm-mutation-free` + +Used to annotate a class method that does not mutate state, either internally or externally of the class's scope. +This requires that the return value depend only on the instance's properties. For example, `random_int` is considered +mutating here because it mutates the random number generator's internal state. + +```php +s = $s; + } + + /** + * @psalm-mutation-free + */ + public function getShort() : string { + return substr($this->s, 0, 5); + } + + /** + * @psalm-mutation-free + */ + public function getShortMutating() : string { + $this->s .= "hello"; // this is a bug + return substr($this->s, 0, 5); + } +} +``` + +### `@psalm-external-mutation-free` + +Used to annotate a class method that does not mutate state externally of the class's scope. + +```php +s = $s; + } + + /** + * @psalm-external-mutation-free + */ + public function getShortMutating() : string { + $this->s .= "hello"; // this is fine + return substr($this->s, 0, 5); + } + + /** + * @psalm-external-mutation-free + */ + public function save() : void { + file_put_contents("foo.txt", $this->s); // this is a bug + } +} +``` + +### `@psalm-immutable` + +Used to annotate a class where every property is treated by consumers as `@psalm-readonly` and every instance method is treated as `@psalm-mutation-free`. + +```php +baz = $baz; + } + + public function bar(): int + { + return 0; + } +} + +$anonymous = new /** @psalm-immutable */ class extends Foo +{ + public string $baz = "B"; + + public function bar(): int + { + return 1; + } +}; +``` + +### `@psalm-pure` + +Used to annotate a [pure function](https://en.wikipedia.org/wiki/Pure_function) - one whose output is just a function of its input. + +```php + random_int(1, 2) +); +``` + +### `@psalm-allow-private-mutation` + +Used to annotate readonly properties that can be mutated in a private context. With this, public properties can be read from another class but only be mutated within a method of its own class. + +```php +count++; + } +} + +$counter = new Counter(); +echo $counter->count; // outputs 0 +$counter->increment(); // Method can mutate property +echo $counter->count; // outputs 1 +$counter->count = 5; // This will fail, as it's mutating a property directly +``` + +### `@psalm-readonly-allow-private-mutation` + +This is a shorthand for the property annotations `@readonly` and `@psalm-allow-private-mutation`. + +```php +count++; + } +} + +$counter = new Counter(); +echo $counter->count; // outputs 0 +$counter->increment(); // Method can mutate property +echo $counter->count; // outputs 1 +$counter->count = 5; // This will fail, as it's mutating a property directly +``` + +### `@psalm-trace` + +You can use this annotation to trace inferred type (applied to the *next* statement). + +```php + "Nokia"]; + } +} +``` + +### `@psalm-import-type` + +You can use this annotation to import a type defined with [`@psalm-type`](#psalm-type) if it was defined somewhere else. + +```php +toArray()); + } +} +``` + +You can also alias a type when you import it: + +```php +toArray()); + } +} +``` + +### `@psalm-require-extends` + +The `@psalm-require-extends` annotation allows you to define the requirements that a trait imposes on the using class. + +```php +` without `@no-named-arguments` but becomes `list` with it, because it excludes the case where the offset would be a string with the name of the parameter + +### `@psalm-ignore-variable-property` and `@psalm-ignore-variable-method` + +Instructs Psalm to ignore variable property fetch / variable method call when looking for dead code. +```php +class Foo +{ + // this property can be deleted by Psalter, + // as potential reference in get() is ignored + public string $bar = 'bar'; + + public function get(string $name): mixed + { + /** @psalm-ignore-variable-property */ + return $this->{$name}; + } +} +``` +When Psalm encounters variable property, it treats all properties in given class as potentially referenced. +With `@psalm-ignore-variable-property` annotation, this reference is ignored. + +While `PossiblyUnusedProperty` would be emitted in both cases, using `@psalm-ignore-variable-property` +would allow [Psalter](../manipulating_code/fixing.md) to delete `Foo::$bar`. + +`@psalm-ignore-variable-method` behaves the same way, but for variable method calls. + +### `@psalm-yield` + +Used to specify the type of value which will be sent back to a generator when an annotated object instance is yielded. + +```php + + */ +class Success implements Promise { + /** + * @psalm-param TValue $value + */ + public function __construct($value) {} +} + +/** + * @return Promise + */ +function fetch(): Promise { + return new Success('{"data":[]}'); +} + +function (): Generator { + $data = yield fetch(); + + // this is fine, Psalm knows that $data is a string + return json_decode($data); +}; +``` +This annotation supports only generic types, meaning that e.g. `@psalm-yield string` would be ignored. + +### `@psalm-api` + +Used to tell Psalm that a class is used, even if no references to it can be +found. Unused issues will be suppressed. + +For example, in frameworks, controllers are often invoked "magically" without +any explicit references to them in your code. You should mark these classes with +`@psalm-api`. +```php +/** + * @psalm-api + */ +class UnreferencedClass {} +``` + +## Type Syntax + +Psalm supports PHPDoc’s [type syntax](https://docs.phpdoc.org/latest/guide/guides/types.html), and also the [proposed PHPDoc PSR type syntax](https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc.md#appendix-a-types). + +A detailed write-up is found in [Typing in Psalm](typing_in_psalm.md) diff --git a/vendor/vimeo/psalm/docs/annotating_code/templated_annotations.md b/vendor/vimeo/psalm/docs/annotating_code/templated_annotations.md new file mode 100644 index 00000000..117c43fe --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/templated_annotations.md @@ -0,0 +1,454 @@ +# Templating + +Docblocks allow you to tell Psalm some simple information about how your code works. For example `@return int` in a function return type tells Psalm that a function should return an `int` and `@return MyContainer` tells Psalm that a function should return an instance of a user-defined class `MyContainer`. In either case, Psalm can check that the function actually returns those types _and_ that anything calling that function uses its returned value properly. + +Templated types allow you to tell Psalm even more information about how your code works. + +Let's look at a simple class `MyContainer`: + +```php +value = $value; + } + + public function getValue() { + return $this->value; + } +} +``` + +When Psalm handles the return type of `$my_container->getValue()` it doesn't know what it's getting out, because the value can be arbitrary. + +Templated annotations provide us with a workaround - we can define a generic/templated param `T` that is a placeholder for the value inside `MyContainer`: + +```php +value = $value; + } + + /** @return T */ + public function getValue() { + return $this->value; + } +} +``` + +Now we can substitute values for that templated param when we reference `MyContainer` in docblocks e.g. `@return MyContainer`. This tells Psalm to substitute `T` for `int` when evaluating that return type, effectively treating it as a class that looks like + +```php +value = $value; + } + + /** @return int */ + public function getValue() { + return $this->value; + } +} +``` + +This pattern can be used in a large number of different situations like mocking, collections, iterators and loading arbitrary objects. Psalm has a large number of annotations to make it easy to use templated types in your codebase. + +## `@template`, `@psalm-template` + +The `@template`/`@psalm-template` tag allows classes and functions to declare a generic type parameter. + +As a very simple example, this function returns whatever is passed in: + +```php + $arr + * @param array $arr2 + * @return array + */ +function array_combine(array $arr, array $arr2) {} +``` + +### Notes +- `@template` tag order matters for class docblocks, as they dictate the order in which those generic parameters are referenced in docblocks. +- The names of your templated types (e.g. `TKey`, `TValue`) don't matter outside the scope of the class or function in which they're declared. + +## @param class-string<T> + +Psalm also allows you to parameterize class types + +```php + $class + * @return T + */ +function instantiator(string $class) { + return new $class(); +} + +class Foo { + public final function __construct() {} +} + +class FooChild extends Foo {} + +$r = instantiator(FooChild::class); +// Psalm knows $r is an object of type FooChild +``` + +## Template inheritance + +Psalm allows you to extend templated classes with `@extends`/`@template-extends`: + +```php + + */ +class ChildClass extends ParentClass {} +``` + +similarly you can implement interfaces with `@implements`/`@template-implements` + +```php + + */ +class Foo implements IFoo {} +``` + +and import traits with `@use`/`@template-use` + +```php + + */ + use MyTrait; +} +``` + +You can also extend one templated class with another, e.g. + +```php + + */ +class ChildClass extends ParentClass {} +``` + +## Template constraints + +You can use `@template of ` to restrict input. For example, to restrict to a given class you can use + +```php + + */ +function makeArray($t) { + return [$t]; +} +$a = makeArray(new Foo()); // typed as array +$b = makeArray(new FooChild()); // typed as array +$c = makeArray(new stdClass()); // type error +``` + +Templated types aren't limited to key-value pairs, and you can re-use templates across multiple arguments of a template-supporting type: +```php + + */ +abstract class Foo implements IteratorAggregate { + /** + * @var int + */ + protected $rand_min; + + /** + * @var int + */ + protected $rand_max; + + public function __construct(int $rand_min, int $rand_max) { + $this->rand_min = $rand_min; + $this->rand_max = $rand_max; + } + + /** + * @return Generator + */ + public function getIterator() : Generator { + $j = random_int($this->rand_min, $this->rand_max); + for($i = $this->rand_min; $i <= $j; $i += 1) { + yield $this->getFuzzyType($i) => $i ** $i; + } + + return $this->getFuzzyType($j); + } + + /** + * @return T0 + */ + abstract protected function getFuzzyType(int $i); +} + +/** + * @template-extends Foo + */ +class Bar extends Foo { + protected function getFuzzyType(int $i) : int { + return $i; + } +} + +/** + * @template-extends Foo + */ +class Baz extends Foo { + protected function getFuzzyType(int $i) : string { + return static::class . '[' . $i . ']'; + } +} +``` + +## Template covariance + +Imagine you have code like this: + +```php + + */ + public array $list; + + /** + * @param array $list + */ + public function __construct(array $list) { + $this->list = $list; + } + + /** + * @param T $t + */ + public function add($t) : void { + $this->list[] = $t; + } +} + +/** + * @param Collection $collection + */ +function addAnimal(Collection $collection) : void { + $collection->add(new Cat()); +} + +/** + * @param Collection $dog_collection + */ +function takesDogList(Collection $dog_collection) : void { + addAnimal($dog_collection); +} +``` + +That last call `addAnimal($dog_collection)` breaks the type of the collection – suddenly a collection of dogs becomes a collection of dogs _or_ cats. That is bad. + +To prevent this, Psalm emits an error when calling `addAnimal($dog_collection)` saying "addAnimal expects a `Collection`, but `Collection` was passed". If you haven't encountered this rule before it's probably confusing to you – any function that accepted an `Animal` would be happy to accept a subtype thereof. But as we see in the example above, doing so can lead to problems. + +But there are also times where it's perfectly safe to pass template param subtypes: + +```php + */ + public array $list = []; +} + +/** + * @param Collection $collection + */ +function getNoises(Collection $collection) : void { + foreach ($collection->list as $animal) { + echo $animal->getNoise(); + } +} + +/** + * @param Collection $dog_collection + */ +function takesDogList(Collection $dog_collection) : void { + getNoises($dog_collection); +} +``` + +Here we're not doing anything bad – we're just iterating over an array of objects. But Psalm still gives that same basic error – "getNoises expects a `Collection`, but `Collection` was passed". + +We can tell Psalm that it's safe to pass subtypes for the templated param `T` by using the annotation `@template-covariant T` (or `@psalm-template-covariant T`): + +```php + */ + public array $list = []; +} +``` + +Doing this for the above example produces no errors: [https://psalm.dev/r/5254af7a8b](https://psalm.dev/r/5254af7a8b) + +But `@template-covariant` doesn't get rid of _all_ errors – if you add it to the first example, you get a new error – [https://psalm.dev/r/0fcd699231](https://psalm.dev/r/0fcd699231) – complaining that you're attempting to use a covariant template parameter for function input. That’s no good, as it means you're likely altering the collection somehow (which is, again, a violation). + +### But what about immutability? + +Psalm has [comprehensive support for declaring functional immutability](https://psalm.dev/articles/immutability-and-beyond). + +If we make sure that the class is immutable, we can declare a class with an `add` method that still takes a covariant param as input, but which does not modify the collection at all, instead returning a new one: + +```php + + */ + public array $list = []; + + /** + * @param array $list + */ + public function __construct(array $list) { + $this->list = $list; + } + + /** + * @param T $t + * @return Collection + */ + public function add($t) : Collection { + return new Collection(array_merge($this->list, [$t])); + } +} +``` + +This is perfectly valid, and Psalm won't complain. + +## Builtin templated classes and interfaces + +Psalm has support for a number of builtin classes and interfaces that you can extend/implement in your own code. + +- `interface Traversable` +- `interface ArrayAccess` +- `interface IteratorAggregate extends Traversable` +- `interface Iterator extends Traversable` +- `interface SeekableIterator extends Iterator` + +- `class Generator extends Traversable` +- `class ArrayObject implements IteratorAggregate, ArrayAccess` +- `class ArrayIterator implements SeekableIterator, ArrayAccess` +- `class DOMNodeList implements Traversable` +- `class SplDoublyLinkedList implements Iterator, ArrayAccess` +- `class SplQueue extends SplDoublyLinkedList` + +- `abstract class FilterIterator` diff --git a/vendor/vimeo/psalm/docs/annotating_code/type_syntax/array_types.md b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/array_types.md new file mode 100644 index 00000000..9a6ff692 --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/array_types.md @@ -0,0 +1,220 @@ +# Array types + +In PHP, the `array` type is commonly used to represent three different data structures: + +[List](https://en.wikipedia.org/wiki/List_(abstract_data_type)): + +```php + 'hello', 5 => 'goodbye']; +$b = ['a' => 'AA', 'b' => 'BB', 'c' => 'CC'] +``` + +Makeshift [Structs](https://en.wikipedia.org/wiki/Struct_(C_programming_language)): + +```php + 'Psalm', 'type' => 'tool']; +``` + +PHP treats all these arrays the same, essentially (though there are some optimisations under the hood for the first case). + +Psalm has a few different ways to represent arrays in its type system: + +## Generic arrays + +Psalm uses a syntax [borrowed from Java](https://en.wikipedia.org/wiki/Generics_in_Java) that allows you to denote the types of both keys *and* values: + +```php +/** @return array */ +``` + +You can also specify that an array is non-empty with the special type `non-empty-array`. + +### PHPDoc syntax + +PHPDoc [allows you to specify](https://docs.phpdoc.org/latest/guide/references/phpdoc/types.html#arrays) the type of values a generic array holds with the annotation: + +```php +/** @return ValueType[] */ +``` + +In Psalm this annotation is equivalent to `@psalm-return array`. + +Generic arrays encompass both _associative arrays_ and _lists_. + +## Lists + +(Psalm 3.6+) + +Psalm supports a `list` type that represents continuous, integer-indexed arrays like `["red", "yellow", "blue"]`. + +A frequent way to create a list is with the `$arr[] =` notation. + +These arrays will return true to `array_is_list($arr)`(PHP 8.1+) and represent a large percentage of all array usage in PHP applications. + +A `list` type is of the form `list`, where `SomeType` is any permitted [union type](union_types.md) supported by Psalm. + +- `list` is a subtype of `array` +- `list` is a subtype of `array`. + +List types show their value in a few ways: + +```php + $arr + */ +function takesArray(array $arr) : void { + if ($arr) { + // this index may not be set + echo $arr[0]; + } +} + +/** + * @psalm-param list $arr + */ +function takesList(array $arr) : void { + if ($arr) { + // list indexes always start from zero, + // so a non-empty list will have an element here + echo $arr[0]; + } +} + +takesArray(["hello"]); // this is fine +takesArray([1 => "hello"]); // would trigger bug, without warning + +takesList(["hello"]); // this is fine +takesList([1 => "hello"]); // triggers warning in Psalm +``` + +## Array shapes + +Psalm supports a special format for arrays where the key offsets are known: array shapes, also known as "object-like arrays". + +Given an array + +```php + new stdClass, 28 => false]; +``` + +Psalm will type it internally as: + +``` +array{0: string, 1: string, foo: stdClass, 28: false} +``` + +You can specify types in that format yourself, e.g. + +```php +/** @return array{foo: string, bar: int} */ +``` + +Optional keys can be denoted by a trailing `?`, e.g.: + +```php +/** @return array{optional?: string, bar: int} */ +``` + +Tip: if you find yourself copying the same complex array shape over and over again to avoid `InvalidArgument` issues, try using [type aliases](utility_types.md#type-aliases), instead. + +### Validating array shapes + +Use [Valinor](https://github.com/CuyZ/Valinor) in strict mode to easily assert array shapes at runtime using Psalm array shape syntax (instead of manually asserting keys with isset): + +```php +try { + $array = (new \CuyZ\Valinor\MapperBuilder()) + ->mapper() + ->map( + 'array{a: string, b: int}', + json_decode(file_get_contents('https://.../'), true) + ); + + /** @psalm-trace $array */; // array{a: string, b: int} + + echo $array['a']; + echo $array['b']; +} catch (\CuyZ\Valinor\Mapper\MappingError $error) { + // Do something… +} +``` + +Valinor provides both runtime and static Psalm assertions with full Psalm syntax support and many other features, check out the [Valinor documentation](https://valinor.cuyz.io/latest/) for more info! + +## List shapes + +Starting in Psalm 5, Psalm also supports a special format for list arrays where the key offsets are known. + +Given a list array + +```php +`. diff --git a/vendor/vimeo/psalm/docs/annotating_code/type_syntax/atomic_types.md b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/atomic_types.md new file mode 100644 index 00000000..7e3f0ea9 --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/atomic_types.md @@ -0,0 +1,60 @@ +# Atomic types + +Atomic types are the basic building block of all type information used in Psalm. Multiple atomic types can be combined, either with [union types](union_types.md) or [intersection types](intersection_types.md). Psalm allows many different sorts of atomic types to be expressed in docblock syntax: + +**Note**: you can view detailed documentation and usage examples for all atomic types by clicking on each type in the following list. + +* [Scalar types](scalar_types.md) + * [bool](scalar_types.md#scalar) + * [int](scalar_types.md#scalar) + * [float](scalar_types.md#scalar) + * [string](scalar_types.md#scalar) + * [`int-range`](scalar_types.md#int-range) + * [`int-mask<1, 2, 4>`](scalar_types.md#int-mask1-2-4) + * [`int-mask-of`](scalar_types.md#int-mask-ofmyclassclass_constant_) + * [class-string and class-string<Foo>](scalar_types.md#class-string-interface-string) + * [trait-string](scalar_types.md#trait-string) + * [enum-string](scalar_types.md#enum-string) + * [callable-string](scalar_types.md#callable-string) + * [numeric-string](scalar_types.md#numeric-string) + * [literal-string](scalar_types.md#literal-string) + * [literal-int](scalar_types.md#literal-int) + * [array-key](scalar_types.md#array-key) + * [numeric](scalar_types.md#numeric) + * [scalar](scalar_types.md#scalar) +* [Object types](object_types.md) + * [object](object_types.md#unnamed-objects) + * [object{foo: string}](object_types.md#object-properties) + * [Exception, Foo\MyClass and `Foo\MyClass`](object_types.md#named-objectsmd) + * [Generator](object_types.md#generators) +* [Array types](array_types.md) + * [array<int, string>](array_types.md#generic-arrays) + * [non-empty-array](array_types.md#non-empty-array) + * [string\[\]](array_types.md#phpdoc-syntax) + * [list & non-empty-list](array_types.md#lists) + * [list<string>](array_types.md#lists) + * [array{foo: int, bar: string} and list{int, string}](array_types.md#object-like-arrays) + * [callable-array](array_types.md#callable-arrays) +* [Callable types](callable_types.md) +* [Value types](value_types.md) + * [null](value_types.md#null) + * [true, false](value_types.md#true-false) + * [6, 7.0, "forty-two" and 'forty two'](value_types.md#some_string-4-314) + * [Foo\Bar::MY_SCALAR_CONST](value_types.md#regular-class-constants) +* [Utility types](utility_types.md) + * [(T is true ? string : bool)](conditional_types.md) + * [`key-of`](utility_types.md#key-oft) + * [`value-of`](utility_types.md#value-oft) + * [`properties-of`](utility_types.md#properties-oft) + * [`class-string-map`](utility_types.md#class-string-mapt-as-foo-t) + * [`T[K]`](utility_types.md#tk) + * [Type aliases](utility_types.md#type-aliases) + * [Variable templates](utility_types.md#variable-templates) +* [Other types](other_types.md) + * [`iterable`](other_types.md) + * [void](other_types.md) + * [resource](other_types.md) + * [closed-resource](other_types.md) +* [Top and bottom types](top_bottom_types.md) + * [mixed](top_bottom_types.md#mixed) + * [never](top_bottom_types.md#never) diff --git a/vendor/vimeo/psalm/docs/annotating_code/type_syntax/callable_types.md b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/callable_types.md new file mode 100644 index 00000000..9d5bce88 --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/callable_types.md @@ -0,0 +1,58 @@ +# Callable types + +Psalm supports a special format for `callable`s of the form. It can also be used for annotating `Closure`. + +``` +callable(Type1, OptionalType2=, SpreadType3...):ReturnType +``` + +Adding `=` after the type implies it is optional, and suffixing with `...` implies the use of the spread operator. + +Using this annotation you can specify that a given function return a `Closure` e.g. + +```php + $items */ + public function __construct(private array $items) {} + + /** + * @param pure-callable(int, int): int $callback + * @psalm-mutation-free + */ + public function walk(callable $callback): int { + return array_reduce($this->items, $callback, 0); + } +} + +$list = new intList([1,2,3]); + +// This is ok, as the callable is pure +echo $list->walk(fn (int $c, int $v): int => $c + $v); + +// This will cause an InvalidArgument error, as the closure calls an impure function +echo $list->walk(fn (int $c, int $v): int => $c + random_int(1, $v)); +``` diff --git a/vendor/vimeo/psalm/docs/annotating_code/type_syntax/conditional_types.md b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/conditional_types.md new file mode 100644 index 00000000..73591be1 --- /dev/null +++ b/vendor/vimeo/psalm/docs/annotating_code/type_syntax/conditional_types.md @@ -0,0 +1,82 @@ +# Conditional types + +Psalm supports the equivalent of TypeScript’s [conditional types](https://www.typescriptlang.org/docs/handbook/advanced-types.html#conditional-types). + +Conditional types have the form: + +`(