diff --git a/composer.json b/composer.json index 2b77a6a..e916c8c 100644 --- a/composer.json +++ b/composer.json @@ -15,8 +15,8 @@ }, "require-dev": { "ext-json": "*", - "phpunit/phpunit": "^8", - "spatie/phpunit-snapshot-assertions": "^2.2.0" + "phpunit/phpunit": "^9.5.0", + "spatie/phpunit-snapshot-assertions": "^4.2.0" }, "scripts": { "coverage": "phpdbg -qrr -- vendor/bin/phpunit -c phpunit.xml tests", diff --git a/composer.lock b/composer.lock index 1e23b8b..11c87f8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,41 +4,36 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "6fa43d16a15a27c27d5070fe477fd13f", + "content-hash": "20280850e96684b35a00fc765891ec65", "packages": [], "packages-dev": [ { "name": "doctrine/instantiator", - "version": "1.3.0", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1" + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/ae466f726242e637cebdd526a7d991b9433bacf1", - "reference": "ae466f726242e637cebdd526a7d991b9433bacf1", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/d56bf6102915de5702778fe20f2de3b2fe570b5b", + "reference": "d56bf6102915de5702778fe20f2de3b2fe570b5b", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0", + "doctrine/coding-standard": "^8.0", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.13", - "phpstan/phpstan-phpunit": "^0.11", - "phpstan/phpstan-shim": "^0.11", - "phpunit/phpunit": "^7.0" + "phpbench/phpbench": "^0.13 || 1.0.0-alpha2", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2.x-dev" - } - }, "autoload": { "psr-4": { "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" @@ -52,7 +47,7 @@ { "name": "Marco Pivetta", "email": "ocramius@gmail.com", - "homepage": "http://ocramius.github.com/" + "homepage": "https://ocramius.github.io/" } ], "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", @@ -61,24 +56,38 @@ "constructor", "instantiate" ], - "time": "2019-10-21T16:45:58+00:00" + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2020-11-10T18:47:58+00:00" }, { "name": "myclabs/deep-copy", - "version": "1.9.5", + "version": "1.10.2", "source": { "type": "git", "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef" + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/b2c28789e80a97badd14145fda39b545d83ca3ef", - "reference": "b2c28789e80a97badd14145fda39b545d83ca3ef", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/776f831124e9c62e1a2c601ecc52e776d8bb7220", + "reference": "776f831124e9c62e1a2c601ecc52e776d8bb7220", "shasum": "" }, "require": { - "php": "^7.1" + "php": "^7.1 || ^8.0" }, "replace": { "myclabs/deep-copy": "self.version" @@ -109,32 +118,91 @@ "object", "object graph" ], - "time": "2020-01-17T21:11:47+00:00" + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2020-11-13T09:40:50+00:00" }, { - "name": "phar-io/manifest", - "version": "1.0.3", + "name": "nikic/php-parser", + "version": "v4.10.3", "source": { "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "dbe56d23de8fcb157bbc0cfb3ad7c7de0cfb0984" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", - "reference": "7761fcacf03b4d4f16e7ccb606d4879ca431fcf4", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dbe56d23de8fcb157bbc0cfb3ad7c7de0cfb0984", + "reference": "dbe56d23de8fcb157bbc0cfb3ad7c7de0cfb0984", + "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" + ], + "time": "2020-12-03T17:45:45+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", + "reference": "85265efd3af7ba3ca4b2a2c34dbfc5788dd29133", "shasum": "" }, "require": { "ext-dom": "*", "ext-phar": "*", - "phar-io/version": "^2.0", - "php": "^5.6 || ^7.0" + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { @@ -164,24 +232,24 @@ } ], "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "time": "2018-07-08T19:23:20+00:00" + "time": "2020-06-27T14:33:11+00:00" }, { "name": "phar-io/version", - "version": "2.0.1", + "version": "3.0.3", "source": { "type": "git", "url": "https://github.com/phar-io/version.git", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6" + "reference": "726c026815142e4f8677b7cb7f2249c9ffb7ecae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/45a2ec53a73c70ce41d55cedef9063630abaf1b6", - "reference": "45a2ec53a73c70ce41d55cedef9063630abaf1b6", + "url": "https://api.github.com/repos/phar-io/version/zipball/726c026815142e4f8677b7cb7f2249c9ffb7ecae", + "reference": "726c026815142e4f8677b7cb7f2249c9ffb7ecae", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -211,32 +279,29 @@ } ], "description": "Library for handling version information and constraints", - "time": "2018-07-08T19:19:57+00:00" + "time": "2020-11-30T09:21:21+00:00" }, { "name": "phpdocumentor/reflection-common", - "version": "2.0.0", + "version": "2.2.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a" + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/63a995caa1ca9e5590304cd845c15ad6d482a62a", - "reference": "63a995caa1ca9e5590304cd845c15ad6d482a62a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~6" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.x-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { @@ -263,45 +328,41 @@ "reflection", "static analysis" ], - "time": "2018-08-07T13:53:10+00:00" + "time": "2020-06-27T09:03:43+00:00" }, { "name": "phpdocumentor/reflection-docblock", - "version": "4.3.4", + "version": "5.2.2", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c" + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/da3fd972d6bafd628114f7e7e036f45944b62e9c", - "reference": "da3fd972d6bafd628114f7e7e036f45944b62e9c", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", + "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", "shasum": "" }, "require": { - "php": "^7.0", - "phpdocumentor/reflection-common": "^1.0.0 || ^2.0.0", - "phpdocumentor/type-resolver": "~0.4 || ^1.0.0", - "webmozart/assert": "^1.0" + "ext-filter": "*", + "php": "^7.2 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.3", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "doctrine/instantiator": "^1.0.5", - "mockery/mockery": "^1.0", - "phpdocumentor/type-resolver": "0.4.*", - "phpunit/phpunit": "^6.4" + "mockery/mockery": "~1.3.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev" + "dev-master": "5.x-dev" } }, "autoload": { "psr-4": { - "phpDocumentor\\Reflection\\": [ - "src/" - ] + "phpDocumentor\\Reflection\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -312,38 +373,40 @@ { "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": "2019-12-28T18:55:12+00:00" + "time": "2020-09-03T19:13:55+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.0.1", + "version": "1.4.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9" + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", - "reference": "2e32a6d48972b2c1976ed5d8967145b6cec4a4a9", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", + "reference": "6a467b8989322d92aa1c8bf2bebcc6e5c2ba55c0", "shasum": "" }, "require": { - "php": "^7.1", + "php": "^7.2 || ^8.0", "phpdocumentor/reflection-common": "^2.0" }, "require-dev": { - "ext-tokenizer": "^7.1", - "mockery/mockery": "~1", - "phpunit/phpunit": "^7.0" + "ext-tokenizer": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.x-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { @@ -362,37 +425,37 @@ } ], "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "time": "2019-08-22T18:11:29+00:00" + "time": "2020-09-17T18:55:26+00:00" }, { "name": "phpspec/prophecy", - "version": "v1.10.2", + "version": "1.12.1", "source": { "type": "git", "url": "https://github.com/phpspec/prophecy.git", - "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9" + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/b4400efc9d206e83138e2bb97ed7f5b14b831cd9", - "reference": "b4400efc9d206e83138e2bb97ed7f5b14b831cd9", + "url": "https://api.github.com/repos/phpspec/prophecy/zipball/8ce87516be71aae9b956f81906aaf0338e0d8a2d", + "reference": "8ce87516be71aae9b956f81906aaf0338e0d8a2d", "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" + "doctrine/instantiator": "^1.2", + "php": "^7.2 || ~8.0, <8.1", + "phpdocumentor/reflection-docblock": "^5.2", + "sebastian/comparator": "^3.0 || ^4.0", + "sebastian/recursion-context": "^3.0 || ^4.0" }, "require-dev": { - "phpspec/phpspec": "^2.5 || ^3.2", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.5 || ^7.1" + "phpspec/phpspec": "^6.0", + "phpunit/phpunit": "^8.0 || ^9.0 <9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.10.x-dev" + "dev-master": "1.11.x-dev" } }, "autoload": { @@ -425,44 +488,48 @@ "spy", "stub" ], - "time": "2020-01-20T15:57:02+00:00" + "time": "2020-09-29T09:10:42+00:00" }, { "name": "phpunit/php-code-coverage", - "version": "7.0.10", + "version": "9.2.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf" + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f1884187926fbb755a9aaf0b3836ad3165b478bf", - "reference": "f1884187926fbb755a9aaf0b3836ad3165b478bf", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/f3e026641cc91909d421802dd3ac7827ebfd97e1", + "reference": "f3e026641cc91909d421802dd3ac7827ebfd97e1", "shasum": "" }, "require": { "ext-dom": "*", + "ext-libxml": "*", "ext-xmlwriter": "*", - "php": "^7.2", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-token-stream": "^3.1.1", - "sebastian/code-unit-reverse-lookup": "^1.0.1", - "sebastian/environment": "^4.2.2", - "sebastian/version": "^2.0.1", - "theseer/tokenizer": "^1.1.3" + "nikic/php-parser": "^4.10.2", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^8.2.2" + "phpunit/phpunit": "^9.3" }, "suggest": { - "ext-xdebug": "^2.7.2" + "ext-pcov": "*", + "ext-xdebug": "*" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "7.0-dev" + "dev-master": "9.2-dev" } }, "autoload": { @@ -488,32 +555,38 @@ "testing", "xunit" ], - "time": "2019-11-20T13:55:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:44:49+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "2.0.2", + "version": "3.0.5", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "050bedf145a257b1ff02746c31894800e5122946" + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/050bedf145a257b1ff02746c31894800e5122946", - "reference": "050bedf145a257b1ff02746c31894800e5122946", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/aa4be8575f26070b100fccb67faabb28f21f66f8", + "reference": "aa4be8575f26070b100fccb67faabb28f21f66f8", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -538,26 +611,99 @@ "filesystem", "iterator" ], - "time": "2018-09-13T20:33:42+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:57:25+00:00" }, { - "name": "phpunit/php-text-template", - "version": "1.2.1", + "name": "phpunit/php-invoker", + "version": "3.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686" + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/31f8b717e51d9a2afca6c9f046f5d69fc27c8686", - "reference": "31f8b717e51d9a2afca6c9f046f5d69fc27c8686", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" }, "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", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, "autoload": { "classmap": [ "src/" @@ -579,32 +725,38 @@ "keywords": [ "template" ], - "time": "2015-06-21T13:50:34+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" }, { "name": "phpunit/php-timer", - "version": "2.1.2", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e" + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/1038454804406b0b5f5f520358e78c1c2f71501e", - "reference": "1038454804406b0b5f5f520358e78c1c2f71501e", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.1-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -628,105 +780,65 @@ "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": [ + "funding": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "url": "https://github.com/sebastianbergmann", + "type": "github" } ], - "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" + "time": "2020-10-26T13:16:10+00:00" }, { "name": "phpunit/phpunit", - "version": "8.5.2", + "version": "9.5.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0" + "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/018b6ac3c8ab20916db85fa91bf6465acb64d1e0", - "reference": "018b6ac3c8ab20916db85fa91bf6465acb64d1e0", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", + "reference": "8e16c225d57c3d6808014df6b1dd7598d0a5bbbe", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.2.0", + "doctrine/instantiator": "^1.3.1", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", "ext-mbstring": "*", "ext-xml": "*", "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.9.1", - "phar-io/manifest": "^1.0.3", - "phar-io/version": "^2.0.1", - "php": "^7.2", - "phpspec/prophecy": "^1.8.1", - "phpunit/php-code-coverage": "^7.0.7", - "phpunit/php-file-iterator": "^2.0.2", - "phpunit/php-text-template": "^1.2.1", - "phpunit/php-timer": "^2.1.2", - "sebastian/comparator": "^3.0.2", - "sebastian/diff": "^3.0.2", - "sebastian/environment": "^4.2.2", - "sebastian/exporter": "^3.1.1", - "sebastian/global-state": "^3.0.0", - "sebastian/object-enumerator": "^3.0.3", - "sebastian/resource-operations": "^2.0.1", - "sebastian/type": "^1.1.3", - "sebastian/version": "^2.0.1" + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.1", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpspec/prophecy": "^1.12.1", + "phpunit/php-code-coverage": "^9.2.3", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.5", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.3", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^2.3", + "sebastian/version": "^3.0.2" }, "require-dev": { - "ext-pdo": "*" + "ext-pdo": "*", + "phpspec/prophecy-phpunit": "^2.0.1" }, "suggest": { "ext-soap": "*", - "ext-xdebug": "*", - "phpunit/php-invoker": "^2.0.0" + "ext-xdebug": "*" }, "bin": [ "phpunit" @@ -734,12 +846,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "8.5-dev" + "dev-master": "9.5-dev" } }, "autoload": { "classmap": [ "src/" + ], + "files": [ + "src/Framework/Assert/Functions.php" ] }, "notification-url": "https://packagist.org/downloads/", @@ -760,32 +875,146 @@ "testing", "xunit" ], - "time": "2020-01-08T08:49:49+00:00" + "funding": [ + { + "url": "https://phpunit.de/donate.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-12-04T05:05:53+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", + "name": "sebastian/cli-parser", "version": "1.0.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18" + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", - "reference": "4419fcdb5eabb9caa61a27c7a1db532a6b55dd18", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", "shasum": "" }, "require": { - "php": "^5.6 || ^7.0" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.0-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 for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-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": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" } }, "autoload": { @@ -805,34 +1034,40 @@ ], "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" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" }, { "name": "sebastian/comparator", - "version": "3.0.2", + "version": "4.0.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da" + "reference": "55f4261989e546dc112258c7a75935a81a7ce382" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/5de4fc177adf9bce8df98d8d141a7559d7ccf6da", - "reference": "5de4fc177adf9bce8df98d8d141a7559d7ccf6da", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55f4261989e546dc112258c7a75935a81a7ce382", + "reference": "55f4261989e546dc112258c7a75935a81a7ce382", "shasum": "" }, "require": { - "php": "^7.1", - "sebastian/diff": "^3.0", - "sebastian/exporter": "^3.1" + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" }, "require-dev": { - "phpunit/phpunit": "^7.1" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -845,6 +1080,10 @@ "BSD-3-Clause" ], "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, { "name": "Jeff Welch", "email": "whatthejeff@gmail.com" @@ -856,10 +1095,6 @@ { "name": "Bernhard Schussek", "email": "bschussek@2bepublished.at" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" } ], "description": "Provides the functionality to compare PHP values for equality", @@ -869,33 +1104,39 @@ "compare", "equality" ], - "time": "2018-07-12T15:12:46+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:49:45+00:00" }, { - "name": "sebastian/diff", - "version": "3.0.2", + "name": "sebastian/complexity", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29" + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/720fcc7e9b5cf384ea68d9d930d480907a0c1a29", - "reference": "720fcc7e9b5cf384ea68d9d930d480907a0c1a29", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", "shasum": "" }, "require": { - "php": "^7.1" + "nikic/php-parser": "^4.7", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^2 || ^3.3 || ^4" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "2.0-dev" } }, "autoload": { @@ -909,12 +1150,65 @@ ], "authors": [ { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - }, + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "reference": "3461e3fccc7cfdfc2720be910d3bd73c69be590d", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.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", @@ -925,27 +1219,33 @@ "unidiff", "unified diff" ], - "time": "2019-02-04T06:01:07+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:10:38+00:00" }, { "name": "sebastian/environment", - "version": "4.2.3", + "version": "5.1.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368" + "reference": "388b6ced16caa751030f6a69e588299fa09200ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/464c90d7bdf5ad4e8a6aea15c091fec0603d4368", - "reference": "464c90d7bdf5ad4e8a6aea15c091fec0603d4368", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/388b6ced16caa751030f6a69e588299fa09200ac", + "reference": "388b6ced16caa751030f6a69e588299fa09200ac", "shasum": "" }, "require": { - "php": "^7.1" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^7.5" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-posix": "*" @@ -953,7 +1253,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.2-dev" + "dev-master": "5.1-dev" } }, "autoload": { @@ -978,34 +1278,40 @@ "environment", "hhvm" ], - "time": "2019-11-20T08:46:58+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:52:38+00:00" }, { "name": "sebastian/exporter", - "version": "3.1.2", + "version": "4.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e" + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/68609e1261d215ea5b21b7987539cbfbe156ec3e", - "reference": "68609e1261d215ea5b21b7987539cbfbe156ec3e", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/d89cc98761b8cb5a1a235a6b703ae50d34080e65", + "reference": "d89cc98761b8cb5a1a235a6b703ae50d34080e65", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-mbstring": "*", - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1.x-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -1045,30 +1351,36 @@ "export", "exporter" ], - "time": "2019-09-14T09:02:43+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:24:23+00:00" }, { "name": "sebastian/global-state", - "version": "3.0.0", + "version": "5.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4" + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", - "reference": "edf8a461cf1d4005f19fb0b6b8b95a9f7fa0adc4", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/a90ccbddffa067b51f574dea6eb25d5680839455", + "reference": "a90ccbddffa067b51f574dea6eb25d5680839455", "shasum": "" }, "require": { - "php": "^7.2", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^8.0" + "phpunit/phpunit": "^9.3" }, "suggest": { "ext-uopz": "*" @@ -1076,7 +1388,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { @@ -1099,34 +1411,93 @@ "keywords": [ "global state" ], - "time": "2019-02-01T05:30:01+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:55:19+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "3.0.3", + "name": "sebastian/lines-of-code", + "version": "1.0.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5" + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/7cfd9e65d11ffb5af41198476395774d4c8a84c5", - "reference": "7cfd9e65d11ffb5af41198476395774d4c8a84c5", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", "shasum": "" }, "require": { - "php": "^7.0", - "sebastian/object-reflector": "^1.1.1", - "sebastian/recursion-context": "^3.0" + "nikic/php-parser": "^4.6", + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^6.0" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0.x-dev" + "dev-master": "1.0-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 for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" } }, "autoload": { @@ -1146,122 +1517,33 @@ ], "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" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" }, { "name": "sebastian/object-reflector", - "version": "1.1.1", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "773f97c67f28de00d397be301821b06708fca0be" + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/773f97c67f28de00d397be301821b06708fca0be", - "reference": "773f97c67f28de00d397be301821b06708fca0be", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", "shasum": "" }, "require": { - "php": "^7.0" + "php": ">=7.3" }, "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" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { @@ -1284,34 +1566,150 @@ "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" + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" }, { - "name": "sebastian/type", - "version": "1.1.3", + "name": "sebastian/recursion-context", + "version": "4.0.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3" + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/3aaaa15fa71d27650d62a948be022fe3b48541a3", - "reference": "3aaaa15fa71d27650d62a948be022fe3b48541a3", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/cd9d8cf3c5804de4341c283ed787f099f5506172", + "reference": "cd9d8cf3c5804de4341c283ed787f099f5506172", "shasum": "" }, "require": { - "php": "^7.2" + "php": ">=7.3" }, "require-dev": { - "phpunit/phpunit": "^8.2" + "phpunit/phpunit": "^9.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.1-dev" + "dev-master": "4.0-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": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "http://www.github.com/sebastianbergmann/recursion-context", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:17:30+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "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": "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", + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "2.3.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "reference": "81cd61ab7bbf2de744aba0ea61fae32f721df3d2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.3-dev" } }, "autoload": { @@ -1332,29 +1730,35 @@ ], "description": "Collection of value objects that represent the types of the PHP type system", "homepage": "https://github.com/sebastianbergmann/type", - "time": "2019-07-02T08:10:15+00:00" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:18:59+00:00" }, { "name": "sebastian/version", - "version": "2.0.1", + "version": "3.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019" + "reference": "c6c1022351a901512170118436c764e473f6de8c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/99732be0ddb3361e16ad77b68ba41efc8e979019", - "reference": "99732be0ddb3361e16ad77b68ba41efc8e979019", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", "shasum": "" }, "require": { - "php": ">=5.6" + "php": ">=7.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "3.0-dev" } }, "autoload": { @@ -1375,28 +1779,40 @@ ], "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" + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" }, { "name": "spatie/phpunit-snapshot-assertions", - "version": "2.2.1", + "version": "4.2.4", "source": { "type": "git", "url": "https://github.com/spatie/phpunit-snapshot-assertions.git", - "reference": "cc6769ab92a41d1d58d72f228e15d82d180f0b44" + "reference": "a6ba40b71b15b481a9e9447f5d8239b820bcb842" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/spatie/phpunit-snapshot-assertions/zipball/cc6769ab92a41d1d58d72f228e15d82d180f0b44", - "reference": "cc6769ab92a41d1d58d72f228e15d82d180f0b44", + "url": "https://api.github.com/repos/spatie/phpunit-snapshot-assertions/zipball/a6ba40b71b15b481a9e9447f5d8239b820bcb842", + "reference": "a6ba40b71b15b481a9e9447f5d8239b820bcb842", "shasum": "" }, "require": { "ext-dom": "*", - "php": "^7.2", - "phpunit/phpunit": "^8.0", + "ext-json": "*", + "php": "^7.4|^8.0", + "phpunit/phpunit": "^8.3|^9.0", + "symfony/property-access": "^4.0|^5.0", + "symfony/serializer": "^4.0|^5.0", "symfony/yaml": "^4.0|^5.0" }, + "require-dev": { + "phpunit/phpunit": "^9.1.0" + }, "type": "library", "autoload": { "psr-4": { @@ -1425,24 +1841,94 @@ "spatie", "testing" ], - "time": "2019-11-21T23:15:29+00:00" + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + } + ], + "time": "2020-11-26T13:05:32+00:00" }, { - "name": "symfony/polyfill-ctype", - "version": "v1.13.1", + "name": "symfony/deprecation-contracts", + "version": "v2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3" + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", - "reference": "f8f0b461be3385e56d6de3dbb5a0df24c0c275e3", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/5fa56b4074d1ae755beb55617ddafe6f5d78f665", + "reference": "5fa56b4074d1ae755beb55617ddafe6f5d78f665", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.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": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "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-09-07T11:33:47+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "reference": "f4ba089a5b6366e453971d3aad5fe8e897b37f41", + "shasum": "" + }, + "require": { + "php": ">=7.1" }, "suggest": { "ext-ctype": "For best performance" @@ -1450,7 +1936,11 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.13-dev" + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" } }, "autoload": { @@ -1483,24 +1973,698 @@ "polyfill", "portable" ], - "time": "2019-11-27T13:56:44+00:00" + "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-10-23T14:02:19+00:00" }, { - "name": "symfony/yaml", - "version": "v5.0.4", + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.20.0", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "69b44e3b8f90949aee2eb3aa9b86ceeb01cbf62a" + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/69b44e3b8f90949aee2eb3aa9b86ceeb01cbf62a", - "reference": "69b44e3b8f90949aee2eb3aa9b86ceeb01cbf62a", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", + "reference": "c7cf3f858ec7d70b89559d6e6eb1f7c2517d479c", "shasum": "" }, "require": { - "php": "^7.2.5", + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + }, + "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 intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "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-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "727d1096295d807c309fb01a851577302394c897" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/727d1096295d807c309fb01a851577302394c897", + "reference": "727d1096295d807c309fb01a851577302394c897", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "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 for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "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-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "39d483bdf39be819deabf04ec872eb0b2410b531" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/39d483bdf39be819deabf04ec872eb0b2410b531", + "reference": "39d483bdf39be819deabf04ec872eb0b2410b531", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "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" + ], + "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-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "reference": "e70aa8b064c5b72d3df2abd5ab1e90464ad009de", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "files": [ + "bootstrap.php" + ], + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "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-10-23T14:02:19+00:00" + }, + { + "name": "symfony/property-access", + "version": "v5.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "5cf86761edaf58376845a96ea6c0d28d475d5ad3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/5cf86761edaf58376845a96ea6c0d28d475d5ad3", + "reference": "5cf86761edaf58376845a96ea6c0d28d475d5ad3", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/property-info": "^5.2" + }, + "require-dev": { + "symfony/cache": "^4.4|^5.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "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 PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "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-11-01T16:14:45+00:00" + }, + { + "name": "symfony/property-info", + "version": "v5.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "69ca096d096a0a58457818a5a2d1ce51f5f14909" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/69ca096d096a0a58457818a5a2d1ce51f5f14909", + "reference": "69ca096d096a0a58457818a5a2d1ce51f5f14909", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", + "symfony/polyfill-php80": "^1.15", + "symfony/string": "^5.1" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<0.3.0", + "symfony/dependency-injection": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "~1.7", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/cache": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/serializer": "^4.4|^5.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Property Info Component", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "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-10-28T21:46:03+00:00" + }, + { + "name": "symfony/serializer", + "version": "v5.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/serializer.git", + "reference": "bfb225b1bf797f9d6a3b6a8501927cc72e92b549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/serializer/zipball/bfb225b1bf797f9d6a3b6a8501927cc72e92b549", + "reference": "bfb225b1bf797f9d6a3b6a8501927cc72e92b549", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "phpdocumentor/type-resolver": "<0.2.1", + "symfony/dependency-injection": "<4.4", + "symfony/property-access": "<4.4", + "symfony/property-info": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "~1.0", + "doctrine/cache": "~1.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/cache": "^4.4|^5.0", + "symfony/config": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/error-handler": "^4.4|^5.0", + "symfony/filesystem": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/mime": "^4.4|^5.0", + "symfony/property-access": "^4.4|^5.0", + "symfony/property-info": "^4.4|^5.0", + "symfony/uid": "^5.1", + "symfony/validator": "^4.4|^5.0", + "symfony/var-exporter": "^4.4|^5.0", + "symfony/yaml": "^4.4|^5.0" + }, + "suggest": { + "doctrine/annotations": "For using the annotation mapping. You will also need doctrine/cache.", + "doctrine/cache": "For using the default cached annotation reader and metadata cache.", + "psr/cache-implementation": "For using the metadata cache.", + "symfony/config": "For using the XML mapping loader.", + "symfony/mime": "For using a MIME type guesser within the DataUriNormalizer.", + "symfony/property-access": "For using the ObjectNormalizer.", + "symfony/property-info": "To deserialize relations.", + "symfony/var-exporter": "For using the metadata compiler.", + "symfony/yaml": "For using the default YAML mapping loader." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Serializer\\": "" + }, + "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 Serializer Component", + "homepage": "https://symfony.com", + "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-11-27T10:27:27+00:00" + }, + { + "name": "symfony/string", + "version": "v5.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "40e975edadd4e32cd16f3753b3bad65d9ac48242" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/40e975edadd4e32cd16f3753b3bad65d9ac48242", + "reference": "40e975edadd4e32cd16f3753b3bad65d9ac48242", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0", + "symfony/http-client": "^4.4|^5.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "files": [ + "Resources/functions.php" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "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 String component", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "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-10-24T12:08:07+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.2.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "bb73619b2ae5121bbbcd9f191dfd53ded17ae598" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/bb73619b2ae5121bbbcd9f191dfd53ded17ae598", + "reference": "bb73619b2ae5121bbbcd9f191dfd53ded17ae598", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1", "symfony/polyfill-ctype": "~1.8" }, "conflict": { @@ -1512,12 +2676,10 @@ "suggest": { "symfony/console": "For validating YAML files using the lint command" }, + "bin": [ + "Resources/bin/yaml-lint" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, "autoload": { "psr-4": { "Symfony\\Component\\Yaml\\": "" @@ -1542,27 +2704,41 @@ ], "description": "Symfony Yaml Component", "homepage": "https://symfony.com", - "time": "2020-01-21T11:12:28+00:00" + "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-11-28T10:57:20+00:00" }, { "name": "theseer/tokenizer", - "version": "1.1.3", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/theseer/tokenizer.git", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9" + "reference": "75a63c33a8577608444246075ea0af0d052e452a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/11336f6f84e16a720dae9d8e6ed5019efa85a0f9", - "reference": "11336f6f84e16a720dae9d8e6ed5019efa85a0f9", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/75a63c33a8577608444246075ea0af0d052e452a", + "reference": "75a63c33a8577608444246075ea0af0d052e452a", "shasum": "" }, "require": { "ext-dom": "*", "ext-tokenizer": "*", "ext-xmlwriter": "*", - "php": "^7.0" + "php": "^7.2 || ^8.0" }, "type": "library", "autoload": { @@ -1582,28 +2758,35 @@ } ], "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "time": "2019-06-13T22:48:21+00:00" + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2020-07-12T23:59:07+00:00" }, { "name": "webmozart/assert", - "version": "1.6.0", + "version": "1.9.1", "source": { "type": "git", "url": "https://github.com/webmozart/assert.git", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925" + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/webmozart/assert/zipball/573381c0a64f155a0d9a23f4b0c797194805b925", - "reference": "573381c0a64f155a0d9a23f4b0c797194805b925", + "url": "https://api.github.com/repos/webmozart/assert/zipball/bafc69caeb4d49c39fd0779086c03a3738cbb389", + "reference": "bafc69caeb4d49c39fd0779086c03a3738cbb389", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0", + "php": "^5.3.3 || ^7.0 || ^8.0", "symfony/polyfill-ctype": "^1.8" }, "conflict": { - "vimeo/psalm": "<3.6.0" + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<3.9.1" }, "require-dev": { "phpunit/phpunit": "^4.8.36 || ^7.5.13" @@ -1630,7 +2813,7 @@ "check", "validate" ], - "time": "2019-11-24T13:36:37+00:00" + "time": "2020-07-08T17:02:28+00:00" } ], "aliases": [], @@ -1643,5 +2826,6 @@ }, "platform-dev": { "ext-json": "*" - } + }, + "plugin-api-version": "1.1.0" } diff --git a/kilo b/kilo index daa5c7d..468a7dd 100755 --- a/kilo +++ b/kilo @@ -6,16 +6,16 @@ namespace Aviat\Kilo; require_once __DIR__ . '/vendor/autoload.php'; // Log notices/errors/warnings to file -set_error_handler(static function (int $no, $str, $file, $line) { +set_exception_handler(static function (\Throwable $e) { $msg = print_r([ - 'errno' => $no, - 'message' => $str, - 'file' => $file, - 'line' => $line, + 'code' => $e->getCode(), + 'message' => $e->getMessage(), + 'file' => $e->getFile(), + 'line' => $e->getLine(), + 'trace' => $e->getTraceAsString(), ], TRUE); file_put_contents('kilo.log', $msg, FILE_APPEND); - -}, -1); +}); // ! Init with an IIFE return (static function (int $argc, array $argv): int { @@ -23,38 +23,15 @@ return (static function (int $argc, array $argv): int { register_shutdown_function([Termios::class, 'disableRawMode']); $editor = Editor::new(); + $editor->setStatusMessage('HELP: Ctrl-S = save | Ctrl-Q = quit | Ctrl-F = find'); if ($argc >= 2) { $editor->open($argv[1]); } - $editor->setStatusMessage('HELP: Ctrl-S = save | Ctrl-Q = quit | Ctrl-F = find'); - - try - { - // Input Loop - while (true) - { - $editor->refreshScreen(); - $char = $editor->processKeypress(); - if ($char === NULL) - { - break; - } - } - } - catch (\Throwable $e) - { - $msg = print_r([ - 'code' => $e->getCode(), - 'message' => $e->getMessage(), - 'file' => $e->getFile(), - 'line' => $e->getLine(), - 'trace' => $e->getTraceAsString(), - ], TRUE); - file_put_contents('kilo.exception.log', $msg, FILE_APPEND); - } + // Input Loop + do { $editor->refreshScreen();} while ($editor->processKeypress() !== NULL); return 0; })($argc, $argv); diff --git a/phpunit.xml b/phpunit.xml index d7cf015..29337b8 100644 --- a/phpunit.xml +++ b/phpunit.xml @@ -1,24 +1,21 @@ - - - - src - - src/constants.php - - - - - - tests - - - - - - - \ No newline at end of file + + + + src + + + src/constants.php + + + + + + + + + tests + + + + diff --git a/src/Editor.php b/src/Editor.php index 88dfc5a..7d6f671 100644 --- a/src/Editor.php +++ b/src/Editor.php @@ -52,7 +52,7 @@ class Editor { $this->screenRows -= 2; } - public function __get(string $name) + public function __get(string $name): ?int { if ($name === 'numRows') { @@ -96,7 +96,6 @@ class Editor { KeyCode::ARROW_UP => KeyType::ARROW_UP, KeyCode::DEL_KEY => KeyType::DEL_KEY, KeyCode::ENTER => KeyType::ENTER, - KeyCode::ESCAPE => KeyType::ESCAPE, KeyCode::PAGE_DOWN => KeyType::PAGE_DOWN, KeyCode::PAGE_UP => KeyType::PAGE_UP, @@ -104,6 +103,10 @@ class Editor { KeyCode::CTRL('h') => KeyType::BACKSPACE, KeyCode::BACKSPACE => KeyType::BACKSPACE, + // Escape + KeyCode::CTRL('l') => KeyType::ESCAPE, + KeyCode::ESCAPE => KeyType::ESCAPE, + // Home Key "\eOH" => KeyType::HOME_KEY, "\e[1~" => KeyType::HOME_KEY, @@ -271,6 +274,8 @@ class Editor { protected function insertNewline(): void { + // @TODO attempt smart indentation on newline? + if ($this->cursorX === 0) { $this->insertRow($this->cursorY, ''); @@ -432,6 +437,11 @@ class Editor { $current = $lastMatch; + if (empty($query)) + { + return; + } + for ($i = 0; $i < $this->numRows; $i++) { $current += $direction; @@ -717,7 +727,7 @@ class Editor { { $callback($buffer, $c); } - return ''; + return ($c === KeyType::ENTER) ? $buffer : ''; } if ($c === KeyType::DEL_KEY || $c === KeyType::BACKSPACE) @@ -786,7 +796,7 @@ class Editor { $row = ($this->cursorY >= $this->numRows) ? NULL : $this->rows[$this->cursorY]; - $rowlen = $row ? $row->size : 0; + $rowlen = $row->size ?? 0; if ($this->cursorX > $rowlen) { $this->cursorX = $rowlen; @@ -903,7 +913,7 @@ class Editor { protected function refreshSyntax(): void { // Update the syntax highlighting for all the rows of the file - array_walk($this->rows, fn (Row $row) => $row->updateSyntax()); + array_walk($this->rows, static fn (Row $row) => $row->updateSyntax()); } private function refreshPHPSyntax(): void diff --git a/src/Row.php b/src/Row.php index 7ecb7a2..f71b72f 100644 --- a/src/Row.php +++ b/src/Row.php @@ -495,7 +495,7 @@ class Row { break; } - $char = $token['char']; + $char = $token['char'] ?? ''; $charLen = strlen($char); if ($charLen === 0 || $offset >= $this->rsize) { diff --git a/src/Tokens/PHP.php b/src/Tokens/PHP.php index c40296f..19df8f1 100644 --- a/src/Tokens/PHP.php +++ b/src/Tokens/PHP.php @@ -7,156 +7,166 @@ use function Aviat\Kilo\tabs_to_spaces; class PHP { - private string $code; + private string $code; - private array $rawLines; + private array $rawLines; - private array $tokens; + private array $tokens; - private int $lineNum = 1; + private int $lineNum = 1; - private function __construct(string $code) - { - $lines = explode("\n", $code); - array_unshift($lines, ''); - unset($lines[0]); - - $this->code = $code; - $this->rawLines = $lines; - $this->tokens = array_fill(1, count($lines), []); - } - - /** - * Use 'token_get_all' to get the tokens for a file, - * organized by row number - * - * @param string $code - * @return array - */ - public static function getTokens(string $code): array - { - return (new self($code))->organizeTokens(); - } - - /** - * Return tokens for the current $filename, organized - * by row number - * - * @param string $filename - * @return array - */ - public static function getFileTokens(string $filename): array - { - $code = @file_get_contents($filename); - - if ($code === FALSE) + private function __construct(string $code) { - return []; + $lines = explode("\n", $code); + array_unshift($lines, ''); + unset($lines[0]); + + $this->code = $code; + $this->rawLines = $lines; + $this->tokens = array_fill(1, count($lines), []); } - return self::getTokens($code); - } - - protected function organizeTokens(): array - { - $rawTokens = token_get_all($this->code); - foreach ($rawTokens as $t) + /** + * Use 'token_get_all' to get the tokens for a file, + * organized by row number + * + * @param string $code + * @return array + */ + public static function getTokens(string $code): array { - if (is_array($t)) + if (class_exists('PhpToken')) { - $this->processArrayToken($t); + return \PhpToken::tokenize($code); } - else if (is_string($t)) + + return (new self($code))->organizeTokens(); + } + + /** + * Return tokens for the current $filename, organized + * by row number + * + * @param string $filename + * @return array + */ + public static function getFileTokens(string $filename): array + { + $code = @file_get_contents($filename); + + if ($code === FALSE) { - $this->processStringToken($t); + return []; } + + return self::getTokens($code); } - ksort($this->tokens); - - return $this->tokens; - } - - protected function processArrayToken(array $token): void - { - [$type, $rawChar, $currentLine] = $token; - $char = tabs_to_spaces($rawChar); - - $this->lineNum = $currentLine; - - $current = [ - 'type' => $type, - 'typeName' => token_name($type), - 'char' => $char, - 'line' => $currentLine, - ]; - - // Single new line, or starts with a new line with other whitespace - if (strpos($char, "\n") === 0 && trim($char) === '') + protected function organizeTokens(): array { - $this->tokens[$this->lineNum][] = $current; - $this->lineNum++; - - return; - } - - // Only return the first line of a multi-line token for this line array - if (str_contains($char, "\n")) - { - $chars = explode("\n", $char); - $current['original'] = [ - 'string' => $char, - 'lines' => $chars, - ]; - $current['char'] = array_shift($chars); - - // Add new lines for additional newline characters - $nextLine = $currentLine; - foreach ($chars as $char) + $rawTokens = token_get_all($this->code); + foreach ($rawTokens as $t) { - $nextLine++; - - if ( ! empty($char)) + if (is_array($t)) { - $this->processStringToken($char, $nextLine); + $this->processArrayToken($t); + } + else if (is_string($t)) + { + $this->processStringToken($t); } } + + ksort($this->tokens); + + return $this->tokens; } - $this->tokens[$this->lineNum][] = $current; - } - - protected function processStringToken(string $token, ?int $startLine = NULL): void - { - $char = tabs_to_spaces($token); - - $startLine = $startLine ?? $this->lineNum; - $lineNumber = $this->findCorrectLine($char, $startLine) ?? $startLine; - - // Simple characters, usually delimiters or single character operators - $this->tokens[$lineNumber][] = [ - 'type' => -1, - 'typeName' => 'RAW', - 'char' => tabs_to_spaces($token), - ]; - } - - private function findCorrectLine(string $search, int $rowOffset, int $searchLength = 5): ?int - { - $end = $rowOffset + $searchLength; - if ($end > count($this->rawLines)) + protected function processObjectToken(\PhpToken $token) { - $end = count($this->rawLines); + } - for ($i = $rowOffset; $i < $end; $i++) + protected function processArrayToken(array $token): void { - if (str_contains($this->rawLines[$i], $search)) + [$type, $rawChar, $currentLine] = $token; + $char = tabs_to_spaces($rawChar); + + $this->lineNum = $currentLine; + + $current = [ + 'type' => $type, + 'typeName' => token_name($type), + 'char' => $char, + 'line' => $currentLine, + ]; + + // Single new line, or starts with a new line with other whitespace + if (strpos($char, "\n") === 0 && trim($char) === '') { - return $i; + $this->tokens[$this->lineNum][] = $current; + $this->lineNum++; + + return; } + + // Only return the first line of a multi-line token for this line array + if (str_contains($char, "\n")) + { + $chars = explode("\n", $char); + $current['original'] = [ + 'string' => $char, + 'lines' => $chars, + ]; + $current['char'] = array_shift($chars); + + // Add new lines for additional newline characters + $nextLine = $currentLine; + foreach ($chars as $char) + { + $nextLine++; + + if ( ! empty($char)) + { + $this->processStringToken($char, $nextLine); + } + } + } + + $this->tokens[$this->lineNum][] = $current; } + protected function processStringToken(string $token, ?int $startLine = NULL): void + { + $char = tabs_to_spaces($token); + + $startLine = $startLine ?? $this->lineNum; + $lineNumber = $this->findCorrectLine($char, $startLine) ?? $startLine; + + // Simple characters, usually delimiters or single character operators + $this->tokens[$lineNumber][] = [ + 'type' => -1, + 'typeName' => 'RAW', + 'char' => tabs_to_spaces($token), + ]; + } + + private function findCorrectLine(string $search, int $rowOffset, int $searchLength = 5): ?int + { + $end = $rowOffset + $searchLength; + if ($end > count($this->rawLines)) + { + $end = count($this->rawLines); + } + + for ($i = $rowOffset; $i < $end; $i++) + { + if (str_contains($this->rawLines[$i], $search)) + { + return $i; + } + } + return NULL; } } \ No newline at end of file diff --git a/src/functions.php b/src/functions.php index 7f40e4f..e204d67 100644 --- a/src/functions.php +++ b/src/functions.php @@ -283,7 +283,7 @@ function syntax_to_color(int $hl): int * Replace tabs with the specified number of spaces. * * @param string $str - * @param int? $number + * @param int|null $number * @return string */ function tabs_to_spaces(string $str, ?int $number = KILO_TAB_STOP): string diff --git a/test.php b/test.php index d45a5cc..53bd0e9 100644 --- a/test.php +++ b/test.php @@ -8,9 +8,10 @@ abstract class Foo implements Ifoo { * @param float $b * @param array $c * @param callable $d + * @param string $e * @return string */ - abstract public function bar(int $a, float $b, array $c, callable $d): string; + abstract public function bar(int $a, float $b, array $c, callable $d, string $e): string; protected function doNothing(): void {} } @@ -41,6 +42,8 @@ class FooBar extends Foo implements Ifoo { } } +$square = fn (int $x) => $x ** 2; + /* * Multi-line comment */ @@ -76,7 +79,11 @@ $template = <<<'TEMPLATE' TEMPLATE; ?> + + +HTML +

diff --git a/tests/Enum/KeyCodeTest.php b/tests/Enum/KeyCodeTest.php index 1603e0a..c62cd2f 100644 --- a/tests/Enum/KeyCodeTest.php +++ b/tests/Enum/KeyCodeTest.php @@ -18,7 +18,7 @@ class KeyCodeTest extends TestCase { $actual = KeyCode::CTRL($char); - $this->assertEquals(ctrl_key($char), $ord, "chr(ctrl_key) !== CTRL"); + $this->assertEquals(ctrl_key($char), $ord, 'chr(ctrl_key) !== CTRL'); $this->assertEquals($expected, $actual, "CTRL+'{$char}' should return chr($ord)"); } } diff --git a/tests/__snapshots__/EditorTest__testOpenPHP__1.json b/tests/__snapshots__/EditorTest__testOpenPHP__1.json index eaf6dc0..1752a23 100644 --- a/tests/__snapshots__/EditorTest__testOpenPHP__1.json +++ b/tests/__snapshots__/EditorTest__testOpenPHP__1.json @@ -238,7 +238,7 @@ "idx": 9 }, { - "render": " * @return string", + "render": " * @param string $e", "hl": [ 2, 2, @@ -260,13 +260,29 @@ 2, 2, 2, + 2, + 2, 2 ], "idx": 10 }, { - "render": " *\/", + "render": " * @return string", "hl": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, + 2, 2, 2, 2, @@ -278,7 +294,20 @@ "idx": 11 }, { - "render": " abstract public function bar(int $a, float $b, array $c, callable $d): string;", + "render": " *\/", + "hl": [ + 2, + 2, + 2, + 2, + 2, + 2, + 2 + ], + "idx": 12 + }, + { + "render": " abstract public function bar(int $a, float $b, array $c, callable $d, string $e): string;", "hl": [ 0, 0, @@ -352,6 +381,17 @@ 0, 8, 8, + 7, + 0, + 4, + 4, + 4, + 4, + 4, + 4, + 0, + 8, + 8, 9, 7, 0, @@ -363,12 +403,12 @@ 4, 7 ], - "idx": 12 + "idx": 13 }, { "render": "", "hl": [], - "idx": 13 + "idx": 14 }, { "render": " protected function doNothing(): void {}", @@ -417,19 +457,19 @@ 9, 9 ], - "idx": 14 + "idx": 15 }, { "render": "}", "hl": [ 9 ], - "idx": 15 + "idx": 16 }, { "render": "", "hl": [], - "idx": 16 + "idx": 17 }, { "render": "\/**", @@ -438,7 +478,7 @@ 2, 2 ], - "idx": 17 + "idx": 18 }, { "render": " * Docblock comment", @@ -463,7 +503,7 @@ 2, 2 ], - "idx": 18 + "idx": 19 }, { "render": " *\/", @@ -472,7 +512,7 @@ 2, 2 ], - "idx": 19 + "idx": 20 }, { "render": "class FooBar extends Foo implements Ifoo {", @@ -520,7 +560,7 @@ 0, 9 ], - "idx": 20 + "idx": 21 }, { "render": " public function bar(int $a, float $b, array $c, callable $d, string $e = 'default'): string", @@ -621,7 +661,7 @@ 4, 4 ], - "idx": 21 + "idx": 22 }, { "render": " {", @@ -632,7 +672,7 @@ 0, 9 ], - "idx": 22 + "idx": 23 }, { "render": " $cstr = print_r($c, TRUE);", @@ -672,7 +712,7 @@ 9, 7 ], - "idx": 23 + "idx": 24 }, { "render": " $d();", @@ -691,12 +731,12 @@ 9, 7 ], - "idx": 24 + "idx": 25 }, { "render": "", "hl": [], - "idx": 25 + "idx": 26 }, { "render": " return \"{$a}, ${b}, \" . $cstr;", @@ -740,7 +780,7 @@ 8, 7 ], - "idx": 26 + "idx": 27 }, { "render": " }", @@ -751,12 +791,12 @@ 0, 9 ], - "idx": 27 + "idx": 28 }, { "render": "", "hl": [], - "idx": 28 + "idx": 29 }, { "render": " private function operations(int $a, int $b): int", @@ -814,7 +854,7 @@ 4, 4 ], - "idx": 29 + "idx": 30 }, { "render": " {", @@ -825,7 +865,7 @@ 0, 9 ], - "idx": 30 + "idx": 31 }, { "render": " $this->doNothing();", @@ -858,12 +898,12 @@ 9, 7 ], - "idx": 31 + "idx": 32 }, { "render": "", "hl": [], - "idx": 32 + "idx": 33 }, { "render": " $c = $a + $b;", @@ -890,7 +930,7 @@ 8, 7 ], - "idx": 33 + "idx": 34 }, { "render": " $a = $c - $b;", @@ -917,12 +957,12 @@ 8, 7 ], - "idx": 34 + "idx": 35 }, { "render": "", "hl": [], - "idx": 35 + "idx": 36 }, { "render": " $c = $a * $b;", @@ -949,7 +989,7 @@ 8, 7 ], - "idx": 36 + "idx": 37 }, { "render": " $b = (int) ($c \/ $a);", @@ -984,12 +1024,12 @@ 9, 7 ], - "idx": 37 + "idx": 38 }, { "render": "", "hl": [], - "idx": 38 + "idx": 39 }, { "render": " return $c;", @@ -1013,7 +1053,7 @@ 8, 7 ], - "idx": 39 + "idx": 40 }, { "render": " }", @@ -1024,19 +1064,63 @@ 0, 9 ], - "idx": 40 + "idx": 41 }, { "render": "}", "hl": [ 9 ], - "idx": 41 + "idx": 42 }, { "render": "", "hl": [], - "idx": 42 + "idx": 43 + }, + { + "render": "$square = fn (int $x) => $x ** 2;", + "hl": [ + 8, + 8, + 8, + 8, + 8, + 8, + 8, + 0, + 7, + 0, + 0, + 0, + 0, + 9, + 4, + 4, + 4, + 0, + 8, + 8, + 9, + 0, + 7, + 7, + 0, + 8, + 8, + 0, + 7, + 7, + 0, + 6, + 7 + ], + "idx": 44 + }, + { + "render": "", + "hl": [], + "idx": 45 }, { "render": "\/*", @@ -1044,7 +1128,7 @@ 2, 2 ], - "idx": 43 + "idx": 46 }, { "render": " * Multi-line comment", @@ -1071,7 +1155,7 @@ 2, 2 ], - "idx": 44 + "idx": 47 }, { "render": " *\/", @@ -1080,7 +1164,7 @@ 2, 2 ], - "idx": 45 + "idx": 48 }, { "render": "$foobar = new FooBar();", @@ -1109,12 +1193,12 @@ 9, 7 ], - "idx": 46 + "idx": 49 }, { "render": "", "hl": [], - "idx": 47 + "idx": 50 }, { "render": "$baz = ['a' => 'b'];", @@ -1140,12 +1224,12 @@ 9, 7 ], - "idx": 48 + "idx": 51 }, { "render": "", "hl": [], - "idx": 49 + "idx": 52 }, { "render": "\/\/ C++ style comment", @@ -1171,7 +1255,7 @@ 1, 1 ], - "idx": 50 + "idx": 53 }, { "render": "$x = 3;", @@ -1184,12 +1268,12 @@ 6, 7 ], - "idx": 51 + "idx": 54 }, { "render": "", "hl": [], - "idx": 52 + "idx": 55 }, { "render": "# Perl-style comment", @@ -1215,7 +1299,7 @@ 1, 1 ], - "idx": 53 + "idx": 56 }, { "render": "$y = [", @@ -1227,7 +1311,7 @@ 0, 9 ], - "idx": 54 + "idx": 57 }, { "render": " 1,", @@ -1239,7 +1323,7 @@ 6, 7 ], - "idx": 55 + "idx": 58 }, { "render": " 2,", @@ -1251,7 +1335,7 @@ 6, 7 ], - "idx": 56 + "idx": 59 }, { "render": " 3", @@ -1262,7 +1346,7 @@ 0, 6 ], - "idx": 57 + "idx": 60 }, { "render": "];", @@ -1270,12 +1354,12 @@ 9, 7 ], - "idx": 58 + "idx": 61 }, { "render": "", "hl": [], - "idx": 59 + "idx": 62 }, { "render": "\/\/ Multi-line ternary statement", @@ -1312,7 +1396,7 @@ 1, 1 ], - "idx": 60 + "idx": 63 }, { "render": "$q = ($x !== 2)", @@ -1333,7 +1417,7 @@ 6, 9 ], - "idx": 61 + "idx": 64 }, { "render": " ? 'yes'", @@ -1350,7 +1434,7 @@ 5, 5 ], - "idx": 62 + "idx": 65 }, { "render": " : 'no';", @@ -1367,12 +1451,12 @@ 5, 7 ], - "idx": 63 + "idx": 66 }, { "render": "", "hl": [], - "idx": 64 + "idx": 67 }, { "render": "\/*", @@ -1380,7 +1464,7 @@ 2, 2 ], - "idx": 65 + "idx": 68 }, { "render": "Heredoc", @@ -1393,7 +1477,7 @@ 2, 2 ], - "idx": 66 + "idx": 69 }, { "render": "*\/$z = $x + $y;", @@ -1414,7 +1498,7 @@ 8, 7 ], - "idx": 67 + "idx": 70 }, { "render": "$sql = <<{x}<\/foo>", @@ -1581,7 +1665,7 @@ 5, 5 ], - "idx": 74 + "idx": 77 }, { "render": "TEMPLATE;", @@ -1596,12 +1680,12 @@ 9, 7 ], - "idx": 75 + "idx": 78 }, { "render": "", "hl": [], - "idx": 76 + "idx": 79 }, { "render": "?>", @@ -1609,7 +1693,28 @@ 9, 9 ], - "idx": 77 + "idx": 80 + }, + { + "render": "", + "hl": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "idx": 81 }, { "render": "", @@ -1631,7 +1736,57 @@ 0, 0 ], - "idx": 78 + "idx": 82 + }, + { + "render": "", + "hl": [ + 0, + 0, + 0, + 0, + 0, + 0 + ], + "idx": 83 + }, + { + "render": "HTML<\/title>", + "hl": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "idx": 84 + }, + { + "render": "<\/head>", + "hl": [ + 0, + 0, + 0, + 0, + 0, + 0, + 0 + ], + "idx": 85 }, { "render": "<body>", @@ -1643,7 +1798,7 @@ 0, 0 ], - "idx": 79 + "idx": 86 }, { "render": "<h1><?= $_SERVER['HTTP_HOST'] ?><\/h1>", @@ -1686,7 +1841,7 @@ 0, 0 ], - "idx": 80 + "idx": 87 }, { "render": "<\/body>", @@ -1699,7 +1854,7 @@ 0, 0 ], - "idx": 81 + "idx": 88 }, { "render": "<\/html>", @@ -1712,7 +1867,7 @@ 0, 0 ], - "idx": 82 + "idx": 89 }, { "render": "<?php exit(); ?>", @@ -1734,7 +1889,7 @@ 9, 9 ], - "idx": 83 + "idx": 90 } ], "dirty": 0, @@ -2024,13 +2179,14 @@ "char": "\/**", "line": 6, "original": { - "string": "\/**\n * @param int $a\n * @param float $b\n * @param array $c\n * @param callable $d\n * @return string\n *\/", + "string": "\/**\n * @param int $a\n * @param float $b\n * @param array $c\n * @param callable $d\n * @param string $e\n * @return string\n *\/", "lines": [ "\/**", " * @param int $a", " * @param float $b", " * @param array $c", " * @param callable $d", + " * @param string $e", " * @return string", " *\/" ] @@ -2069,10 +2225,17 @@ { "type": -1, "typeName": "RAW", - "char": " * @return string" + "char": " * @param string $e" } ], "12": [ + { + "type": -1, + "typeName": "RAW", + "char": " * @return string" + } + ], + "13": [ { "type": -1, "typeName": "RAW", @@ -2082,51 +2245,51 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 12 + "line": 13 } ], - "13": [ + "14": [ { "type": 354, "typeName": "T_ABSTRACT", "char": "abstract", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 358, "typeName": "T_PUBLIC", "char": "public", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 342, "typeName": "T_FUNCTION", "char": "function", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 311, "typeName": "T_STRING", "char": "bar", - "line": 13 + "line": 14 }, { "type": -1, @@ -2137,19 +2300,19 @@ "type": 311, "typeName": "T_STRING", "char": "int", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 13 + "line": 14 }, { "type": -1, @@ -2160,25 +2323,25 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 311, "typeName": "T_STRING", "char": "float", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 13 + "line": 14 }, { "type": -1, @@ -2189,25 +2352,25 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 371, "typeName": "T_ARRAY", "char": "array", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 13 + "line": 14 }, { "type": -1, @@ -2218,25 +2381,54 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 372, "typeName": "T_CALLABLE", "char": "callable", - "line": 13 + "line": 14 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$d", - "line": 13 + "line": 14 + }, + { + "type": -1, + "typeName": "RAW", + "char": "," + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 14 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "string", + "line": 14 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 14 + }, + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$e", + "line": 14 }, { "type": -1, @@ -2252,13 +2444,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 13 + "line": 14 }, { "type": 311, "typeName": "T_STRING", "char": "string", - "line": 13 + "line": 14 }, { "type": -1, @@ -2269,40 +2461,40 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n ", - "line": 13 + "line": 14 } ], - "14": [], - "15": [ + "15": [], + "16": [ { "type": 357, "typeName": "T_PROTECTED", "char": "protected", - "line": 15 + "line": 16 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 15 + "line": 16 }, { "type": 342, "typeName": "T_FUNCTION", "char": "function", - "line": 15 + "line": 16 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 15 + "line": 16 }, { "type": 311, "typeName": "T_STRING", "char": "doNothing", - "line": 15 + "line": 16 }, { "type": -1, @@ -2323,19 +2515,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 15 + "line": 16 }, { "type": 311, "typeName": "T_STRING", "char": "void", - "line": 15 + "line": 16 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 15 + "line": 16 }, { "type": -1, @@ -2351,10 +2543,10 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n", - "line": 15 + "line": 16 } ], - "16": [ + "17": [ { "type": -1, "typeName": "RAW", @@ -2364,16 +2556,16 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 16 + "line": 17 } ], - "17": [], - "18": [ + "18": [], + "19": [ { "type": 381, "typeName": "T_DOC_COMMENT", "char": "\/**", - "line": 18, + "line": 19, "original": { "string": "\/**\n * Docblock comment\n *\/", "lines": [ @@ -2384,14 +2576,14 @@ } } ], - "19": [ + "20": [ { "type": -1, "typeName": "RAW", "char": " * Docblock comment" } ], - "20": [ + "21": [ { "type": -1, "typeName": "RAW", @@ -2401,81 +2593,81 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n", - "line": 20 + "line": 21 } ], - "21": [ + "22": [ { "type": 364, "typeName": "T_CLASS", "char": "class", - "line": 21 + "line": 22 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 21 + "line": 22 }, { "type": 311, "typeName": "T_STRING", "char": "FooBar", - "line": 21 + "line": 22 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 21 + "line": 22 }, { "type": 367, "typeName": "T_EXTENDS", "char": "extends", - "line": 21 + "line": 22 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 21 + "line": 22 }, { "type": 311, "typeName": "T_STRING", "char": "Foo", - "line": 21 + "line": 22 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 21 + "line": 22 }, { "type": 368, "typeName": "T_IMPLEMENTS", "char": "implements", - "line": 21 + "line": 22 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 21 + "line": 22 }, { "type": 311, "typeName": "T_STRING", "char": "Ifoo", - "line": 21 + "line": 22 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 21 + "line": 22 }, { "type": -1, @@ -2486,39 +2678,39 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 21 + "line": 22 } ], - "22": [ + "23": [ { "type": 358, "typeName": "T_PUBLIC", "char": "public", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 342, "typeName": "T_FUNCTION", "char": "function", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 311, "typeName": "T_STRING", "char": "bar", - "line": 22 + "line": 23 }, { "type": -1, @@ -2529,19 +2721,19 @@ "type": 311, "typeName": "T_STRING", "char": "int", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 22 + "line": 23 }, { "type": -1, @@ -2552,25 +2744,25 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 311, "typeName": "T_STRING", "char": "float", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 22 + "line": 23 }, { "type": -1, @@ -2581,25 +2773,25 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 371, "typeName": "T_ARRAY", "char": "array", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 22 + "line": 23 }, { "type": -1, @@ -2610,25 +2802,25 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 372, "typeName": "T_CALLABLE", "char": "callable", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$d", - "line": 22 + "line": 23 }, { "type": -1, @@ -2639,31 +2831,31 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 311, "typeName": "T_STRING", "char": "string", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$e", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": -1, @@ -2674,13 +2866,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 315, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'default'", - "line": 22 + "line": 23 }, { "type": -1, @@ -2696,101 +2888,26 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 22 + "line": 23 }, { "type": 311, "typeName": "T_STRING", "char": "string", - "line": 22 + "line": 23 }, { "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 22 - } - ], - "23": [ - { - "type": -1, - "typeName": "RAW", - "char": "{" - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": "\n ", "line": 23 } ], "24": [ - { - "type": 312, - "typeName": "T_VARIABLE", - "char": "$cstr", - "line": 24 - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 24 - }, { "type": -1, "typeName": "RAW", - "char": "=" - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 24 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "print_r", - "line": 24 - }, - { - "type": -1, - "typeName": "RAW", - "char": "(" - }, - { - "type": 312, - "typeName": "T_VARIABLE", - "char": "$c", - "line": 24 - }, - { - "type": -1, - "typeName": "RAW", - "char": "," - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 24 - }, - { - "type": 311, - "typeName": "T_STRING", - "char": "TRUE", - "line": 24 - }, - { - "type": -1, - "typeName": "RAW", - "char": ")" - }, - { - "type": -1, - "typeName": "RAW", - "char": ";" + "char": "{" }, { "type": 385, @@ -2803,9 +2920,84 @@ { "type": 312, "typeName": "T_VARIABLE", - "char": "$d", + "char": "$cstr", "line": 25 }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 25 + }, + { + "type": -1, + "typeName": "RAW", + "char": "=" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 25 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "print_r", + "line": 25 + }, + { + "type": -1, + "typeName": "RAW", + "char": "(" + }, + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$c", + "line": 25 + }, + { + "type": -1, + "typeName": "RAW", + "char": "," + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 25 + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "TRUE", + "line": 25 + }, + { + "type": -1, + "typeName": "RAW", + "char": ")" + }, + { + "type": -1, + "typeName": "RAW", + "char": ";" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": "\n ", + "line": 25 + } + ], + "26": [ + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$d", + "line": 26 + }, { "type": -1, "typeName": "RAW", @@ -2825,22 +3017,22 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n ", - "line": 25 + "line": 26 } ], - "26": [], - "27": [ + "27": [], + "28": [ { "type": 345, "typeName": "T_RETURN", "char": "return", - "line": 27 + "line": 28 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 27 + "line": 28 }, { "type": -1, @@ -2851,13 +3043,13 @@ "type": 389, "typeName": "T_CURLY_OPEN", "char": "{", - "line": 27 + "line": 28 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 27 + "line": 28 }, { "type": -1, @@ -2868,19 +3060,19 @@ "type": 314, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": ", ", - "line": 27 + "line": 28 }, { "type": 388, "typeName": "T_DOLLAR_OPEN_CURLY_BRACES", "char": "${", - "line": 27 + "line": 28 }, { "type": 316, "typeName": "T_STRING_VARNAME", "char": "b", - "line": 27 + "line": 28 }, { "type": -1, @@ -2891,7 +3083,7 @@ "type": 314, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": ", ", - "line": 27 + "line": 28 }, { "type": -1, @@ -2902,7 +3094,7 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 27 + "line": 28 }, { "type": -1, @@ -2913,13 +3105,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 27 + "line": 28 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$cstr", - "line": 27 + "line": 28 }, { "type": -1, @@ -2930,10 +3122,10 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 27 + "line": 28 } ], - "28": [ + "29": [ { "type": -1, "typeName": "RAW", @@ -2943,40 +3135,40 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n ", - "line": 28 + "line": 29 } ], - "29": [], - "30": [ + "30": [], + "31": [ { "type": 356, "typeName": "T_PRIVATE", "char": "private", - "line": 30 + "line": 31 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 31 }, { "type": 342, "typeName": "T_FUNCTION", "char": "function", - "line": 30 + "line": 31 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 31 }, { "type": 311, "typeName": "T_STRING", "char": "operations", - "line": 30 + "line": 31 }, { "type": -1, @@ -2987,19 +3179,19 @@ "type": 311, "typeName": "T_STRING", "char": "int", - "line": 30 + "line": 31 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 31 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 30 + "line": 31 }, { "type": -1, @@ -3010,25 +3202,25 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 31 }, { "type": 311, "typeName": "T_STRING", "char": "int", - "line": 30 + "line": 31 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 31 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 30 + "line": 31 }, { "type": -1, @@ -3044,22 +3236,22 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 30 + "line": 31 }, { "type": 311, "typeName": "T_STRING", "char": "int", - "line": 30 + "line": 31 }, { "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 30 + "line": 31 } ], - "31": [ + "32": [ { "type": -1, "typeName": "RAW", @@ -3069,27 +3261,27 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 31 + "line": 32 } ], - "32": [ + "33": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$this", - "line": 32 + "line": 33 }, { "type": 369, "typeName": "T_OBJECT_OPERATOR", "char": "->", - "line": 32 + "line": 33 }, { "type": 311, "typeName": "T_STRING", "char": "doNothing", - "line": 32 + "line": 33 }, { "type": -1, @@ -3110,22 +3302,22 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n ", - "line": 32 + "line": 33 } ], - "33": [], - "34": [ + "34": [], + "35": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 34 + "line": 35 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 34 + "line": 35 }, { "type": -1, @@ -3136,19 +3328,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 34 + "line": 35 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 34 + "line": 35 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 34 + "line": 35 }, { "type": -1, @@ -3159,13 +3351,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 34 + "line": 35 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 34 + "line": 35 }, { "type": -1, @@ -3176,21 +3368,21 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 34 + "line": 35 } ], - "35": [ + "36": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 35 + "line": 36 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 35 + "line": 36 }, { "type": -1, @@ -3201,19 +3393,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 35 + "line": 36 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 35 + "line": 36 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 35 + "line": 36 }, { "type": -1, @@ -3224,13 +3416,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 35 + "line": 36 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 35 + "line": 36 }, { "type": -1, @@ -3241,22 +3433,22 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n ", - "line": 35 + "line": 36 } ], - "36": [], - "37": [ + "37": [], + "38": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 37 + "line": 38 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 37 + "line": 38 }, { "type": -1, @@ -3267,19 +3459,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 37 + "line": 38 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 37 + "line": 38 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 37 + "line": 38 }, { "type": -1, @@ -3290,13 +3482,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 37 + "line": 38 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 37 + "line": 38 }, { "type": -1, @@ -3307,21 +3499,21 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 37 + "line": 38 } ], - "38": [ + "39": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$b", - "line": 38 + "line": 39 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 38 + "line": 39 }, { "type": -1, @@ -3332,19 +3524,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 38 + "line": 39 }, { "type": 296, "typeName": "T_INT_CAST", "char": "(int)", - "line": 38 + "line": 39 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 38 + "line": 39 }, { "type": -1, @@ -3355,13 +3547,13 @@ "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 38 + "line": 39 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 38 + "line": 39 }, { "type": -1, @@ -3372,13 +3564,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 38 + "line": 39 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$a", - "line": 38 + "line": 39 }, { "type": -1, @@ -3394,28 +3586,28 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n ", - "line": 38 + "line": 39 } ], - "39": [], - "40": [ + "40": [], + "41": [ { "type": 345, "typeName": "T_RETURN", "char": "return", - "line": 40 + "line": 41 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 40 + "line": 41 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$c", - "line": 40 + "line": 41 }, { "type": -1, @@ -3426,19 +3618,6 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 40 - } - ], - "41": [ - { - "type": -1, - "typeName": "RAW", - "char": "}" - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": "\n", "line": 41 } ], @@ -3451,59 +3630,36 @@ { "type": 385, "typeName": "T_WHITESPACE", - "char": "\n\n", + "char": "\n", "line": 42 } ], - "43": [], - "44": [ - { - "type": 380, - "typeName": "T_COMMENT", - "char": "\/*", - "line": 44, - "original": { - "string": "\/*\n * Multi-line comment\n *\/", - "lines": [ - "\/*", - " * Multi-line comment", - " *\/" - ] - } - } - ], - "45": [ + "43": [ { "type": -1, "typeName": "RAW", - "char": " * Multi-line comment" - } - ], - "46": [ - { - "type": -1, - "typeName": "RAW", - "char": " *\/" + "char": "}" }, { "type": 385, "typeName": "T_WHITESPACE", - "char": "\n", - "line": 46 + "char": "\n\n", + "line": 43 } ], - "47": [ + "44": [], + "45": [ { "type": 312, "typeName": "T_VARIABLE", - "char": "$foobar", - "line": 47 + "char": "$square", + "line": 45 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 47 + "line": 45 }, { "type": -1, @@ -3514,25 +3670,186 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 47 + "line": 45 }, { - "type": 304, - "typeName": "T_NEW", - "char": "new", - "line": 47 + "type": 343, + "typeName": "T_FN", + "char": "fn", + "line": 45 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 47 + "line": 45 + }, + { + "type": -1, + "typeName": "RAW", + "char": "(" + }, + { + "type": 311, + "typeName": "T_STRING", + "char": "int", + "line": 45 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 45 + }, + { + "type": -1, + "typeName": "RAW", + "char": ")" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 268, + "typeName": "T_DOUBLE_ARROW", + "char": "=>", + "line": 45 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$x", + "line": 45 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 303, + "typeName": "T_POW", + "char": "**", + "line": 45 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 45 + }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "2", + "line": 45 + }, + { + "type": -1, + "typeName": "RAW", + "char": ";" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 45 + } + ], + "46": [], + "47": [ + { + "type": 380, + "typeName": "T_COMMENT", + "char": "\/*", + "line": 47, + "original": { + "string": "\/*\n * Multi-line comment\n *\/", + "lines": [ + "\/*", + " * Multi-line comment", + " *\/" + ] + } + } + ], + "48": [ + { + "type": -1, + "typeName": "RAW", + "char": " * Multi-line comment" + } + ], + "49": [ + { + "type": -1, + "typeName": "RAW", + "char": " *\/" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": "\n", + "line": 49 + } + ], + "50": [ + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$foobar", + "line": 50 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 + }, + { + "type": -1, + "typeName": "RAW", + "char": "=" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 + }, + { + "type": 304, + "typeName": "T_NEW", + "char": "new", + "line": 50 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 50 }, { "type": 311, "typeName": "T_STRING", "char": "FooBar", - "line": 47 + "line": 50 }, { "type": -1, @@ -3553,22 +3870,22 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 47 + "line": 50 } ], - "48": [], - "49": [ + "51": [], + "52": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$baz", - "line": 49 + "line": 52 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 49 + "line": 52 }, { "type": -1, @@ -3579,7 +3896,7 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 49 + "line": 52 }, { "type": -1, @@ -3590,31 +3907,31 @@ "type": 315, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'a'", - "line": 49 + "line": 52 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 49 + "line": 52 }, { "type": 268, "typeName": "T_DOUBLE_ARROW", "char": "=>", - "line": 49 + "line": 52 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 49 + "line": 52 }, { "type": 315, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'b'", - "line": 49 + "line": 52 }, { "type": -1, @@ -3626,64 +3943,6 @@ "typeName": "RAW", "char": ";" }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": "\n\n", - "line": 49 - } - ], - "50": [], - "51": [ - { - "type": 380, - "typeName": "T_COMMENT", - "char": "\/\/ C++ style comment", - "line": 51, - "original": { - "string": "\/\/ C++ style comment\n", - "lines": [ - "\/\/ C++ style comment", - "" - ] - } - } - ], - "52": [ - { - "type": 312, - "typeName": "T_VARIABLE", - "char": "$x", - "line": 52 - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 52 - }, - { - "type": -1, - "typeName": "RAW", - "char": "=" - }, - { - "type": 385, - "typeName": "T_WHITESPACE", - "char": " ", - "line": 52 - }, - { - "type": 309, - "typeName": "T_LNUMBER", - "char": "3", - "line": 52 - }, - { - "type": -1, - "typeName": "RAW", - "char": ";" - }, { "type": 385, "typeName": "T_WHITESPACE", @@ -3696,12 +3955,12 @@ { "type": 380, "typeName": "T_COMMENT", - "char": "# Perl-style comment", + "char": "\/\/ C++ style comment", "line": 54, "original": { - "string": "# Perl-style comment\n", + "string": "\/\/ C++ style comment\n", "lines": [ - "# Perl-style comment", + "\/\/ C++ style comment", "" ] } @@ -3711,7 +3970,7 @@ { "type": 312, "typeName": "T_VARIABLE", - "char": "$y", + "char": "$x", "line": 55 }, { @@ -3731,6 +3990,64 @@ "char": " ", "line": 55 }, + { + "type": 309, + "typeName": "T_LNUMBER", + "char": "3", + "line": 55 + }, + { + "type": -1, + "typeName": "RAW", + "char": ";" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": "\n\n", + "line": 55 + } + ], + "56": [], + "57": [ + { + "type": 380, + "typeName": "T_COMMENT", + "char": "# Perl-style comment", + "line": 57, + "original": { + "string": "# Perl-style comment\n", + "lines": [ + "# Perl-style comment", + "" + ] + } + } + ], + "58": [ + { + "type": 312, + "typeName": "T_VARIABLE", + "char": "$y", + "line": 58 + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 58 + }, + { + "type": -1, + "typeName": "RAW", + "char": "=" + }, + { + "type": 385, + "typeName": "T_WHITESPACE", + "char": " ", + "line": 58 + }, { "type": -1, "typeName": "RAW", @@ -3740,15 +4057,15 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 55 + "line": 58 } ], - "56": [ + "59": [ { "type": 309, "typeName": "T_LNUMBER", "char": "1", - "line": 56 + "line": 59 }, { "type": -1, @@ -3759,15 +4076,15 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 56 + "line": 59 } ], - "57": [ + "60": [ { "type": 309, "typeName": "T_LNUMBER", "char": "2", - "line": 57 + "line": 60 }, { "type": -1, @@ -3778,24 +4095,24 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 57 + "line": 60 } ], - "58": [ + "61": [ { "type": 309, "typeName": "T_LNUMBER", "char": "3", - "line": 58 + "line": 61 }, { "type": 385, "typeName": "T_WHITESPACE", "char": "\n", - "line": 58 + "line": 61 } ], - "59": [ + "62": [ { "type": -1, "typeName": "RAW", @@ -3810,16 +4127,16 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 59 + "line": 62 } ], - "60": [], - "61": [ + "63": [], + "64": [ { "type": 380, "typeName": "T_COMMENT", "char": "\/\/ Multi-line ternary statement", - "line": 61, + "line": 64, "original": { "string": "\/\/ Multi-line ternary statement\n", "lines": [ @@ -3829,18 +4146,18 @@ } } ], - "62": [ + "65": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$q", - "line": 62 + "line": 65 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 62 + "line": 65 }, { "type": -1, @@ -3851,7 +4168,7 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 62 + "line": 65 }, { "type": -1, @@ -3862,31 +4179,31 @@ "type": 312, "typeName": "T_VARIABLE", "char": "$x", - "line": 62 + "line": 65 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 62 + "line": 65 }, { "type": 289, "typeName": "T_IS_NOT_IDENTICAL", "char": "!==", - "line": 62 + "line": 65 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 62 + "line": 65 }, { "type": 309, "typeName": "T_LNUMBER", "char": "2", - "line": 62 + "line": 65 }, { "type": -1, @@ -3897,10 +4214,10 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 62 + "line": 65 } ], - "63": [ + "66": [ { "type": -1, "typeName": "RAW", @@ -3910,22 +4227,22 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 63 + "line": 66 }, { "type": 315, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'yes'", - "line": 63 + "line": 66 }, { "type": 385, "typeName": "T_WHITESPACE", "char": "\n ", - "line": 63 + "line": 66 } ], - "64": [ + "67": [ { "type": -1, "typeName": "RAW", @@ -3935,13 +4252,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 64 + "line": 67 }, { "type": 315, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'no'", - "line": 64 + "line": 67 }, { "type": -1, @@ -3952,16 +4269,16 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 64 + "line": 67 } ], - "65": [], - "66": [ + "68": [], + "69": [ { "type": 380, "typeName": "T_COMMENT", "char": "\/*", - "line": 66, + "line": 69, "original": { "string": "\/*\nHeredoc\n*\/", "lines": [ @@ -3972,14 +4289,14 @@ } } ], - "67": [ + "70": [ { "type": -1, "typeName": "RAW", "char": "Heredoc" } ], - "68": [ + "71": [ { "type": -1, "typeName": "RAW", @@ -3989,13 +4306,13 @@ "type": 312, "typeName": "T_VARIABLE", "char": "$z", - "line": 68 + "line": 71 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 68 + "line": 71 }, { "type": -1, @@ -4006,19 +4323,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 68 + "line": 71 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$x", - "line": 68 + "line": 71 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 68 + "line": 71 }, { "type": -1, @@ -4029,13 +4346,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 68 + "line": 71 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$y", - "line": 68 + "line": 71 }, { "type": -1, @@ -4046,21 +4363,21 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n", - "line": 68 + "line": 71 } ], - "69": [ + "72": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$sql", - "line": 69 + "line": 72 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 69 + "line": 72 }, { "type": -1, @@ -4071,13 +4388,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 69 + "line": 72 }, { "type": 386, "typeName": "T_START_HEREDOC", "char": "<<<SQL", - "line": 69, + "line": 72, "original": { "string": "<<<SQL\n", "lines": [ @@ -4087,24 +4404,24 @@ } } ], - "70": [ + "73": [ { "type": 314, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": " SELECT * FROM \"foo\" WHERE \"bar\"='baz' AND id=", - "line": 70 + "line": 73 }, { "type": 389, "typeName": "T_CURLY_OPEN", "char": "{", - "line": 70 + "line": 73 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$x", - "line": 70 + "line": 73 }, { "type": -1, @@ -4115,7 +4432,7 @@ "type": 314, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": ";", - "line": 70, + "line": 73, "original": { "string": ";\n", "lines": [ @@ -4125,12 +4442,12 @@ } } ], - "71": [ + "74": [ { "type": 387, "typeName": "T_END_HEREDOC", "char": "SQL", - "line": 71 + "line": 74 }, { "type": -1, @@ -4141,36 +4458,36 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 71 + "line": 74 } ], - "72": [], - "73": [ + "75": [], + "76": [ { "type": 380, "typeName": "T_COMMENT", "char": "\/* Nowdoc *\/", - "line": 73 + "line": 76 }, { "type": 385, "typeName": "T_WHITESPACE", "char": "\n", - "line": 73 + "line": 76 } ], - "74": [ + "77": [ { "type": 312, "typeName": "T_VARIABLE", "char": "$template", - "line": 74 + "line": 77 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 74 + "line": 77 }, { "type": -1, @@ -4181,13 +4498,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 74 + "line": 77 }, { "type": 386, "typeName": "T_START_HEREDOC", "char": "<<<'TEMPLATE'", - "line": 74, + "line": 77, "original": { "string": "<<<'TEMPLATE'\n", "lines": [ @@ -4197,12 +4514,12 @@ } } ], - "75": [ + "78": [ { "type": 314, "typeName": "T_ENCAPSED_AND_WHITESPACE", "char": " <foo>{x}<\/foo>", - "line": 75, + "line": 78, "original": { "string": " <foo>{x}<\/foo>\n", "lines": [ @@ -4212,12 +4529,12 @@ } } ], - "76": [ + "79": [ { "type": 387, "typeName": "T_END_HEREDOC", "char": "TEMPLATE", - "line": 76 + "line": 79 }, { "type": -1, @@ -4228,16 +4545,16 @@ "type": 385, "typeName": "T_WHITESPACE", "char": "\n\n", - "line": 76 + "line": 79 } ], - "77": [], - "78": [ + "80": [], + "81": [ { "type": 384, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 78, + "line": 81, "original": { "string": "?>\n", "lines": [ @@ -4247,30 +4564,62 @@ } } ], - "79": [ + "82": [ { "type": 313, "typeName": "T_INLINE_HTML", - "char": "<html lang=\"en\">", - "line": 79, + "char": "<!DOCTYPE html>", + "line": 82, "original": { - "string": "<html lang=\"en\">\n<body>\n<h1>", + "string": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n<title>HTML<\/title>\n<\/head>\n<body>\n<h1>", "lines": [ + "<!DOCTYPE html>", "<html lang=\"en\">", + "<head>", + "<title>HTML<\/title>", + "<\/head>", "<body>", "<h1>" ] } } ], - "80": [ + "83": [ + { + "type": -1, + "typeName": "RAW", + "char": "<html lang=\"en\">" + } + ], + "84": [ + { + "type": -1, + "typeName": "RAW", + "char": "<head>" + } + ], + "85": [ + { + "type": -1, + "typeName": "RAW", + "char": "<title>HTML<\/title>" + } + ], + "86": [ + { + "type": -1, + "typeName": "RAW", + "char": "<\/head>" + } + ], + "87": [ { "type": -1, "typeName": "RAW", "char": "<body>" } ], - "81": [ + "88": [ { "type": -1, "typeName": "RAW", @@ -4280,19 +4629,19 @@ "type": 383, "typeName": "T_OPEN_TAG_WITH_ECHO", "char": "<?=", - "line": 81 + "line": 88 }, { "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 81 + "line": 88 }, { "type": 312, "typeName": "T_VARIABLE", "char": "$_SERVER", - "line": 81 + "line": 88 }, { "type": -1, @@ -4303,7 +4652,7 @@ "type": 315, "typeName": "T_CONSTANT_ENCAPSED_STRING", "char": "'HTTP_HOST'", - "line": 81 + "line": 88 }, { "type": -1, @@ -4314,19 +4663,19 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 81 + "line": 88 }, { "type": 384, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 81 + "line": 88 }, { "type": 313, "typeName": "T_INLINE_HTML", "char": "<\/h1>", - "line": 81, + "line": 88, "original": { "string": "<\/h1>\n<\/body>\n<\/html>\n", "lines": [ @@ -4338,32 +4687,32 @@ } } ], - "82": [ + "89": [ { "type": -1, "typeName": "RAW", "char": "<\/body>" } ], - "83": [ + "90": [ { "type": -1, "typeName": "RAW", "char": "<\/html>" } ], - "84": [ + "91": [ { "type": 382, "typeName": "T_OPEN_TAG", "char": "<?php ", - "line": 84 + "line": 91 }, { "type": 321, "typeName": "T_EXIT", "char": "exit", - "line": 84 + "line": 91 }, { "type": -1, @@ -4384,13 +4733,13 @@ "type": 385, "typeName": "T_WHITESPACE", "char": " ", - "line": 84 + "line": 91 }, { "type": 384, "typeName": "T_CLOSE_TAG", "char": "?>", - "line": 84 + "line": 91 } ] }