From 845291a67bd0ae13f4b8f130fc29162bdfab823b Mon Sep 17 00:00:00 2001 From: patrickkusebauch Date: Fri, 21 Jul 2023 18:35:42 +0200 Subject: [PATCH] Closes #1240 Closes #1241 --- baseline.xml | 63 +- composer.json | 4 +- composer.lock | 830 +++++++----------- phpunit.xml.dist | 33 +- psalm.xml | 2 + src/Contract/Result/Error.php | 2 +- src/Contract/Result/Warning.php | 2 +- .../EventHandler/DependsOnDisallowedLayer.php | 6 + .../EventHandler/DependsOnInternalToken.php | 6 + .../EventHandler/DependsOnPrivateLayer.php | 6 + tests/Core/Ast/Parser/TypeResolverTest.php | 2 +- .../Dependency/DependencyResolverTest.php | 24 +- .../PathNameFilterIteratorTest.php | 2 +- .../Collector/AttributeCollectorTest.php | 2 +- .../Layer/Collector/BoolCollectorTest.php | 4 +- .../Layer/Collector/ClassCollectorTest.php | 4 +- .../Collector/ClassLikeCollectorTest.php | 4 +- .../Collector/ClassNameRegexCollectorTest.php | 2 +- .../Layer/Collector/ComposerCollectorTest.php | 2 +- .../Collector/DirectoryCollectorTest.php | 2 +- .../Layer/Collector/ExtendsCollectorTest.php | 2 +- .../Collector/FunctionNameCollectorTest.php | 2 +- .../Layer/Collector/GlobCollectorTest.php | 2 +- .../Collector/ImplementsCollectorTest.php | 2 +- .../InheritanceLevelCollectorTest.php | 2 +- .../Layer/Collector/InheritsCollectorTest.php | 2 +- .../Collector/InterfaceCollectorTest.php | 4 +- .../Layer/Collector/MethodCollectorTest.php | 16 +- .../Collector/PHPInternalCollectorTest.php | 2 +- .../Collector/SuperglobalCollectorTest.php | 2 +- .../Layer/Collector/TraitCollectorTest.php | 4 +- .../Layer/Collector/UsesCollectorTest.php | 2 +- tests/Core/Layer/LayerResolverTest.php | 2 +- .../BaselineOutputFormatterTest.php | 2 +- .../CodeclimateOutputFormatterTest.php | 2 +- .../ConsoleOutputFormatterTest.php | 2 +- .../GithubActionsOutputFormatterTest.php | 2 +- .../JUnitOutputFormatterTest.php | 2 +- .../JsonOutputFormatterTest.php | 2 +- .../TableOutputFormatterTest.php | 2 +- .../XMLOutputFormatterTest.php | 2 +- 41 files changed, 466 insertions(+), 596 deletions(-) diff --git a/baseline.xml b/baseline.xml index 27d50d180..83e0f6182 100644 --- a/baseline.xml +++ b/baseline.xml @@ -1,26 +1,51 @@ - + + + + |mixed, + * must_not: array|mixed, + * private: bool, + * type: string}]]> + + + + + , + * private: bool, + * type: string}]]> + + + + + + + + + + array{private: bool, type: string, value: string} + + - - array_key_exists($type, $this->rules) ? array_values($this->rules[$type]) : [] + + rules) ? array_values($this->rules[$type]) : []]]> - - list<T> + + ]]> - - - DependsOnDisallowedLayer - - - - - DependsOnInternalToken - - - - - DependsOnPrivateLayer - + + + $lockedPackages + + + , 'psr-4'?: array}, + * autoload-dev?: array{'psr-0'?: array, 'psr-4'?: array}, + * }>]]> + diff --git a/composer.json b/composer.json index 7932ec9f1..5ab9c19a3 100644 --- a/composer.json +++ b/composer.json @@ -65,9 +65,9 @@ "infection/infection": "^0.26.16", "phpstan/phpstan": "^1.6.8", "phpstan/phpstan-symfony": "^1.1", - "phpunit/phpunit": "^9.5", + "phpunit/phpunit": "^10.2", "rector/rector": "^0.15.17", "roave/infection-static-analysis-plugin": "^1.28", - "vimeo/psalm": "^4.22" + "vimeo/psalm": "^5.13" } } diff --git a/composer.lock b/composer.lock index 4b24b1ab6..8048c49a0 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "633377a4738dbf6e033b8a046d595ecb", + "content-hash": "b63da46f0a7e97d7eec0d86509188670", "packages": [ { "name": "composer/pcre", @@ -240,16 +240,16 @@ }, { "name": "nikic/php-parser", - "version": "v4.15.5", + "version": "v4.16.0", "source": { "type": "git", "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e" + "reference": "19526a33fb561ef417e822e85f08a00db4059c17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/11e2663a5bc9db5d714eedb4277ee300403b4a9e", - "reference": "11e2663a5bc9db5d714eedb4277ee300403b4a9e", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/19526a33fb561ef417e822e85f08a00db4059c17", + "reference": "19526a33fb561ef417e822e85f08a00db4059c17", "shasum": "" }, "require": { @@ -290,9 +290,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.15.5" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.16.0" }, - "time": "2023-05-19T20:20:00+00:00" + "time": "2023-06-25T14:52:30+00:00" }, { "name": "phpdocumentor/graphviz", @@ -2735,76 +2735,6 @@ }, "time": "2023-02-02T22:02:53+00:00" }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "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": "2022-12-30T00:23:10+00:00" - }, { "name": "doctrine/lexer", "version": "3.0.0", @@ -4153,59 +4083,6 @@ }, "time": "2021-04-14T09:16:52+00:00" }, - { - "name": "openlss/lib-array2xml", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/nullivex/lib-array2xml.git", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "LSS": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Bryan Tong", - "email": "bryan@nullivex.com", - "homepage": "https://www.nullivex.com" - }, - { - "name": "Tony Butler", - "email": "spudz76@gmail.com", - "homepage": "https://www.nullivex.com" - } - ], - "description": "Array2XML conversion library credit to lalit.org", - "homepage": "https://www.nullivex.com", - "keywords": [ - "array", - "array conversion", - "xml", - "xml conversion" - ], - "support": { - "issues": "https://github.com/nullivex/lib-array2xml/issues", - "source": "https://github.com/nullivex/lib-array2xml/tree/master" - }, - "time": "2019-03-29T20:06:56+00:00" - }, { "name": "paragonie/constant_time_encoding", "version": "v2.6.3", @@ -4576,16 +4453,16 @@ }, { "name": "phpunit/php-code-coverage", - "version": "9.2.26", + "version": "10.1.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1" + "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", - "reference": "443bc6912c9bd5b409254a40f4b0f4ced7c80ea1", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/db1497ec8dd382e82c962f7abbe0320e4882ee4e", + "reference": "db1497ec8dd382e82c962f7abbe0320e4882ee4e", "shasum": "" }, "require": { @@ -4593,18 +4470,18 @@ "ext-libxml": "*", "ext-xmlwriter": "*", "nikic/php-parser": "^4.15", - "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", + "php": ">=8.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-text-template": "^3.0", + "sebastian/code-unit-reverse-lookup": "^3.0", + "sebastian/complexity": "^3.0", + "sebastian/environment": "^6.0", + "sebastian/lines-of-code": "^2.0", + "sebastian/version": "^4.0", "theseer/tokenizer": "^1.2.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.1" }, "suggest": { "ext-pcov": "PHP extension that provides line coverage", @@ -4613,7 +4490,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.2-dev" + "dev-main": "10.1-dev" } }, "autoload": { @@ -4641,7 +4518,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.26" + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.2" }, "funding": [ { @@ -4649,32 +4527,32 @@ "type": "github" } ], - "time": "2023-03-06T12:58:08+00:00" + "time": "2023-05-22T09:04:27+00:00" }, { "name": "phpunit/php-file-iterator", - "version": "3.0.6", + "version": "4.0.2", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + "reference": "5647d65443818959172645e7ed999217360654b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/5647d65443818959172645e7ed999217360654b6", + "reference": "5647d65443818959172645e7ed999217360654b6", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -4701,7 +4579,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.0.2" }, "funding": [ { @@ -4709,28 +4588,28 @@ "type": "github" } ], - "time": "2021-12-02T12:48:52+00:00" + "time": "2023-05-07T09:13:23+00:00" }, { "name": "phpunit/php-invoker", - "version": "3.1.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", + "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-pcntl": "*" @@ -4738,7 +4617,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -4764,7 +4643,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" }, "funding": [ { @@ -4772,32 +4651,32 @@ "type": "github" } ], - "time": "2020-09-28T05:58:55+00:00" + "time": "2023-02-03T06:56:09+00:00" }, { "name": "phpunit/php-text-template", - "version": "2.0.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/9f3d3709577a527025f55bcf0f7ab8052c8bb37d", + "reference": "9f3d3709577a527025f55bcf0f7ab8052c8bb37d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -4823,7 +4702,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.0" }, "funding": [ { @@ -4831,32 +4710,32 @@ "type": "github" } ], - "time": "2020-10-26T05:33:50+00:00" + "time": "2023-02-03T06:56:46+00:00" }, { "name": "phpunit/php-timer", - "version": "5.0.3", + "version": "6.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", + "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -4882,7 +4761,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" }, "funding": [ { @@ -4890,24 +4769,23 @@ "type": "github" } ], - "time": "2020-10-26T13:16:10+00:00" + "time": "2023-02-03T06:57:52+00:00" }, { "name": "phpunit/phpunit", - "version": "9.6.8", + "version": "10.2.6", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e" + "reference": "1c17815c129f133f3019cc18e8d0c8622e6d9bcd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/17d621b3aff84d0c8b62539e269e87d8d5baa76e", - "reference": "17d621b3aff84d0c8b62539e269e87d8d5baa76e", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/1c17815c129f133f3019cc18e8d0c8622e6d9bcd", + "reference": "1c17815c129f133f3019cc18e8d0c8622e6d9bcd", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.3.1 || ^2", "ext-dom": "*", "ext-json": "*", "ext-libxml": "*", @@ -4917,27 +4795,26 @@ "myclabs/deep-copy": "^1.10.1", "phar-io/manifest": "^2.0.3", "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.13", - "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.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" + "php": ">=8.1", + "phpunit/php-code-coverage": "^10.1.1", + "phpunit/php-file-iterator": "^4.0", + "phpunit/php-invoker": "^4.0", + "phpunit/php-text-template": "^3.0", + "phpunit/php-timer": "^6.0", + "sebastian/cli-parser": "^2.0", + "sebastian/code-unit": "^2.0", + "sebastian/comparator": "^5.0", + "sebastian/diff": "^5.0", + "sebastian/environment": "^6.0", + "sebastian/exporter": "^5.0", + "sebastian/global-state": "^6.0", + "sebastian/object-enumerator": "^5.0", + "sebastian/recursion-context": "^5.0", + "sebastian/type": "^4.0", + "sebastian/version": "^4.0" }, "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "ext-soap": "To be able to generate mocks based on WSDL files" }, "bin": [ "phpunit" @@ -4945,7 +4822,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "9.6-dev" + "dev-main": "10.2-dev" } }, "autoload": { @@ -4977,7 +4854,7 @@ "support": { "issues": "https://github.com/sebastianbergmann/phpunit/issues", "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.8" + "source": "https://github.com/sebastianbergmann/phpunit/tree/10.2.6" }, "funding": [ { @@ -4993,7 +4870,7 @@ "type": "tidelift" } ], - "time": "2023-05-11T05:14:45+00:00" + "time": "2023-07-17T12:08:28+00:00" }, { "name": "psr/cache", @@ -5281,28 +5158,28 @@ }, { "name": "sebastian/cli-parser", - "version": "1.0.1", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", - "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", + "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -5325,7 +5202,7 @@ "homepage": "https://github.com/sebastianbergmann/cli-parser", "support": { "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" }, "funding": [ { @@ -5333,32 +5210,32 @@ "type": "github" } ], - "time": "2020-09-28T06:08:49+00:00" + "time": "2023-02-03T06:58:15+00:00" }, { "name": "sebastian/code-unit", - "version": "1.0.8", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", + "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -5381,7 +5258,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit", "support": { "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" }, "funding": [ { @@ -5389,32 +5266,32 @@ "type": "github" } ], - "time": "2020-10-26T13:08:54+00:00" + "time": "2023-02-03T06:58:43+00:00" }, { "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", + "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5436,7 +5313,7 @@ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" }, "funding": [ { @@ -5444,34 +5321,36 @@ "type": "github" } ], - "time": "2020-09-28T05:30:19+00:00" + "time": "2023-02-03T06:59:15+00:00" }, { "name": "sebastian/comparator", - "version": "4.0.8", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/72f01e6586e0caf6af81297897bd112eb7e9627c", + "reference": "72f01e6586e0caf6af81297897bd112eb7e9627c", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" + "ext-dom": "*", + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/diff": "^5.0", + "sebastian/exporter": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -5510,7 +5389,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.0" }, "funding": [ { @@ -5518,33 +5397,33 @@ "type": "github" } ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2023-02-03T07:07:16+00:00" }, { "name": "sebastian/complexity", - "version": "2.0.2", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", - "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/e67d240970c9dc7ea7b2123a6d520e334dd61dc6", + "reference": "e67d240970c9dc7ea7b2123a6d520e334dd61dc6", "shasum": "" }, "require": { - "nikic/php-parser": "^4.7", - "php": ">=7.3" + "nikic/php-parser": "^4.10", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -5567,7 +5446,7 @@ "homepage": "https://github.com/sebastianbergmann/complexity", "support": { "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + "source": "https://github.com/sebastianbergmann/complexity/tree/3.0.0" }, "funding": [ { @@ -5575,33 +5454,33 @@ "type": "github" } ], - "time": "2020-10-26T15:52:27+00:00" + "time": "2023-02-03T06:59:47+00:00" }, { "name": "sebastian/diff", - "version": "4.0.5", + "version": "5.0.3", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", - "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", + "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3", + "phpunit/phpunit": "^10.0", "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -5633,7 +5512,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" }, "funding": [ { @@ -5641,27 +5521,27 @@ "type": "github" } ], - "time": "2023-05-07T05:35:17+00:00" + "time": "2023-05-01T07:48:21+00:00" }, { "name": "sebastian/environment", - "version": "5.1.5", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", + "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "suggest": { "ext-posix": "*" @@ -5669,7 +5549,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "5.1-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -5688,7 +5568,7 @@ } ], "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "homepage": "https://github.com/sebastianbergmann/environment", "keywords": [ "Xdebug", "environment", @@ -5696,7 +5576,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + "security": "https://github.com/sebastianbergmann/environment/security/policy", + "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" }, "funding": [ { @@ -5704,34 +5585,34 @@ "type": "github" } ], - "time": "2023-02-03T06:03:51+00:00" + "time": "2023-04-11T05:39:26+00:00" }, { "name": "sebastian/exporter", - "version": "4.0.5", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", - "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", + "reference": "f3ec4bf931c0b31e5b413f5b4fc970a7d03338c0", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" + "ext-mbstring": "*", + "php": ">=8.1", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -5773,7 +5654,7 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/exporter/tree/5.0.0" }, "funding": [ { @@ -5781,38 +5662,35 @@ "type": "github" } ], - "time": "2022-09-14T06:03:37+00:00" + "time": "2023-02-03T07:06:49+00:00" }, { "name": "sebastian/global-state", - "version": "5.0.5", + "version": "6.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2" + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/0ca8db5a5fc9c8646244e629625ac486fa286bf2", - "reference": "0ca8db5a5fc9c8646244e629625ac486fa286bf2", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", + "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -5837,7 +5715,8 @@ ], "support": { "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.5" + "security": "https://github.com/sebastianbergmann/global-state/security/policy", + "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" }, "funding": [ { @@ -5845,33 +5724,33 @@ "type": "github" } ], - "time": "2022-02-14T08:28:10+00:00" + "time": "2023-07-19T07:19:23+00:00" }, { "name": "sebastian/lines-of-code", - "version": "1.0.3", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", - "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/17c4d940ecafb3d15d2cf916f4108f664e28b130", + "reference": "17c4d940ecafb3d15d2cf916f4108f664e28b130", "shasum": "" }, "require": { - "nikic/php-parser": "^4.6", - "php": ">=7.3" + "nikic/php-parser": "^4.10", + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-main": "2.0-dev" } }, "autoload": { @@ -5894,7 +5773,7 @@ "homepage": "https://github.com/sebastianbergmann/lines-of-code", "support": { "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.0" }, "funding": [ { @@ -5902,34 +5781,34 @@ "type": "github" } ], - "time": "2020-11-28T06:42:11+00:00" + "time": "2023-02-03T07:08:02+00:00" }, { "name": "sebastian/object-enumerator", - "version": "4.0.4", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", + "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" + "php": ">=8.1", + "sebastian/object-reflector": "^3.0", + "sebastian/recursion-context": "^5.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -5951,7 +5830,7 @@ "homepage": "https://github.com/sebastianbergmann/object-enumerator/", "support": { "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" }, "funding": [ { @@ -5959,32 +5838,32 @@ "type": "github" } ], - "time": "2020-10-26T13:12:34+00:00" + "time": "2023-02-03T07:08:32+00:00" }, { "name": "sebastian/object-reflector", - "version": "2.0.4", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", + "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-main": "3.0-dev" } }, "autoload": { @@ -6006,7 +5885,7 @@ "homepage": "https://github.com/sebastianbergmann/object-reflector/", "support": { "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" }, "funding": [ { @@ -6014,32 +5893,32 @@ "type": "github" } ], - "time": "2020-10-26T13:14:26+00:00" + "time": "2023-02-03T07:06:18+00:00" }, { "name": "sebastian/recursion-context", - "version": "4.0.5", + "version": "5.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + "reference": "05909fb5bc7df4c52992396d0116aed689f93712" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", + "reference": "05909fb5bc7df4c52992396d0116aed689f93712", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-main": "5.0-dev" } }, "autoload": { @@ -6069,7 +5948,7 @@ "homepage": "https://github.com/sebastianbergmann/recursion-context", "support": { "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" }, "funding": [ { @@ -6077,87 +5956,32 @@ "type": "github" } ], - "time": "2023-02-03T06:07:39+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", - "support": { - "issues": "https://github.com/sebastianbergmann/resource-operations/issues", - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:45:17+00:00" + "time": "2023-02-03T07:05:40+00:00" }, { "name": "sebastian/type", - "version": "3.2.1", + "version": "4.0.0", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", + "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "phpunit/phpunit": "^10.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -6180,7 +6004,7 @@ "homepage": "https://github.com/sebastianbergmann/type", "support": { "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" }, "funding": [ { @@ -6188,29 +6012,29 @@ "type": "github" } ], - "time": "2023-02-03T06:13:03+00:00" + "time": "2023-02-03T07:10:45+00:00" }, { "name": "sebastian/version", - "version": "3.0.2", + "version": "4.0.1", "source": { "type": "git", "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", + "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-main": "4.0-dev" } }, "autoload": { @@ -6233,7 +6057,7 @@ "homepage": "https://github.com/sebastianbergmann/version", "support": { "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" }, "funding": [ { @@ -6241,7 +6065,7 @@ "type": "github" } ], - "time": "2020-09-28T06:39:44+00:00" + "time": "2023-02-07T11:34:05+00:00" }, { "name": "seld/jsonlint", @@ -6307,6 +6131,69 @@ ], "time": "2023-05-11T13:16:46+00:00" }, + { + "name": "spatie/array-to-xml", + "version": "3.2.0", + "source": { + "type": "git", + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/f9ab39c808500c347d5a8b6b13310bd5221e39e7", + "reference": "f9ab39c808500c347d5a8b6b13310bd5221e39e7", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\ArrayToXml\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], + "support": { + "source": "https://github.com/spatie/array-to-xml/tree/3.2.0" + }, + "funding": [ + { + "url": "https://spatie.be/open-source/support-us", + "type": "custom" + }, + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2023-07-19T18:30:26+00:00" + }, { "name": "symfony/options-resolver", "version": "v6.3.0", @@ -6770,24 +6657,24 @@ }, { "name": "vimeo/psalm", - "version": "4.30.0", + "version": "5.13.1", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69" + "reference": "086b94371304750d1c673315321a55d15fc59015" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d0bc6e25d89f649e4f36a534f330f8bb4643dd69", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/086b94371304750d1c673315321a55d15fc59015", + "reference": "086b94371304750d1c673315321a55d15fc59015", "shasum": "" }, "require": { "amphp/amp": "^2.4.2", "amphp/byte-stream": "^1.5", - "composer/package-versions-deprecated": "^1.8.0", + "composer-runtime-api": "^2", "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", "dnoegel/php-xdg-base-dir": "^0.1.1", "ext-ctype": "*", "ext-dom": "*", @@ -6796,35 +6683,35 @@ "ext-mbstring": "*", "ext-simplexml": "*", "ext-tokenizer": "*", - "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.5", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.2", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.13", - "openlss/lib-array2xml": "^1.0", - "php": "^7.1|^8", - "sebastian/diff": "^3.0 || ^4.0", - "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0", - "symfony/polyfill-php80": "^1.25", - "webmozart/path-util": "^2.3" + "nikic/php-parser": "^4.14", + "php": "^7.4 || ~8.0.0 || ~8.1.0 || ~8.2.0", + "sebastian/diff": "^4.0 || ^5.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^4.1.6 || ^5.0 || ^6.0", + "symfony/filesystem": "^5.4 || ^6.0" }, "provide": { "psalm/psalm": "self.version" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "brianium/paratest": "^4.0||^6.0", + "amphp/phpunit-util": "^2.0", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpdocumentor/reflection-docblock": "^5", - "phpmyadmin/sql-parser": "5.1.0||dev-master", - "phpspec/prophecy": ">=1.9.0", - "phpstan/phpdoc-parser": "1.2.* || 1.6.4", - "phpunit/phpunit": "^9.0", - "psalm/plugin-phpunit": "^0.16", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3 || ^5.0 || ^6.0", - "weirdan/prophecy-shim": "^1.0 || ^2.0" + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^4.4 || ^5.0 || ^6.0" }, "suggest": { "ext-curl": "In order to send data to shepherd", @@ -6840,17 +6727,14 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.x-dev", + "dev-master": "5.x-dev", + "dev-4.x": "4.x-dev", "dev-3.x": "3.x-dev", "dev-2.x": "2.x-dev", "dev-1.x": "1.x-dev" } }, "autoload": { - "files": [ - "src/functions.php", - "src/spl_object_id.php" - ], "psr-4": { "Psalm\\": "src/Psalm/" } @@ -6868,13 +6752,14 @@ "keywords": [ "code", "inspection", - "php" + "php", + "static analysis" ], "support": { "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.30.0" + "source": "https://github.com/vimeo/psalm/tree/5.13.1" }, - "time": "2022-11-06T20:37:08+00:00" + "time": "2023-06-27T16:39:49+00:00" }, { "name": "webmozart/assert", @@ -6933,57 +6818,6 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "support": { - "issues": "https://github.com/webmozart/path-util/issues", - "source": "https://github.com/webmozart/path-util/tree/2.3.0" - }, - "abandoned": "symfony/filesystem", - "time": "2015-12-17T08:42:14+00:00" } ], "aliases": [], diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 2179a7b46..bb0c56643 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,23 +1,14 @@ - - - - ./tests/ - - - - - ./src - - + + + + ./tests/ + + + + + + ./src + + diff --git a/psalm.xml b/psalm.xml index 57e2f66df..7e4e7b588 100644 --- a/psalm.xml +++ b/psalm.xml @@ -9,6 +9,8 @@ xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd" errorBaseline="baseline.xml" cacheDirectory="./.cache/psalm" + findUnusedBaselineEntry="true" + findUnusedCode="false" > diff --git a/src/Contract/Result/Error.php b/src/Contract/Result/Error.php index 0685d9499..1f5f34c95 100644 --- a/src/Contract/Result/Error.php +++ b/src/Contract/Result/Error.php @@ -13,7 +13,7 @@ final class Error implements Stringable { public function __construct(private readonly string $message) {} - public function __toString() + public function __toString(): string { return $this->message; } diff --git a/src/Contract/Result/Warning.php b/src/Contract/Result/Warning.php index b68ae4094..82017ad69 100644 --- a/src/Contract/Result/Warning.php +++ b/src/Contract/Result/Warning.php @@ -30,7 +30,7 @@ public static function tokenIsInMoreThanOneLayer( )); } - public function __toString() + public function __toString(): string { return $this->message; } diff --git a/src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php b/src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php index 31b3bb799..fe307a13f 100644 --- a/src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php +++ b/src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php @@ -47,11 +47,17 @@ public function invoke(ProcessEvent $event): void } } + /** + * @psalm-pure + */ public function ruleName(): string { return 'DependsOnDisallowedLayer'; } + /** + * @psalm-pure + */ public function ruleDescription(): string { return 'You are depending on token that is a part of a layer that you are not allowed to depend on.'; diff --git a/src/Core/Analyser/EventHandler/DependsOnInternalToken.php b/src/Core/Analyser/EventHandler/DependsOnInternalToken.php index e689af9c6..71d1017b5 100644 --- a/src/Core/Analyser/EventHandler/DependsOnInternalToken.php +++ b/src/Core/Analyser/EventHandler/DependsOnInternalToken.php @@ -37,11 +37,17 @@ public function invoke(ProcessEvent $event): void } } + /** + * @psalm-pure + */ public function ruleName(): string { return 'DependsOnInternalToken'; } + /** + * @psalm-pure + */ public function ruleDescription(): string { return 'You are depending on a token that is internal to the layer and you are not part of that layer.'; diff --git a/src/Core/Analyser/EventHandler/DependsOnPrivateLayer.php b/src/Core/Analyser/EventHandler/DependsOnPrivateLayer.php index 50cca011f..70554fa95 100644 --- a/src/Core/Analyser/EventHandler/DependsOnPrivateLayer.php +++ b/src/Core/Analyser/EventHandler/DependsOnPrivateLayer.php @@ -34,11 +34,17 @@ public function invoke(ProcessEvent $event): void } } + /** + * @psalm-pure + */ public function ruleName(): string { return 'DependsOnPrivateLayer'; } + /** + * @psalm-pure + */ public function ruleDescription(): string { return 'You are depending on a part of a layer that was defined as private to that layer and you are not part of that layer.'; diff --git a/tests/Core/Ast/Parser/TypeResolverTest.php b/tests/Core/Ast/Parser/TypeResolverTest.php index 2a39829ed..4422182ff 100644 --- a/tests/Core/Ast/Parser/TypeResolverTest.php +++ b/tests/Core/Ast/Parser/TypeResolverTest.php @@ -39,7 +39,7 @@ public function testResolvePHPStanDocParserType(string $doc, array $types): void self::assertSame($types, $resolvedTypes); } - public function docBlockProvider(): iterable + public static function docBlockProvider(): iterable { yield ['doc' => 'array', 'types' => ['\\Test\\DataProviderTestSuite', '\\Test\\TestCase']]; yield ['doc' => 'array>>', 'types' => []]; diff --git a/tests/Core/Dependency/DependencyResolverTest.php b/tests/Core/Dependency/DependencyResolverTest.php index d2987f754..673f3a914 100644 --- a/tests/Core/Dependency/DependencyResolverTest.php +++ b/tests/Core/Dependency/DependencyResolverTest.php @@ -51,13 +51,13 @@ public function testResolveWithDefaultEmitters(): void { $astMap = new AstMap([]); - $this->dispatcher->method('dispatch')->withConsecutive( - [new PreEmitEvent('ClassDependencyEmitter')], - [new PostEmitEvent()], - [new PreEmitEvent('UsesDependencyEmitter')], - [new PostEmitEvent()], - [new PreFlattenEvent()], - [new PostFlattenEvent()] + $this->dispatcher->method('dispatch')->willReturnOnConsecutiveCalls( + new PreEmitEvent('ClassDependencyEmitter'), + new PostEmitEvent(), + new PreEmitEvent('UsesDependencyEmitter'), + new PostEmitEvent(), + new PreFlattenEvent(), + new PostFlattenEvent() ); $this->flattener->expects(self::once())->method('flattenDependencies'); @@ -78,11 +78,11 @@ public function testResolveWithCustomEmitters(): void { $astMap = new AstMap([]); - $this->dispatcher->method('dispatch')->withConsecutive( - [new PreEmitEvent('FunctionDependencyEmitter')], - [new PostEmitEvent()], - [new PreFlattenEvent()], - [new PostFlattenEvent()] + $this->dispatcher->method('dispatch')->willReturnOnConsecutiveCalls( + new PreEmitEvent('FunctionDependencyEmitter'), + new PostEmitEvent(), + new PreFlattenEvent(), + new PostFlattenEvent() ); $this->flattener->expects(self::once())->method('flattenDependencies'); diff --git a/tests/Core/InputCollector/PathNameFilterIteratorTest.php b/tests/Core/InputCollector/PathNameFilterIteratorTest.php index 1190df942..db551e2a2 100644 --- a/tests/Core/InputCollector/PathNameFilterIteratorTest.php +++ b/tests/Core/InputCollector/PathNameFilterIteratorTest.php @@ -35,7 +35,7 @@ static function (SplFileInfo $fileInfo) { self::assertSame($resultArray, $values); } - public function getTestFilterData(): array + public static function getTestFilterData(): array { $inner = new ArrayIterator(); diff --git a/tests/Core/Layer/Collector/AttributeCollectorTest.php b/tests/Core/Layer/Collector/AttributeCollectorTest.php index e4023e37c..3ddb44152 100644 --- a/tests/Core/Layer/Collector/AttributeCollectorTest.php +++ b/tests/Core/Layer/Collector/AttributeCollectorTest.php @@ -19,7 +19,7 @@ protected function setUp(): void $this->collector = new AttributeCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield 'matches usage of attribute with only partial name' => [ ['value' => 'MyAttribute'], diff --git a/tests/Core/Layer/Collector/BoolCollectorTest.php b/tests/Core/Layer/Collector/BoolCollectorTest.php index f54cad225..52ee75596 100644 --- a/tests/Core/Layer/Collector/BoolCollectorTest.php +++ b/tests/Core/Layer/Collector/BoolCollectorTest.php @@ -40,7 +40,7 @@ protected function setUp(): void $this->collector = new BoolCollector($resolver); } - public function provideResolvableConfiguration(): iterable + public static function provideResolvableConfiguration(): iterable { yield 'must with resolvable collector' => [ [ @@ -199,7 +199,7 @@ public function testResolvable(array $config, bool $expectedOutcome): void self::assertSame($expectedOutcome, $actualOutcome); } - public function providesatisfiableConfiguration(): iterable + public static function providesatisfiableConfiguration(): iterable { yield 'must with satisfiable collector' => [ [ diff --git a/tests/Core/Layer/Collector/ClassCollectorTest.php b/tests/Core/Layer/Collector/ClassCollectorTest.php index bb9e63390..329426ce6 100644 --- a/tests/Core/Layer/Collector/ClassCollectorTest.php +++ b/tests/Core/Layer/Collector/ClassCollectorTest.php @@ -20,7 +20,7 @@ public function setUp(): void $this->sut = new ClassCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Bar', true]; yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Baz', false]; @@ -39,7 +39,7 @@ public function testSatisfy(array $configuration, string $className, bool $expec self::assertSame($expected, $stat); } - public function provideTypes(): iterable + public static function provideTypes(): iterable { yield 'classLike' => [ClassLikeType::TYPE_CLASSLIKE, false]; yield 'class' => [ClassLikeType::TYPE_CLASS, true]; diff --git a/tests/Core/Layer/Collector/ClassLikeCollectorTest.php b/tests/Core/Layer/Collector/ClassLikeCollectorTest.php index c61d8e630..5d5ccb793 100644 --- a/tests/Core/Layer/Collector/ClassLikeCollectorTest.php +++ b/tests/Core/Layer/Collector/ClassLikeCollectorTest.php @@ -20,7 +20,7 @@ public function setUp(): void $this->sut = new ClassLikeCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Bar', true]; yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Baz', false]; @@ -39,7 +39,7 @@ public function testSatisfy(array $configuration, string $className, bool $expec self::assertSame($expected, $stat); } - public function provideTypes(): iterable + public static function provideTypes(): iterable { yield 'classLike' => [ClassLikeType::TYPE_CLASSLIKE, true]; yield 'class' => [ClassLikeType::TYPE_CLASS, true]; diff --git a/tests/Core/Layer/Collector/ClassNameRegexCollectorTest.php b/tests/Core/Layer/Collector/ClassNameRegexCollectorTest.php index 10969f39d..04f9d4288 100644 --- a/tests/Core/Layer/Collector/ClassNameRegexCollectorTest.php +++ b/tests/Core/Layer/Collector/ClassNameRegexCollectorTest.php @@ -21,7 +21,7 @@ protected function setUp(): void $this->collector = new ClassNameRegexCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => '/^Foo\\\\Bar$/i'], 'Foo\\Bar', true]; yield [['value' => '/^Foo\\\\Bar$/i'], 'Foo\\Baz', false]; diff --git a/tests/Core/Layer/Collector/ComposerCollectorTest.php b/tests/Core/Layer/Collector/ComposerCollectorTest.php index 7a696feca..5dc376bed 100644 --- a/tests/Core/Layer/Collector/ComposerCollectorTest.php +++ b/tests/Core/Layer/Collector/ComposerCollectorTest.php @@ -19,7 +19,7 @@ public function setUp(): void $this->sut = new ComposerCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [ [ diff --git a/tests/Core/Layer/Collector/DirectoryCollectorTest.php b/tests/Core/Layer/Collector/DirectoryCollectorTest.php index cd89f0835..9b88db3f9 100644 --- a/tests/Core/Layer/Collector/DirectoryCollectorTest.php +++ b/tests/Core/Layer/Collector/DirectoryCollectorTest.php @@ -20,7 +20,7 @@ protected function setUp(): void $this->collector = new DirectoryCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'foo/layer1/.*'], 'foo/layer1/bar.php', true]; yield [['value' => 'foo/layer1/.*'], 'foo/layer1/dir/bar.php', true]; diff --git a/tests/Core/Layer/Collector/ExtendsCollectorTest.php b/tests/Core/Layer/Collector/ExtendsCollectorTest.php index a9a4d0a49..5190175db 100644 --- a/tests/Core/Layer/Collector/ExtendsCollectorTest.php +++ b/tests/Core/Layer/Collector/ExtendsCollectorTest.php @@ -12,7 +12,7 @@ final class ExtendsCollectorTest extends TestCase { - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'App\FizTrait'], false]; yield [['value' => 'App\Bar'], false]; diff --git a/tests/Core/Layer/Collector/FunctionNameCollectorTest.php b/tests/Core/Layer/Collector/FunctionNameCollectorTest.php index 6a10a0946..96ce2fc39 100644 --- a/tests/Core/Layer/Collector/FunctionNameCollectorTest.php +++ b/tests/Core/Layer/Collector/FunctionNameCollectorTest.php @@ -21,7 +21,7 @@ protected function setUp(): void $this->collector = new FunctionNameCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'a'], 'foo\bar', true]; yield [['value' => 'a'], 'foo\bbr', false]; diff --git a/tests/Core/Layer/Collector/GlobCollectorTest.php b/tests/Core/Layer/Collector/GlobCollectorTest.php index ca4b509b5..710550369 100644 --- a/tests/Core/Layer/Collector/GlobCollectorTest.php +++ b/tests/Core/Layer/Collector/GlobCollectorTest.php @@ -19,7 +19,7 @@ protected function setUp(): void $this->collector = new GlobCollector(__DIR__); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'foo/layer1/*'], 'foo/layer1/bar.php', true]; yield [['value' => 'foo/*/*.php'], 'foo/layer1/bar.php', true]; diff --git a/tests/Core/Layer/Collector/ImplementsCollectorTest.php b/tests/Core/Layer/Collector/ImplementsCollectorTest.php index 45631d2fb..be63dcf21 100644 --- a/tests/Core/Layer/Collector/ImplementsCollectorTest.php +++ b/tests/Core/Layer/Collector/ImplementsCollectorTest.php @@ -12,7 +12,7 @@ final class ImplementsCollectorTest extends TestCase { - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'App\FizTrait'], false]; yield [['value' => 'App\Bar'], true]; diff --git a/tests/Core/Layer/Collector/InheritanceLevelCollectorTest.php b/tests/Core/Layer/Collector/InheritanceLevelCollectorTest.php index c578c9d67..3b1f415d0 100644 --- a/tests/Core/Layer/Collector/InheritanceLevelCollectorTest.php +++ b/tests/Core/Layer/Collector/InheritanceLevelCollectorTest.php @@ -14,7 +14,7 @@ final class InheritanceLevelCollectorTest extends TestCase { - public function dataTests(): array + public static function dataTests(): array { return [ [1, 1, true], diff --git a/tests/Core/Layer/Collector/InheritsCollectorTest.php b/tests/Core/Layer/Collector/InheritsCollectorTest.php index 1c1a145e5..e83cf3c1a 100644 --- a/tests/Core/Layer/Collector/InheritsCollectorTest.php +++ b/tests/Core/Layer/Collector/InheritsCollectorTest.php @@ -12,7 +12,7 @@ final class InheritsCollectorTest extends TestCase { - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'App\FizTrait'], true]; yield [['value' => 'App\Bar'], true]; diff --git a/tests/Core/Layer/Collector/InterfaceCollectorTest.php b/tests/Core/Layer/Collector/InterfaceCollectorTest.php index 2bc6ad544..f61337e89 100644 --- a/tests/Core/Layer/Collector/InterfaceCollectorTest.php +++ b/tests/Core/Layer/Collector/InterfaceCollectorTest.php @@ -20,7 +20,7 @@ public function setUp(): void $this->sut = new InterfaceCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Bar', true]; yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Baz', false]; @@ -39,7 +39,7 @@ public function testSatisfy(array $configuration, string $className, bool $expec self::assertEquals($expected, $stat); } - public function provideTypes(): iterable + public static function provideTypes(): iterable { yield 'classLike' => [ClassLikeType::TYPE_CLASSLIKE, false]; yield 'class' => [ClassLikeType::TYPE_CLASS, false]; diff --git a/tests/Core/Layer/Collector/MethodCollectorTest.php b/tests/Core/Layer/Collector/MethodCollectorTest.php index 6aa3d7be6..5ae05c23f 100644 --- a/tests/Core/Layer/Collector/MethodCollectorTest.php +++ b/tests/Core/Layer/Collector/MethodCollectorTest.php @@ -27,14 +27,14 @@ protected function setUp(): void $this->collector = new MethodCollector($this->astParser); } - public function provideSatisfy(): iterable + public static function provideSatisfy(): iterable { yield [ ['value' => 'abc'], [ - $this->getClassMethod('abc'), - $this->getClassMethod('abcdef'), - $this->getClassMethod('xyz'), + self::getClassMethod('abc'), + self::getClassMethod('abcdef'), + self::getClassMethod('xyz'), ], true, ]; @@ -42,8 +42,8 @@ public function provideSatisfy(): iterable yield [ ['value' => 'abc'], [ - $this->getClassMethod('abc'), - $this->getClassMethod('xyz'), + self::getClassMethod('abc'), + self::getClassMethod('xyz'), ], true, ]; @@ -51,7 +51,7 @@ public function provideSatisfy(): iterable yield [ ['value' => 'abc'], [ - $this->getClassMethod('xyz'), + self::getClassMethod('xyz'), ], false, ]; @@ -121,7 +121,7 @@ public function testInvalidRegexParam(): void ); } - private function getClassMethod(string $name): stdClass + private static function getClassMethod(string $name): stdClass { $classMethod = new stdClass(); $classMethod->name = $name; diff --git a/tests/Core/Layer/Collector/PHPInternalCollectorTest.php b/tests/Core/Layer/Collector/PHPInternalCollectorTest.php index 3c45e077b..44dd42546 100644 --- a/tests/Core/Layer/Collector/PHPInternalCollectorTest.php +++ b/tests/Core/Layer/Collector/PHPInternalCollectorTest.php @@ -17,7 +17,7 @@ final class PHPInternalCollectorTest extends TestCase /** * @return iterable */ - public function provideSatisfy(): iterable + public static function provideSatisfy(): iterable { yield [['value' => '^PDO'], new ClassLikeReference(ClassLikeToken::fromFQCN('PDOException')), true]; yield [['value' => '^PFO'], new ClassLikeReference(ClassLikeToken::fromFQCN('PDOException')), false]; diff --git a/tests/Core/Layer/Collector/SuperglobalCollectorTest.php b/tests/Core/Layer/Collector/SuperglobalCollectorTest.php index f5476a313..8631514e8 100644 --- a/tests/Core/Layer/Collector/SuperglobalCollectorTest.php +++ b/tests/Core/Layer/Collector/SuperglobalCollectorTest.php @@ -21,7 +21,7 @@ protected function setUp(): void $this->collector = new SuperglobalCollector(); } - public function provideSatisfy(): iterable + public static function provideSatisfy(): iterable { yield [['value' => ['_GET', '_SESSION']], '_GET', true]; yield [['value' => ['_COOKIE']], '_POST', false]; diff --git a/tests/Core/Layer/Collector/TraitCollectorTest.php b/tests/Core/Layer/Collector/TraitCollectorTest.php index 10795c019..fee879818 100644 --- a/tests/Core/Layer/Collector/TraitCollectorTest.php +++ b/tests/Core/Layer/Collector/TraitCollectorTest.php @@ -20,7 +20,7 @@ public function setUp(): void $this->sut = new TraitCollector(); } - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Bar', true]; yield [['value' => '^Foo\\\\Bar$'], 'Foo\\Baz', false]; @@ -39,7 +39,7 @@ public function testSatisfy(array $configuration, string $className, bool $expec self::assertEquals($expected, $stat); } - public function provideTypes(): iterable + public static function provideTypes(): iterable { yield 'classLike' => [ClassLikeType::TYPE_CLASSLIKE, false]; yield 'class' => [ClassLikeType::TYPE_CLASS, false]; diff --git a/tests/Core/Layer/Collector/UsesCollectorTest.php b/tests/Core/Layer/Collector/UsesCollectorTest.php index ee5056cce..f2374dcf0 100644 --- a/tests/Core/Layer/Collector/UsesCollectorTest.php +++ b/tests/Core/Layer/Collector/UsesCollectorTest.php @@ -12,7 +12,7 @@ final class UsesCollectorTest extends TestCase { - public function dataProviderSatisfy(): iterable + public static function dataProviderSatisfy(): iterable { yield [['value' => 'App\FizTrait'], true]; yield [['value' => 'App\Bar'], false]; diff --git a/tests/Core/Layer/LayerResolverTest.php b/tests/Core/Layer/LayerResolverTest.php index bea7d1999..2fc0e279d 100644 --- a/tests/Core/Layer/LayerResolverTest.php +++ b/tests/Core/Layer/LayerResolverTest.php @@ -15,7 +15,7 @@ final class LayerResolverTest extends TestCase { - public function provideInvalidLayerConfigs(): iterable + public static function provideInvalidLayerConfigs(): iterable { yield 'empty config' => [ [], diff --git a/tests/Supportive/OutputFormatter/BaselineOutputFormatterTest.php b/tests/Supportive/OutputFormatter/BaselineOutputFormatterTest.php index a0ea1144a..cb5eddba6 100644 --- a/tests/Supportive/OutputFormatter/BaselineOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/BaselineOutputFormatterTest.php @@ -33,7 +33,7 @@ public function testGetName(): void static::assertSame('baseline', (new BaselineOutputFormatter())->getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { $originalA = ClassLikeToken::fromFQCN('OriginalA'); $originalB = ClassLikeToken::fromFQCN('OriginalB'); diff --git a/tests/Supportive/OutputFormatter/CodeclimateOutputFormatterTest.php b/tests/Supportive/OutputFormatter/CodeclimateOutputFormatterTest.php index 84fe91899..ab23d1fce 100644 --- a/tests/Supportive/OutputFormatter/CodeclimateOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/CodeclimateOutputFormatterTest.php @@ -44,7 +44,7 @@ public function testGetName(): void self::assertSame('codeclimate', CodeclimateOutputFormatter::getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { yield 'Multiple violations' => [ [ diff --git a/tests/Supportive/OutputFormatter/ConsoleOutputFormatterTest.php b/tests/Supportive/OutputFormatter/ConsoleOutputFormatterTest.php index 6a0a74940..70c56181b 100644 --- a/tests/Supportive/OutputFormatter/ConsoleOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/ConsoleOutputFormatterTest.php @@ -35,7 +35,7 @@ public function testGetName(): void self::assertSame('console', (new ConsoleOutputFormatter())->getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { $originalA = ClassLikeToken::fromFQCN('OriginalA'); $originalB = ClassLikeToken::fromFQCN('OriginalB'); diff --git a/tests/Supportive/OutputFormatter/GithubActionsOutputFormatterTest.php b/tests/Supportive/OutputFormatter/GithubActionsOutputFormatterTest.php index 6e40db691..17f5b6038 100644 --- a/tests/Supportive/OutputFormatter/GithubActionsOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/GithubActionsOutputFormatterTest.php @@ -70,7 +70,7 @@ public function testFinish(array $rules, array $errors, array $warnings, string self::assertSame($expectedOutput, $bufferedOutput->fetch()); } - public function finishProvider(): iterable + public static function finishProvider(): iterable { yield 'No Rules, No Output' => [ 'rules' => [], diff --git a/tests/Supportive/OutputFormatter/JUnitOutputFormatterTest.php b/tests/Supportive/OutputFormatter/JUnitOutputFormatterTest.php index 1e23b76e6..31a689ce4 100644 --- a/tests/Supportive/OutputFormatter/JUnitOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/JUnitOutputFormatterTest.php @@ -42,7 +42,7 @@ public function testGetName(): void self::assertSame('junit', (new JUnitOutputFormatter())->getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { $originalA = ClassLikeToken::fromFQCN('OriginalA'); $originalB = ClassLikeToken::fromFQCN('OriginalB'); diff --git a/tests/Supportive/OutputFormatter/JsonOutputFormatterTest.php b/tests/Supportive/OutputFormatter/JsonOutputFormatterTest.php index 2243cffff..2a6316dc9 100644 --- a/tests/Supportive/OutputFormatter/JsonOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/JsonOutputFormatterTest.php @@ -43,7 +43,7 @@ public function testGetName(): void self::assertSame('json', (new JsonOutputFormatter())->getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { yield 'Multiple violations' => [ [ diff --git a/tests/Supportive/OutputFormatter/TableOutputFormatterTest.php b/tests/Supportive/OutputFormatter/TableOutputFormatterTest.php index b24de81cb..e14d14e18 100644 --- a/tests/Supportive/OutputFormatter/TableOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/TableOutputFormatterTest.php @@ -37,7 +37,7 @@ public function testGetName(): void static::assertSame('table', (new TableOutputFormatter())->getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { $originalA = ClassLikeToken::fromFQCN('OriginalA'); $originalB = ClassLikeToken::fromFQCN('OriginalB'); diff --git a/tests/Supportive/OutputFormatter/XMLOutputFormatterTest.php b/tests/Supportive/OutputFormatter/XMLOutputFormatterTest.php index f888361af..31ae363ae 100644 --- a/tests/Supportive/OutputFormatter/XMLOutputFormatterTest.php +++ b/tests/Supportive/OutputFormatter/XMLOutputFormatterTest.php @@ -41,7 +41,7 @@ public function testGetName(): void self::assertSame('xml', (new XMLOutputFormatter())->getName()); } - public function basicDataProvider(): iterable + public static function basicDataProvider(): iterable { yield [ [