diff --git a/.idea/php-test-framework.xml b/.idea/php-test-framework.xml
index 8df1288..20a85ab 100644
--- a/.idea/php-test-framework.xml
+++ b/.idea/php-test-framework.xml
@@ -5,7 +5,7 @@
-
+
diff --git a/.idea/php.xml b/.idea/php.xml
index 7321c98..3040e92 100644
--- a/.idea/php.xml
+++ b/.idea/php.xml
@@ -46,7 +46,7 @@
-
+
diff --git a/.idea/phpunit.xml b/.idea/phpunit.xml
index 395ca1f..8523430 100644
--- a/.idea/phpunit.xml
+++ b/.idea/phpunit.xml
@@ -3,7 +3,7 @@
diff --git a/composer.json b/composer.json
index 7ddb4aa..1d62cdd 100644
--- a/composer.json
+++ b/composer.json
@@ -1,7 +1,7 @@
{
"name": "goodboyalex/php_components_pack",
"description": "[RU] Набор компонентов для сайта на PHP / [EN] A set of components for PHP website",
- "minimum-stability": "dev",
+ "minimum-stability": "stable",
"keywords": [
"components"
],
diff --git a/composer.lock b/composer.lock
index 86e9e65..7f6e378 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,21 +4,21 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically"
],
- "content-hash": "397ce2fd8c196db9f04cbac66a42584e",
+ "content-hash": "3e8e67b45a0b9103475706ce9f6a3ba1",
"packages": [],
"packages-dev": [
{
"name": "myclabs/deep-copy",
- "version": "1.x-dev",
+ "version": "1.12.1",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "4764e040f8743e92b86c36f488f32d0265dd1dae"
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/4764e040f8743e92b86c36f488f32d0265dd1dae",
- "reference": "4764e040f8743e92b86c36f488f32d0265dd1dae",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@@ -34,7 +34,6 @@
"phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
- "default-branch": true,
"type": "library",
"autoload": {
"files": [
@@ -58,7 +57,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.x"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@@ -66,7 +65,7 @@
"type": "tidelift"
}
],
- "time": "2024-11-26T13:04:49+00:00"
+ "time": "2024-11-08T17:47:46+00:00"
},
{
"name": "nikic/php-parser",
@@ -128,7 +127,7 @@
},
{
"name": "phar-io/manifest",
- "version": "dev-master",
+ "version": "2.0.4",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
@@ -148,7 +147,6 @@
"phar-io/version": "^3.0.1",
"php": "^7.2 || ^8.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
@@ -247,44 +245,44 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "dev-main",
+ "version": "11.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "30b614244b02907cf0b2edc559fd5e24bd05ea57"
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/30b614244b02907cf0b2edc559fd5e24bd05ea57",
- "reference": "30b614244b02907cf0b2edc559fd5e24bd05ea57",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/418c59fd080954f8c4aa5631d9502ecda2387118",
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.4.0",
- "php": ">=8.3",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "sebastian/complexity": "^5.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/lines-of-code": "^4.0-dev",
- "sebastian/version": "^6.0-dev",
+ "nikic/php-parser": "^5.3.1",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.5.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.0.x-dev"
+ "dev-main": "11.0.x-dev"
}
},
"autoload": {
@@ -313,7 +311,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.8"
},
"funding": [
{
@@ -321,33 +319,32 @@
"type": "github"
}
],
- "time": "2025-01-28T10:09:07+00:00"
+ "time": "2024-12-11T12:34:27+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "dev-main",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a1339a60b2206324e440c4a3806bbd873fda0860"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a1339a60b2206324e440c4a3806bbd873fda0860",
- "reference": "a1339a60b2206324e440c4a3806bbd873fda0860",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -375,7 +372,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -383,37 +380,36 @@
"type": "github"
}
],
- "time": "2025-01-15T13:41:39+00:00"
+ "time": "2024-08-27T05:02:59+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "dev-main",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "a79e641e661a20d3b8c264b0b3b9eb0d98f98506"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/a79e641e661a20d3b8c264b0b3b9eb0d98f98506",
- "reference": "a79e641e661a20d3b8c264b0b3b9eb0d98f98506",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -440,7 +436,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -448,33 +444,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:05:12+00:00"
+ "time": "2024-07-03T05:07:44+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "dev-main",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0199874fd3f2ae19aa9813bdfcb68e67671eee64"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0199874fd3f2ae19aa9813bdfcb68e67671eee64",
- "reference": "0199874fd3f2ae19aa9813bdfcb68e67671eee64",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -501,7 +496,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -509,33 +504,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:08:04+00:00"
+ "time": "2024-07-03T05:08:43+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "dev-main",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "aa0f95babbd87f096f1c20364204f195dd4b4608"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/aa0f95babbd87f096f1c20364204f195dd4b4608",
- "reference": "aa0f95babbd87f096f1c20364204f195dd4b4608",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -562,7 +556,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"security": "https://github.com/sebastianbergmann/php-timer/security/policy",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -570,20 +564,20 @@
"type": "github"
}
],
- "time": "2025-01-16T08:10:48+00:00"
+ "time": "2024-07-03T05:09:35+00:00"
},
{
"name": "phpunit/phpunit",
- "version": "dev-main",
+ "version": "11.5.6",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "9f2ebaf18f7741a5ee587f80a42632edaa42d424"
+ "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9f2ebaf18f7741a5ee587f80a42632edaa42d424",
- "reference": "9f2ebaf18f7741a5ee587f80a42632edaa42d424",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3c3ae14c90f244cdda95028c3e469028e8d1c02c",
+ "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c",
"shasum": ""
},
"require": {
@@ -596,31 +590,34 @@
"myclabs/deep-copy": "^1.12.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
- "php": ">=8.3",
- "phpunit/php-code-coverage": "^12.0-dev",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-invoker": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "phpunit/php-timer": "^8.0-dev",
- "sebastian/cli-parser": "^4.0-dev",
- "sebastian/comparator": "^7.0-dev",
- "sebastian/diff": "^7.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/exporter": "^7.0-dev",
- "sebastian/global-state": "^8.0-dev",
- "sebastian/object-enumerator": "^7.0-dev",
- "sebastian/type": "^6.0-dev",
- "sebastian/version": "^6.0-dev",
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0.8",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.2",
+ "sebastian/comparator": "^6.3.0",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.3.0",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2",
"staabm/side-effects-detector": "^1.0.5"
},
- "default-branch": true,
+ "suggest": {
+ "ext-soap": "To be able to generate mocks based on WSDL files"
+ },
"bin": [
"phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.0-dev"
+ "dev-main": "11.5-dev"
}
},
"autoload": {
@@ -652,7 +649,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/main"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.6"
},
"funding": [
{
@@ -668,33 +665,32 @@
"type": "tidelift"
}
],
- "time": "2025-01-31T07:29:09+00:00"
+ "time": "2025-01-31T07:03:30+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "dev-main",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "7f79d38ab02a0cb4089f31207ca11b74f49c7848"
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7f79d38ab02a0cb4089f31207ca11b74f49c7848",
- "reference": "7f79d38ab02a0cb4089f31207ca11b74f49c7848",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -718,7 +714,120 @@
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/main"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-07-03T04:41:36+00:00"
+ },
+ {
+ "name": "sebastian/code-unit",
+ "version": "3.0.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^11.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.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",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-12-12T09:59:06+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "4.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^11.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
},
"funding": [
{
@@ -726,40 +835,39 @@
"type": "github"
}
],
- "time": "2025-01-16T08:13:26+00:00"
+ "time": "2024-07-03T04:45:54+00:00"
},
{
"name": "sebastian/comparator",
- "version": "dev-main",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "07f683f544931bc816c47faf894e387f2216a1e9"
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/07f683f544931bc816c47faf894e387f2216a1e9",
- "reference": "07f683f544931bc816c47faf894e387f2216a1e9",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.3",
- "sebastian/diff": "^7.0",
- "sebastian/exporter": "^7.0"
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.4"
},
"suggest": {
"ext-bcmath": "For comparing BcMath\\Number objects"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.2-dev"
}
},
"autoload": {
@@ -799,7 +907,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/main"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
},
"funding": [
{
@@ -807,34 +915,33 @@
"type": "github"
}
],
- "time": "2025-01-16T09:21:21+00:00"
+ "time": "2025-01-06T10:28:19+00:00"
},
{
"name": "sebastian/complexity",
- "version": "dev-main",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "eec688b04904c5ecfa3b94f59bc60485209805a9"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/eec688b04904c5ecfa3b94f59bc60485209805a9",
- "reference": "eec688b04904c5ecfa3b94f59bc60485209805a9",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -858,7 +965,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/main"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -866,34 +973,33 @@
"type": "github"
}
],
- "time": "2025-01-16T08:20:43+00:00"
+ "time": "2024-07-03T04:49:50+00:00"
},
{
"name": "sebastian/diff",
- "version": "dev-main",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "87a9594e6994ba8ee9010836903305a64c895083"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/87a9594e6994ba8ee9010836903305a64c895083",
- "reference": "87a9594e6994ba8ee9010836903305a64c895083",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -926,7 +1032,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/main"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -934,36 +1040,35 @@
"type": "github"
}
],
- "time": "2025-01-16T09:04:01+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "sebastian/environment",
- "version": "dev-main",
+ "version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "92b1a897b49e191a8fbca823d75bc0e157ff7cdb"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/92b1a897b49e191a8fbca823d75bc0e157ff7cdb",
- "reference": "92b1a897b49e191a8fbca823d75bc0e157ff7cdb",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.2-dev"
}
},
"autoload": {
@@ -991,7 +1096,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/main"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -999,35 +1104,34 @@
"type": "github"
}
],
- "time": "2025-01-16T08:28:42+00:00"
+ "time": "2024-07-03T04:54:44+00:00"
},
{
"name": "sebastian/exporter",
- "version": "dev-main",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "17e38c7a602c690c6f097b6aeaf47d0771ace9ca"
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/17e38c7a602c690c6f097b6aeaf47d0771ace9ca",
- "reference": "17e38c7a602c690c6f097b6aeaf47d0771ace9ca",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.3",
- "sebastian/recursion-context": "^7.0-dev"
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.3"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -1070,7 +1174,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/main"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
},
"funding": [
{
@@ -1078,36 +1182,35 @@
"type": "github"
}
],
- "time": "2025-01-16T08:54:00+00:00"
+ "time": "2024-12-05T09:17:50+00:00"
},
{
"name": "sebastian/global-state",
- "version": "dev-main",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "8a089e5a2a118a6725b603a47be1d1a9da1b9a68"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/8a089e5a2a118a6725b603a47be1d1a9da1b9a68",
- "reference": "8a089e5a2a118a6725b603a47be1d1a9da1b9a68",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
- "php": ">=8.3",
- "sebastian/object-reflector": "^5.0",
- "sebastian/recursion-context": "^7.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -1133,7 +1236,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/main"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -1141,34 +1244,33 @@
"type": "github"
}
],
- "time": "2025-01-16T09:14:38+00:00"
+ "time": "2024-07-03T04:57:36+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "dev-main",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "fe8070ab1160c447839048ab240c07c448caa2b2"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/fe8070ab1160c447839048ab240c07c448caa2b2",
- "reference": "fe8070ab1160c447839048ab240c07c448caa2b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -1192,7 +1294,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/main"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -1200,35 +1302,34 @@
"type": "github"
}
],
- "time": "2025-01-16T08:36:53+00:00"
+ "time": "2024-07-03T04:58:38+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "dev-main",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "250d806a14baca8c4b37823426277dbcb8d4440d"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/250d806a14baca8c4b37823426277dbcb8d4440d",
- "reference": "250d806a14baca8c4b37823426277dbcb8d4440d",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
- "php": ">=8.3",
- "sebastian/object-reflector": "^5.0",
- "sebastian/recursion-context": "^7.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1251,7 +1352,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
"security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/main"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -1259,33 +1360,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:38:51+00:00"
+ "time": "2024-07-03T05:00:13+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "dev-main",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "7dddd66b56ba05cb474de46b2b623e92b42bff3a"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/7dddd66b56ba05cb474de46b2b623e92b42bff3a",
- "reference": "7dddd66b56ba05cb474de46b2b623e92b42bff3a",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1308,7 +1408,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
"security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/main"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -1316,33 +1416,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:40:54+00:00"
+ "time": "2024-07-03T05:01:32+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "dev-main",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "c9442e27dc9965ad453397725830d8ecb5497410"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/c9442e27dc9965ad453397725830d8ecb5497410",
- "reference": "c9442e27dc9965ad453397725830d8ecb5497410",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1373,7 +1472,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/main"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -1381,33 +1480,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:53:18+00:00"
+ "time": "2024-07-03T05:10:34+00:00"
},
{
"name": "sebastian/type",
- "version": "dev-main",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "b07de32ccc63961cfcf87c4531816388dbaf264f"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b07de32ccc63961cfcf87c4531816388dbaf264f",
- "reference": "b07de32ccc63961cfcf87c4531816388dbaf264f",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.3"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -1431,7 +1529,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
- "source": "https://github.com/sebastianbergmann/type/tree/main"
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -1439,30 +1537,29 @@
"type": "github"
}
],
- "time": "2025-01-16T08:45:13+00:00"
+ "time": "2024-09-17T13:12:04+00:00"
},
{
"name": "sebastian/version",
- "version": "dev-main",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "3e8786f0e004140c3be066577af51e7ea0446e54"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e8786f0e004140c3be066577af51e7ea0446e54",
- "reference": "3e8786f0e004140c3be066577af51e7ea0446e54",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1486,7 +1583,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
"security": "https://github.com/sebastianbergmann/version/security/policy",
- "source": "https://github.com/sebastianbergmann/version/tree/main"
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -1494,7 +1591,7 @@
"type": "github"
}
],
- "time": "2025-01-16T08:47:17+00:00"
+ "time": "2024-10-09T05:16:32+00:00"
},
{
"name": "staabm/side-effects-detector",
@@ -1600,7 +1697,7 @@
}
],
"aliases": [],
- "minimum-stability": "dev",
+ "minimum-stability": "stable",
"stability-flags": {},
"prefer-stable": false,
"prefer-lowest": false,
diff --git a/sources/classes/ObjectArray.php b/sources/classes/ObjectArray.php
index ff34cb5..0c027a4 100644
--- a/sources/classes/ObjectArray.php
+++ b/sources/classes/ObjectArray.php
@@ -57,4 +57,30 @@ final class ObjectArray implements ArrayAccess, IteratorAggregate, Countable, IS
{
return $this->Container;
}
+
+ /**
+ * Очищает массив объектов, хранящийся в данном классе.
+ *
+ * @return void
+ */
+ public function Clear (): void
+ {
+ // Очищаем массив
+ unset($this->Container);
+
+ // Создаем новый массив
+ $this->Container = [];
+ }
+
+ /**
+ * Объединяет массив объектов, хранящийся в данном классе, с массивом объектов, переданным в качестве параметра.
+ *
+ * @param array $objects Массив объектов, который будет объединен с массивом объектов, хранящимся в данном классе.
+ *
+ * @return void
+ */
+ public function Merge (array $objects): void
+ {
+ $this->Container = array_merge($this->Container, $objects);
+ }
}
\ No newline at end of file
diff --git a/tests/classes/ObjectArrayTest.php b/tests/classes/ObjectArrayTest.php
index 8d8ac0f..b0fc351 100644
--- a/tests/classes/ObjectArrayTest.php
+++ b/tests/classes/ObjectArrayTest.php
@@ -122,46 +122,194 @@ class ObjectArrayTest extends TestCase
public function testDelete ()
{
+ $this->PrepareForTest();
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $a_Array->Delete(fn (A $a): bool => $a->b == 3);
+
+ $cnt = $a_Array->Count();
+ $this->assertEquals(2, $cnt);
+ }
+
+ public function testClear ()
+ {
+ $this->PrepareForTest();
+
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $a_Array->Clear();
+
+ $cnt = $a_Array->Count();
+ $this->assertEquals(0, $cnt);
+ }
+
+ public function testMerge ()
+ {
+ $this->PrepareForTest();
+
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $array2 = [
+ new A("d", 4, true),
+ new A("e", 5, false),
+ new A("f", 6, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $a_Array->Merge($array2);
+
+ $cnt = $a_Array->Count();
+ $this->assertEquals(6, $cnt);
+
+ $sr = $a_Array->Search('a', 'f');
+
+ $this->assertEquals(6, $sr->b);
}
public function testMaxBy ()
{
+ $this->PrepareForTest();
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $sr = $a_Array->MaxBy(fn (A $a) => $a->b);
+
+ $this->assertEquals("a", $sr->a);
}
public function testGetColumn ()
{
+ $this->PrepareForTest();
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $sr = $a_Array->GetColumn('a', fn (A $a): bool => $a->b < 3);
+
+ $this->assertIsArray($sr);
+ $this->assertSame(['c', 'b'], $sr);
}
public function testToArray ()
{
+ $this->PrepareForTest();
+
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $sr = $a_Array->ToArray();
+
+ $this->assertIsArray($sr);
+ $this->assertSame($array, $sr);
}
public function testMinBy ()
{
+ $this->PrepareForTest();
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $sr = $a_Array->MinBy(fn (A $a) => $a->b);
+
+ $this->assertEquals("b", $sr->a);
}
public function testIsExist ()
{
+ $this->PrepareForTest();
- }
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
- public function testSortCallback ()
- {
+ $a_Array = new ObjectArray($array);
+ $srTrue = $a_Array->IsExist(fn (A $a) => $a->b == 1);
+ $srFalse = $a_Array->IsExist(fn (A $a) => $a->b == 5);
+
+ $this->assertTrue($srTrue);
+ $this->assertFalse($srFalse);
}
public function testUpdate ()
{
+ $this->PrepareForTest();
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $a_Array->Update([new A("d", 3, true)], fn (A $a) => $a->a == "a");
+
+ $sr = $a_Array->Search("a", "d");
+
+ $this->assertEquals("3", $sr->b);
+ $this->assertTrue($sr->c);
}
public function testGetRow ()
{
+ $this->PrepareForTest();
+ $array = [
+ new A("a", 3, true),
+ new A("c", 2, false),
+ new A("b", 1, true),
+ ];
+
+ $a_Array = new ObjectArray($array);
+
+ $sr = $a_Array->GetRow(fn (A $a): bool => $a->b == 3);
+
+ $this->assertInstanceOf(A::class, $sr);
+ $this->assertEquals('a', $sr->a);
+ $this->assertTrue($sr->c);
}
}
\ No newline at end of file
diff --git a/vendor/composer/InstalledVersions.php b/vendor/composer/InstalledVersions.php
index 51e734a..6d29bff 100644
--- a/vendor/composer/InstalledVersions.php
+++ b/vendor/composer/InstalledVersions.php
@@ -32,6 +32,11 @@ class InstalledVersions
*/
private static $installed;
+ /**
+ * @var bool
+ */
+ private static $installedIsLocalDir;
+
/**
* @var bool|null
*/
@@ -309,6 +314,12 @@ class InstalledVersions
{
self::$installed = $data;
self::$installedByVendor = array();
+
+ // when using reload, we disable the duplicate protection to ensure that self::$installed data is
+ // always returned, but we cannot know whether it comes from the installed.php in __DIR__ or not,
+ // so we have to assume it does not, and that may result in duplicate data being returned when listing
+ // all installed packages for example
+ self::$installedIsLocalDir = false;
}
/**
@@ -322,19 +333,27 @@ class InstalledVersions
}
$installed = array();
+ $copiedLocalDir = false;
if (self::$canGetVendors) {
+ $selfDir = strtr(__DIR__, '\\', '/');
foreach (ClassLoader::getRegisteredLoaders() as $vendorDir => $loader) {
+ $vendorDir = strtr($vendorDir, '\\', '/');
if (isset(self::$installedByVendor[$vendorDir])) {
$installed[] = self::$installedByVendor[$vendorDir];
} elseif (is_file($vendorDir.'/composer/installed.php')) {
/** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */
$required = require $vendorDir.'/composer/installed.php';
- $installed[] = self::$installedByVendor[$vendorDir] = $required;
- if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) {
- self::$installed = $installed[count($installed) - 1];
+ self::$installedByVendor[$vendorDir] = $required;
+ $installed[] = $required;
+ if (self::$installed === null && $vendorDir.'/composer' === $selfDir) {
+ self::$installed = $required;
+ self::$installedIsLocalDir = true;
}
}
+ if (self::$installedIsLocalDir && $vendorDir.'/composer' === $selfDir) {
+ $copiedLocalDir = true;
+ }
}
}
@@ -350,7 +369,7 @@ class InstalledVersions
}
}
- if (self::$installed !== array()) {
+ if (self::$installed !== array() && !$copiedLocalDir) {
$installed[] = self::$installed;
}
diff --git a/vendor/composer/autoload_classmap.php b/vendor/composer/autoload_classmap.php
index 5fafdeb..6a99eed 100644
--- a/vendor/composer/autoload_classmap.php
+++ b/vendor/composer/autoload_classmap.php
@@ -7,32 +7,6 @@ $baseDir = dirname($vendorDir);
return array(
'Composer\\InstalledVersions' => $vendorDir . '/composer/InstalledVersions.php',
- 'DeepCopy\\DeepCopy' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php',
- 'DeepCopy\\Exception\\CloneException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php',
- 'DeepCopy\\Exception\\PropertyException' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php',
- 'DeepCopy\\Filter\\ChainableFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/ChainableFilter.php',
- 'DeepCopy\\Filter\\Doctrine\\DoctrineCollectionFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php',
- 'DeepCopy\\Filter\\Doctrine\\DoctrineEmptyCollectionFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php',
- 'DeepCopy\\Filter\\Doctrine\\DoctrineProxyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php',
- 'DeepCopy\\Filter\\Filter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php',
- 'DeepCopy\\Filter\\KeepFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php',
- 'DeepCopy\\Filter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php',
- 'DeepCopy\\Filter\\SetNullFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php',
- 'DeepCopy\\Matcher\\Doctrine\\DoctrineProxyMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php',
- 'DeepCopy\\Matcher\\Matcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php',
- 'DeepCopy\\Matcher\\PropertyMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php',
- 'DeepCopy\\Matcher\\PropertyNameMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php',
- 'DeepCopy\\Matcher\\PropertyTypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
- 'DeepCopy\\Reflection\\ReflectionHelper' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
- 'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
- 'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
- 'DeepCopy\\TypeFilter\\ReplaceFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
- 'DeepCopy\\TypeFilter\\ShallowCopyFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
- 'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
- 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php',
- 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php',
- 'DeepCopy\\TypeFilter\\TypeFilter' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php',
- 'DeepCopy\\TypeMatcher\\TypeMatcher' => $vendorDir . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php',
'PHPUnit\\Event\\Application\\Finished' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Application/Finished.php',
'PHPUnit\\Event\\Application\\FinishedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Application/FinishedSubscriber.php',
'PHPUnit\\Event\\Application\\Started' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Application/Started.php',
@@ -90,10 +64,11 @@ return array(
'PHPUnit\\Event\\Telemetry\\Info' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/Info.php',
'PHPUnit\\Event\\Telemetry\\MemoryMeter' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/MemoryMeter.php',
'PHPUnit\\Event\\Telemetry\\MemoryUsage' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/MemoryUsage.php',
+ 'PHPUnit\\Event\\Telemetry\\Php81GarbageCollectorStatusProvider' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php',
+ 'PHPUnit\\Event\\Telemetry\\Php83GarbageCollectorStatusProvider' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php',
'PHPUnit\\Event\\Telemetry\\Snapshot' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/Snapshot.php',
'PHPUnit\\Event\\Telemetry\\StopWatch' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/StopWatch.php',
'PHPUnit\\Event\\Telemetry\\System' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/System.php',
- 'PHPUnit\\Event\\Telemetry\\SystemGarbageCollectorStatusProvider' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemGarbageCollectorStatusProvider.php',
'PHPUnit\\Event\\Telemetry\\SystemMemoryMeter' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemMemoryMeter.php',
'PHPUnit\\Event\\Telemetry\\SystemStopWatch' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatch.php',
'PHPUnit\\Event\\Telemetry\\SystemStopWatchWithOffset' => $vendorDir . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php',
@@ -200,8 +175,14 @@ return array(
'PHPUnit\\Event\\Test\\MarkedIncompleteSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Outcome/MarkedIncompleteSubscriber.php',
'PHPUnit\\Event\\Test\\MockObjectCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreated.php',
'PHPUnit\\Event\\Test\\MockObjectCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreatedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForAbstractClassCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForAbstractClassCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\MockObjectForIntersectionOfInterfacesCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreated.php',
'PHPUnit\\Event\\Test\\MockObjectForIntersectionOfInterfacesCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreatedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForTraitCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForTraitCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreatedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\MockObjectFromWsdlCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php',
+ 'PHPUnit\\Event\\Test\\MockObjectFromWsdlCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\NoComparisonFailureException' => $vendorDir . '/phpunit/phpunit/src/Event/Exception/NoComparisonFailureException.php',
'PHPUnit\\Event\\Test\\NoticeTriggered' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggered.php',
'PHPUnit\\Event\\Test\\NoticeTriggeredSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggeredSubscriber.php',
@@ -243,6 +224,8 @@ return array(
'PHPUnit\\Event\\Test\\PrintedUnexpectedOutputSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/PrintedUnexpectedOutputSubscriber.php',
'PHPUnit\\Event\\Test\\Skipped' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Outcome/Skipped.php',
'PHPUnit\\Event\\Test\\SkippedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/Outcome/SkippedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\TestProxyCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php',
+ 'PHPUnit\\Event\\Test\\TestProxyCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\TestStubCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreated.php',
'PHPUnit\\Event\\Test\\TestStubCreatedSubscriber' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\TestStubForIntersectionOfInterfacesCreated' => $vendorDir . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubForIntersectionOfInterfacesCreated.php',
@@ -266,11 +249,8 @@ return array(
'PHPUnit\\Framework\\Attributes\\Before' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/Before.php',
'PHPUnit\\Framework\\Attributes\\BeforeClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php',
'PHPUnit\\Framework\\Attributes\\CoversClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversClass.php',
- 'PHPUnit\\Framework\\Attributes\\CoversClassesThatExtendClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatExtendClass.php',
- 'PHPUnit\\Framework\\Attributes\\CoversClassesThatImplementInterface' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatImplementInterface.php',
'PHPUnit\\Framework\\Attributes\\CoversFunction' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php',
'PHPUnit\\Framework\\Attributes\\CoversMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversMethod.php',
- 'PHPUnit\\Framework\\Attributes\\CoversNamespace' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversNamespace.php',
'PHPUnit\\Framework\\Attributes\\CoversNothing' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php',
'PHPUnit\\Framework\\Attributes\\CoversTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/CoversTrait.php',
'PHPUnit\\Framework\\Attributes\\DataProvider' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/DataProvider.php',
@@ -296,7 +276,6 @@ return array(
'PHPUnit\\Framework\\Attributes\\PostCondition' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/PostCondition.php',
'PHPUnit\\Framework\\Attributes\\PreCondition' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/PreCondition.php',
'PHPUnit\\Framework\\Attributes\\PreserveGlobalState' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/PreserveGlobalState.php',
- 'PHPUnit\\Framework\\Attributes\\RequiresEnvironmentVariable' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/RequiresEnvironmentVariable.php',
'PHPUnit\\Framework\\Attributes\\RequiresFunction' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/RequiresFunction.php',
'PHPUnit\\Framework\\Attributes\\RequiresMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/RequiresMethod.php',
'PHPUnit\\Framework\\Attributes\\RequiresOperatingSystem' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystem.php',
@@ -316,11 +295,8 @@ return array(
'PHPUnit\\Framework\\Attributes\\TestWithJson' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/TestWithJson.php',
'PHPUnit\\Framework\\Attributes\\Ticket' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/Ticket.php',
'PHPUnit\\Framework\\Attributes\\UsesClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesClass.php',
- 'PHPUnit\\Framework\\Attributes\\UsesClassesThatExtendClass' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatExtendClass.php',
- 'PHPUnit\\Framework\\Attributes\\UsesClassesThatImplementInterface' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatImplementInterface.php',
'PHPUnit\\Framework\\Attributes\\UsesFunction' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesFunction.php',
'PHPUnit\\Framework\\Attributes\\UsesMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesMethod.php',
- 'PHPUnit\\Framework\\Attributes\\UsesNamespace' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesNamespace.php',
'PHPUnit\\Framework\\Attributes\\UsesTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/UsesTrait.php',
'PHPUnit\\Framework\\Attributes\\WithoutErrorHandler' => $vendorDir . '/phpunit/phpunit/src/Framework/Attributes/WithoutErrorHandler.php',
'PHPUnit\\Framework\\CodeCoverageException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php',
@@ -402,26 +378,36 @@ return array(
'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
+ 'PHPUnit\\Framework\\MockObject\\CannotCloneTestDoubleForReadonlyClassException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotCloneTestDoubleForReadonlyClassException.php',
'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
+ 'PHPUnit\\Framework\\MockObject\\ErrorCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ErrorCloneMethod.php',
'PHPUnit\\Framework\\MockObject\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
+ 'PHPUnit\\Framework\\MockObject\\GeneratedAsMockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php',
+ 'PHPUnit\\Framework\\MockObject\\GeneratedAsTestStub' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\DoubledClass' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledClass.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\DoubledMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethod.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\DoubledMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethodSet.php',
'PHPUnit\\Framework\\MockObject\\Generator\\DuplicateMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/DuplicateMethodException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\Exception' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/Exception.php',
'PHPUnit\\Framework\\MockObject\\Generator\\Generator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php',
'PHPUnit\\Framework\\MockObject\\Generator\\HookedProperty' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/HookedProperty.php',
'PHPUnit\\Framework\\MockObject\\Generator\\HookedPropertyGenerator' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/HookedPropertyGenerator.php',
'PHPUnit\\Framework\\MockObject\\Generator\\InvalidMethodNameException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/InvalidMethodNameException.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\MethodNamedMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/MethodNamedMethodException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockClass' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethod.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\SoapExtensionNotAvailableException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/SoapExtensionNotAvailableException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\TemplateLoader' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/TemplateLoader.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\UnknownClassException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownClassException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\UnknownTraitException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTraitException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTypeException.php',
'PHPUnit\\Framework\\MockObject\\IncompatibleReturnValueException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php',
'PHPUnit\\Framework\\MockObject\\Invocation' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php',
@@ -439,6 +425,7 @@ return array(
'PHPUnit\\Framework\\MockObject\\MockObject' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObject.php',
'PHPUnit\\Framework\\MockObject\\MockObjectApi' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
+ 'PHPUnit\\Framework\\MockObject\\MutableStubApi' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MutableStubApi.php',
'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => $vendorDir . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
@@ -506,7 +493,7 @@ return array(
'PHPUnit\\Framework\\TestSuite' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuite.php',
'PHPUnit\\Framework\\TestSuiteIterator' => $vendorDir . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php',
'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
- 'PHPUnit\\Framework\\UnknownNativeTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownNativeTypeException.php',
+ 'PHPUnit\\Framework\\UnknownTypeException' => $vendorDir . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
'PHPUnit\\Logging\\EventLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/EventLogger.php',
'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
'PHPUnit\\Logging\\JUnit\\Subscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
@@ -563,6 +550,9 @@ return array(
'PHPUnit\\Logging\\TestDox\\TestTriggeredWarningSubscriber' => $vendorDir . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
'PHPUnit\\Metadata\\After' => $vendorDir . '/phpunit/phpunit/src/Metadata/After.php',
'PHPUnit\\Metadata\\AfterClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/AfterClass.php',
+ 'PHPUnit\\Metadata\\Annotation\\Parser\\DocBlock' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/Annotation/DocBlock.php',
+ 'PHPUnit\\Metadata\\Annotation\\Parser\\Registry' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/Annotation/Registry.php',
+ 'PHPUnit\\Metadata\\AnnotationsAreNotSupportedForInternalClassesException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/AnnotationsAreNotSupportedForInternalClassesException.php',
'PHPUnit\\Metadata\\Api\\CodeCoverage' => $vendorDir . '/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php',
'PHPUnit\\Metadata\\Api\\DataProvider' => $vendorDir . '/phpunit/phpunit/src/Metadata/Api/DataProvider.php',
'PHPUnit\\Metadata\\Api\\Dependencies' => $vendorDir . '/phpunit/phpunit/src/Metadata/Api/Dependencies.php',
@@ -573,12 +563,11 @@ return array(
'PHPUnit\\Metadata\\BackupStaticProperties' => $vendorDir . '/phpunit/phpunit/src/Metadata/BackupStaticProperties.php',
'PHPUnit\\Metadata\\Before' => $vendorDir . '/phpunit/phpunit/src/Metadata/Before.php',
'PHPUnit\\Metadata\\BeforeClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/BeforeClass.php',
+ 'PHPUnit\\Metadata\\Covers' => $vendorDir . '/phpunit/phpunit/src/Metadata/Covers.php',
'PHPUnit\\Metadata\\CoversClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversClass.php',
- 'PHPUnit\\Metadata\\CoversClassesThatExtendClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversClassesThatExtendClass.php',
- 'PHPUnit\\Metadata\\CoversClassesThatImplementInterface' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversClassesThatImplementInterface.php',
+ 'PHPUnit\\Metadata\\CoversDefaultClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversDefaultClass.php',
'PHPUnit\\Metadata\\CoversFunction' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversFunction.php',
'PHPUnit\\Metadata\\CoversMethod' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversMethod.php',
- 'PHPUnit\\Metadata\\CoversNamespace' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversNamespace.php',
'PHPUnit\\Metadata\\CoversNothing' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversNothing.php',
'PHPUnit\\Metadata\\CoversTrait' => $vendorDir . '/phpunit/phpunit/src/Metadata/CoversTrait.php',
'PHPUnit\\Metadata\\DataProvider' => $vendorDir . '/phpunit/phpunit/src/Metadata/DataProvider.php',
@@ -597,14 +586,16 @@ return array(
'PHPUnit\\Metadata\\MetadataCollection' => $vendorDir . '/phpunit/phpunit/src/Metadata/MetadataCollection.php',
'PHPUnit\\Metadata\\MetadataCollectionIterator' => $vendorDir . '/phpunit/phpunit/src/Metadata/MetadataCollectionIterator.php',
'PHPUnit\\Metadata\\NoVersionRequirementException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/NoVersionRequirementException.php',
+ 'PHPUnit\\Metadata\\Parser\\AnnotationParser' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/AnnotationParser.php',
'PHPUnit\\Metadata\\Parser\\AttributeParser' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/AttributeParser.php',
'PHPUnit\\Metadata\\Parser\\CachingParser' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/CachingParser.php',
'PHPUnit\\Metadata\\Parser\\Parser' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/Parser.php',
+ 'PHPUnit\\Metadata\\Parser\\ParserChain' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/ParserChain.php',
'PHPUnit\\Metadata\\Parser\\Registry' => $vendorDir . '/phpunit/phpunit/src/Metadata/Parser/Registry.php',
'PHPUnit\\Metadata\\PostCondition' => $vendorDir . '/phpunit/phpunit/src/Metadata/PostCondition.php',
'PHPUnit\\Metadata\\PreCondition' => $vendorDir . '/phpunit/phpunit/src/Metadata/PreCondition.php',
'PHPUnit\\Metadata\\PreserveGlobalState' => $vendorDir . '/phpunit/phpunit/src/Metadata/PreserveGlobalState.php',
- 'PHPUnit\\Metadata\\RequiresEnvironmentVariable' => $vendorDir . '/phpunit/phpunit/src/Metadata/RequiresEnvironmentVariable.php',
+ 'PHPUnit\\Metadata\\ReflectionException' => $vendorDir . '/phpunit/phpunit/src/Metadata/Exception/ReflectionException.php',
'PHPUnit\\Metadata\\RequiresFunction' => $vendorDir . '/phpunit/phpunit/src/Metadata/RequiresFunction.php',
'PHPUnit\\Metadata\\RequiresMethod' => $vendorDir . '/phpunit/phpunit/src/Metadata/RequiresMethod.php',
'PHPUnit\\Metadata\\RequiresOperatingSystem' => $vendorDir . '/phpunit/phpunit/src/Metadata/RequiresOperatingSystem.php',
@@ -620,12 +611,11 @@ return array(
'PHPUnit\\Metadata\\Test' => $vendorDir . '/phpunit/phpunit/src/Metadata/Test.php',
'PHPUnit\\Metadata\\TestDox' => $vendorDir . '/phpunit/phpunit/src/Metadata/TestDox.php',
'PHPUnit\\Metadata\\TestWith' => $vendorDir . '/phpunit/phpunit/src/Metadata/TestWith.php',
+ 'PHPUnit\\Metadata\\Uses' => $vendorDir . '/phpunit/phpunit/src/Metadata/Uses.php',
'PHPUnit\\Metadata\\UsesClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesClass.php',
- 'PHPUnit\\Metadata\\UsesClassesThatExtendClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesClassesThatExtendClass.php',
- 'PHPUnit\\Metadata\\UsesClassesThatImplementInterface' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesClassesThatImplementInterface.php',
+ 'PHPUnit\\Metadata\\UsesDefaultClass' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesDefaultClass.php',
'PHPUnit\\Metadata\\UsesFunction' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesFunction.php',
'PHPUnit\\Metadata\\UsesMethod' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesMethod.php',
- 'PHPUnit\\Metadata\\UsesNamespace' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesNamespace.php',
'PHPUnit\\Metadata\\UsesTrait' => $vendorDir . '/phpunit/phpunit/src/Metadata/UsesTrait.php',
'PHPUnit\\Metadata\\Version\\ComparisonRequirement' => $vendorDir . '/phpunit/phpunit/src/Metadata/Version/ComparisonRequirement.php',
'PHPUnit\\Metadata\\Version\\ConstraintRequirement' => $vendorDir . '/phpunit/phpunit/src/Metadata/Version/ConstraintRequirement.php',
@@ -923,6 +913,7 @@ return array(
'PHPUnit\\TextUI\\XmlConfiguration\\UpdateSchemaLocation' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/UpdateSchemaLocation.php',
'PHPUnit\\TextUI\\XmlConfiguration\\ValidationResult' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/ValidationResult.php',
'PHPUnit\\TextUI\\XmlConfiguration\\Validator' => $vendorDir . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/Validator.php',
+ 'PHPUnit\\Util\\Cloner' => $vendorDir . '/phpunit/phpunit/src/Util/Cloner.php',
'PHPUnit\\Util\\Color' => $vendorDir . '/phpunit/phpunit/src/Util/Color.php',
'PHPUnit\\Util\\Exception' => $vendorDir . '/phpunit/phpunit/src/Util/Exception/Exception.php',
'PHPUnit\\Util\\ExcludeList' => $vendorDir . '/phpunit/phpunit/src/Util/ExcludeList.php',
@@ -1021,270 +1012,6 @@ return array(
'PharIo\\Version\\VersionConstraintParser' => $vendorDir . '/phar-io/version/src/VersionConstraintParser.php',
'PharIo\\Version\\VersionConstraintValue' => $vendorDir . '/phar-io/version/src/VersionConstraintValue.php',
'PharIo\\Version\\VersionNumber' => $vendorDir . '/phar-io/version/src/VersionNumber.php',
- 'PhpParser\\Builder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder.php',
- 'PhpParser\\BuilderFactory' => $vendorDir . '/nikic/php-parser/lib/PhpParser/BuilderFactory.php',
- 'PhpParser\\BuilderHelpers' => $vendorDir . '/nikic/php-parser/lib/PhpParser/BuilderHelpers.php',
- 'PhpParser\\Builder\\ClassConst' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php',
- 'PhpParser\\Builder\\Class_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Class_.php',
- 'PhpParser\\Builder\\Declaration' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Declaration.php',
- 'PhpParser\\Builder\\EnumCase' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php',
- 'PhpParser\\Builder\\Enum_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Enum_.php',
- 'PhpParser\\Builder\\FunctionLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php',
- 'PhpParser\\Builder\\Function_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Function_.php',
- 'PhpParser\\Builder\\Interface_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Interface_.php',
- 'PhpParser\\Builder\\Method' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Method.php',
- 'PhpParser\\Builder\\Namespace_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php',
- 'PhpParser\\Builder\\Param' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Param.php',
- 'PhpParser\\Builder\\Property' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Property.php',
- 'PhpParser\\Builder\\TraitUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php',
- 'PhpParser\\Builder\\TraitUseAdaptation' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php',
- 'PhpParser\\Builder\\Trait_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Trait_.php',
- 'PhpParser\\Builder\\Use_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Builder/Use_.php',
- 'PhpParser\\Comment' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Comment.php',
- 'PhpParser\\Comment\\Doc' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Comment/Doc.php',
- 'PhpParser\\ConstExprEvaluationException' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php',
- 'PhpParser\\ConstExprEvaluator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php',
- 'PhpParser\\Error' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Error.php',
- 'PhpParser\\ErrorHandler' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ErrorHandler.php',
- 'PhpParser\\ErrorHandler\\Collecting' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php',
- 'PhpParser\\ErrorHandler\\Throwing' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php',
- 'PhpParser\\Internal\\DiffElem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php',
- 'PhpParser\\Internal\\Differ' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/Differ.php',
- 'PhpParser\\Internal\\PrintableNewAnonClassNode' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php',
- 'PhpParser\\Internal\\TokenPolyfill' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php',
- 'PhpParser\\Internal\\TokenStream' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php',
- 'PhpParser\\JsonDecoder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/JsonDecoder.php',
- 'PhpParser\\Lexer' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer.php',
- 'PhpParser\\Lexer\\Emulative' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php',
- 'PhpParser\\Lexer\\TokenEmulator\\AsymmetricVisibilityTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AsymmetricVisibilityTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\AttributeEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\EnumTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ExplicitOctalEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\KeywordEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\MatchTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\NullsafeTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\PropertyTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PropertyTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ReadonlyFunctionTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ReadonlyTokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ReverseEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\TokenEmulator' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php',
- 'PhpParser\\Modifiers' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Modifiers.php',
- 'PhpParser\\NameContext' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NameContext.php',
- 'PhpParser\\Node' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node.php',
- 'PhpParser\\NodeAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeAbstract.php',
- 'PhpParser\\NodeDumper' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeDumper.php',
- 'PhpParser\\NodeFinder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeFinder.php',
- 'PhpParser\\NodeTraverser' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeTraverser.php',
- 'PhpParser\\NodeTraverserInterface' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php',
- 'PhpParser\\NodeVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor.php',
- 'PhpParser\\NodeVisitorAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php',
- 'PhpParser\\NodeVisitor\\CloningVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php',
- 'PhpParser\\NodeVisitor\\CommentAnnotatingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php',
- 'PhpParser\\NodeVisitor\\FindingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php',
- 'PhpParser\\NodeVisitor\\FirstFindingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php',
- 'PhpParser\\NodeVisitor\\NameResolver' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php',
- 'PhpParser\\NodeVisitor\\NodeConnectingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php',
- 'PhpParser\\NodeVisitor\\ParentConnectingVisitor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php',
- 'PhpParser\\Node\\Arg' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Arg.php',
- 'PhpParser\\Node\\ArrayItem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php',
- 'PhpParser\\Node\\Attribute' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Attribute.php',
- 'PhpParser\\Node\\AttributeGroup' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php',
- 'PhpParser\\Node\\ClosureUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php',
- 'PhpParser\\Node\\ComplexType' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/ComplexType.php',
- 'PhpParser\\Node\\Const_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Const_.php',
- 'PhpParser\\Node\\DeclareItem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php',
- 'PhpParser\\Node\\Expr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr.php',
- 'PhpParser\\Node\\Expr\\ArrayDimFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php',
- 'PhpParser\\Node\\Expr\\ArrayItem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php',
- 'PhpParser\\Node\\Expr\\Array_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php',
- 'PhpParser\\Node\\Expr\\ArrowFunction' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php',
- 'PhpParser\\Node\\Expr\\Assign' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php',
- 'PhpParser\\Node\\Expr\\AssignOp' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Div' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php',
- 'PhpParser\\Node\\Expr\\AssignRef' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php',
- 'PhpParser\\Node\\Expr\\BinaryOp' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php',
- 'PhpParser\\Node\\Expr\\BitwiseNot' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php',
- 'PhpParser\\Node\\Expr\\BooleanNot' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php',
- 'PhpParser\\Node\\Expr\\CallLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php',
- 'PhpParser\\Node\\Expr\\Cast' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php',
- 'PhpParser\\Node\\Expr\\Cast\\Array_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Bool_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Double' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php',
- 'PhpParser\\Node\\Expr\\Cast\\Int_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Object_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php',
- 'PhpParser\\Node\\Expr\\Cast\\String_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Unset_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php',
- 'PhpParser\\Node\\Expr\\ClassConstFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php',
- 'PhpParser\\Node\\Expr\\Clone_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php',
- 'PhpParser\\Node\\Expr\\Closure' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php',
- 'PhpParser\\Node\\Expr\\ClosureUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php',
- 'PhpParser\\Node\\Expr\\ConstFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php',
- 'PhpParser\\Node\\Expr\\Empty_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php',
- 'PhpParser\\Node\\Expr\\Error' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php',
- 'PhpParser\\Node\\Expr\\ErrorSuppress' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php',
- 'PhpParser\\Node\\Expr\\Eval_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php',
- 'PhpParser\\Node\\Expr\\Exit_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php',
- 'PhpParser\\Node\\Expr\\FuncCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php',
- 'PhpParser\\Node\\Expr\\Include_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php',
- 'PhpParser\\Node\\Expr\\Instanceof_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php',
- 'PhpParser\\Node\\Expr\\Isset_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php',
- 'PhpParser\\Node\\Expr\\List_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php',
- 'PhpParser\\Node\\Expr\\Match_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php',
- 'PhpParser\\Node\\Expr\\MethodCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php',
- 'PhpParser\\Node\\Expr\\New_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php',
- 'PhpParser\\Node\\Expr\\NullsafeMethodCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php',
- 'PhpParser\\Node\\Expr\\NullsafePropertyFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php',
- 'PhpParser\\Node\\Expr\\PostDec' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php',
- 'PhpParser\\Node\\Expr\\PostInc' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php',
- 'PhpParser\\Node\\Expr\\PreDec' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php',
- 'PhpParser\\Node\\Expr\\PreInc' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php',
- 'PhpParser\\Node\\Expr\\Print_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php',
- 'PhpParser\\Node\\Expr\\PropertyFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php',
- 'PhpParser\\Node\\Expr\\ShellExec' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php',
- 'PhpParser\\Node\\Expr\\StaticCall' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php',
- 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php',
- 'PhpParser\\Node\\Expr\\Ternary' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php',
- 'PhpParser\\Node\\Expr\\Throw_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php',
- 'PhpParser\\Node\\Expr\\UnaryMinus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php',
- 'PhpParser\\Node\\Expr\\UnaryPlus' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php',
- 'PhpParser\\Node\\Expr\\Variable' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php',
- 'PhpParser\\Node\\Expr\\YieldFrom' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php',
- 'PhpParser\\Node\\Expr\\Yield_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php',
- 'PhpParser\\Node\\FunctionLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php',
- 'PhpParser\\Node\\Identifier' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Identifier.php',
- 'PhpParser\\Node\\InterpolatedStringPart' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php',
- 'PhpParser\\Node\\IntersectionType' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php',
- 'PhpParser\\Node\\MatchArm' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/MatchArm.php',
- 'PhpParser\\Node\\Name' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Name.php',
- 'PhpParser\\Node\\Name\\FullyQualified' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php',
- 'PhpParser\\Node\\Name\\Relative' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php',
- 'PhpParser\\Node\\NullableType' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/NullableType.php',
- 'PhpParser\\Node\\Param' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Param.php',
- 'PhpParser\\Node\\PropertyHook' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/PropertyHook.php',
- 'PhpParser\\Node\\PropertyItem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php',
- 'PhpParser\\Node\\Scalar' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar.php',
- 'PhpParser\\Node\\Scalar\\DNumber' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php',
- 'PhpParser\\Node\\Scalar\\Encapsed' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php',
- 'PhpParser\\Node\\Scalar\\EncapsedStringPart' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php',
- 'PhpParser\\Node\\Scalar\\Float_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php',
- 'PhpParser\\Node\\Scalar\\Int_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php',
- 'PhpParser\\Node\\Scalar\\InterpolatedString' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php',
- 'PhpParser\\Node\\Scalar\\LNumber' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php',
- 'PhpParser\\Node\\Scalar\\MagicConst' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\File' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Property' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php',
- 'PhpParser\\Node\\Scalar\\String_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php',
- 'PhpParser\\Node\\StaticVar' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/StaticVar.php',
- 'PhpParser\\Node\\Stmt' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt.php',
- 'PhpParser\\Node\\Stmt\\Block' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php',
- 'PhpParser\\Node\\Stmt\\Break_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php',
- 'PhpParser\\Node\\Stmt\\Case_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php',
- 'PhpParser\\Node\\Stmt\\Catch_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php',
- 'PhpParser\\Node\\Stmt\\ClassConst' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php',
- 'PhpParser\\Node\\Stmt\\ClassLike' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php',
- 'PhpParser\\Node\\Stmt\\ClassMethod' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php',
- 'PhpParser\\Node\\Stmt\\Class_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php',
- 'PhpParser\\Node\\Stmt\\Const_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php',
- 'PhpParser\\Node\\Stmt\\Continue_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php',
- 'PhpParser\\Node\\Stmt\\DeclareDeclare' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php',
- 'PhpParser\\Node\\Stmt\\Declare_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php',
- 'PhpParser\\Node\\Stmt\\Do_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php',
- 'PhpParser\\Node\\Stmt\\Echo_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php',
- 'PhpParser\\Node\\Stmt\\ElseIf_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php',
- 'PhpParser\\Node\\Stmt\\Else_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php',
- 'PhpParser\\Node\\Stmt\\EnumCase' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php',
- 'PhpParser\\Node\\Stmt\\Enum_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php',
- 'PhpParser\\Node\\Stmt\\Expression' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php',
- 'PhpParser\\Node\\Stmt\\Finally_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php',
- 'PhpParser\\Node\\Stmt\\For_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php',
- 'PhpParser\\Node\\Stmt\\Foreach_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php',
- 'PhpParser\\Node\\Stmt\\Function_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php',
- 'PhpParser\\Node\\Stmt\\Global_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php',
- 'PhpParser\\Node\\Stmt\\Goto_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php',
- 'PhpParser\\Node\\Stmt\\GroupUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php',
- 'PhpParser\\Node\\Stmt\\HaltCompiler' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php',
- 'PhpParser\\Node\\Stmt\\If_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php',
- 'PhpParser\\Node\\Stmt\\InlineHTML' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php',
- 'PhpParser\\Node\\Stmt\\Interface_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php',
- 'PhpParser\\Node\\Stmt\\Label' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php',
- 'PhpParser\\Node\\Stmt\\Namespace_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php',
- 'PhpParser\\Node\\Stmt\\Nop' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php',
- 'PhpParser\\Node\\Stmt\\Property' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php',
- 'PhpParser\\Node\\Stmt\\PropertyProperty' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php',
- 'PhpParser\\Node\\Stmt\\Return_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php',
- 'PhpParser\\Node\\Stmt\\StaticVar' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php',
- 'PhpParser\\Node\\Stmt\\Static_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php',
- 'PhpParser\\Node\\Stmt\\Switch_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php',
- 'PhpParser\\Node\\Stmt\\TraitUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php',
- 'PhpParser\\Node\\Stmt\\TraitUseAdaptation' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php',
- 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Alias' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php',
- 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Precedence' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php',
- 'PhpParser\\Node\\Stmt\\Trait_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php',
- 'PhpParser\\Node\\Stmt\\TryCatch' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php',
- 'PhpParser\\Node\\Stmt\\Unset_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php',
- 'PhpParser\\Node\\Stmt\\UseUse' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php',
- 'PhpParser\\Node\\Stmt\\Use_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php',
- 'PhpParser\\Node\\Stmt\\While_' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php',
- 'PhpParser\\Node\\UnionType' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/UnionType.php',
- 'PhpParser\\Node\\UseItem' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/UseItem.php',
- 'PhpParser\\Node\\VarLikeIdentifier' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php',
- 'PhpParser\\Node\\VariadicPlaceholder' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php',
- 'PhpParser\\Parser' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser.php',
- 'PhpParser\\ParserAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ParserAbstract.php',
- 'PhpParser\\ParserFactory' => $vendorDir . '/nikic/php-parser/lib/PhpParser/ParserFactory.php',
- 'PhpParser\\Parser\\Php7' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Php7.php',
- 'PhpParser\\Parser\\Php8' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Parser/Php8.php',
- 'PhpParser\\PhpVersion' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PhpVersion.php',
- 'PhpParser\\PrettyPrinter' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinter.php',
- 'PhpParser\\PrettyPrinterAbstract' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php',
- 'PhpParser\\PrettyPrinter\\Standard' => $vendorDir . '/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php',
- 'PhpParser\\Token' => $vendorDir . '/nikic/php-parser/lib/PhpParser/Token.php',
'SebastianBergmann\\CliParser\\AmbiguousOptionException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php',
'SebastianBergmann\\CliParser\\Exception' => $vendorDir . '/sebastian/cli-parser/src/exceptions/Exception.php',
'SebastianBergmann\\CliParser\\OptionDoesNotAllowArgumentException' => $vendorDir . '/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php',
@@ -1295,6 +1022,7 @@ return array(
'SebastianBergmann\\CodeCoverage\\CodeCoverage' => $vendorDir . '/phpunit/php-code-coverage/src/CodeCoverage.php',
'SebastianBergmann\\CodeCoverage\\Data\\ProcessedCodeCoverageData' => $vendorDir . '/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php',
'SebastianBergmann\\CodeCoverage\\Data\\RawCodeCoverageData' => $vendorDir . '/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php',
+ 'SebastianBergmann\\CodeCoverage\\DeadCodeDetectionNotSupportedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php',
'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/Driver.php',
'SebastianBergmann\\CodeCoverage\\Driver\\PathExistsButIsNotDirectoryException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/PathExistsButIsNotDirectoryException.php',
'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/PcovDriver.php',
@@ -1304,7 +1032,6 @@ return array(
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugDriver' => $vendorDir . '/phpunit/php-code-coverage/src/Driver/XdebugDriver.php',
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotAvailableException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XdebugNotAvailableException.php',
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotEnabledException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XdebugNotEnabledException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\XdebugVersionNotSupportedException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XdebugVersionNotSupportedException.php',
'SebastianBergmann\\CodeCoverage\\Exception' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/Exception.php',
'SebastianBergmann\\CodeCoverage\\FileCouldNotBeWrittenException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/FileCouldNotBeWrittenException.php',
'SebastianBergmann\\CodeCoverage\\Filter' => $vendorDir . '/phpunit/php-code-coverage/src/Filter.php',
@@ -1349,36 +1076,12 @@ return array(
'SebastianBergmann\\CodeCoverage\\StaticAnalysisCacheNotConfiguredException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/StaticAnalysisCacheNotConfiguredException.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CacheWarmer' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Class_' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Class_.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CodeUnitFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ExecutableLinesFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\FileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Function_' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Function_.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\IgnoredLinesFindingVisitor' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Interface_' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Interface_.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\LinesOfCode' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/LinesOfCode.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Method' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Method.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingFileAnalyser' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Trait_' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Trait_.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Visibility' => $vendorDir . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Visibility.php',
'SebastianBergmann\\CodeCoverage\\TestIdMissingException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/TestIdMissingException.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Class_' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Class_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ClassesThatExtendClass' => $vendorDir . '/phpunit/php-code-coverage/src/Target/ClassesThatExtendClass.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ClassesThatImplementInterface' => $vendorDir . '/phpunit/php-code-coverage/src/Target/ClassesThatImplementInterface.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Function_' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Function_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\InvalidCodeCoverageTargetException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/InvalidCodeCoverageTargetException.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\MapBuilder' => $vendorDir . '/phpunit/php-code-coverage/src/Target/MapBuilder.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Mapper' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Mapper.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Method' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Method.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Namespace_' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Namespace_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Target' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Target.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\TargetCollection' => $vendorDir . '/phpunit/php-code-coverage/src/Target/TargetCollection.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\TargetCollectionIterator' => $vendorDir . '/phpunit/php-code-coverage/src/Target/TargetCollectionIterator.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\TargetCollectionValidator' => $vendorDir . '/phpunit/php-code-coverage/src/Target/TargetCollectionValidator.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Trait_' => $vendorDir . '/phpunit/php-code-coverage/src/Target/Trait_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ValidationFailure' => $vendorDir . '/phpunit/php-code-coverage/src/Target/ValidationFailure.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ValidationResult' => $vendorDir . '/phpunit/php-code-coverage/src/Target/ValidationResult.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ValidationSuccess' => $vendorDir . '/phpunit/php-code-coverage/src/Target/ValidationSuccess.php',
'SebastianBergmann\\CodeCoverage\\Test\\TestSize\\Known' => $vendorDir . '/phpunit/php-code-coverage/src/TestSize/Known.php',
'SebastianBergmann\\CodeCoverage\\Test\\TestSize\\Large' => $vendorDir . '/phpunit/php-code-coverage/src/TestSize/Large.php',
'SebastianBergmann\\CodeCoverage\\Test\\TestSize\\Medium' => $vendorDir . '/phpunit/php-code-coverage/src/TestSize/Medium.php',
@@ -1396,6 +1099,23 @@ return array(
'SebastianBergmann\\CodeCoverage\\Util\\Percentage' => $vendorDir . '/phpunit/php-code-coverage/src/Util/Percentage.php',
'SebastianBergmann\\CodeCoverage\\Version' => $vendorDir . '/phpunit/php-code-coverage/src/Version.php',
'SebastianBergmann\\CodeCoverage\\XmlException' => $vendorDir . '/phpunit/php-code-coverage/src/Exception/XmlException.php',
+ 'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => $vendorDir . '/sebastian/code-unit-reverse-lookup/src/Wizard.php',
+ 'SebastianBergmann\\CodeUnit\\ClassMethodUnit' => $vendorDir . '/sebastian/code-unit/src/ClassMethodUnit.php',
+ 'SebastianBergmann\\CodeUnit\\ClassUnit' => $vendorDir . '/sebastian/code-unit/src/ClassUnit.php',
+ 'SebastianBergmann\\CodeUnit\\CodeUnit' => $vendorDir . '/sebastian/code-unit/src/CodeUnit.php',
+ 'SebastianBergmann\\CodeUnit\\CodeUnitCollection' => $vendorDir . '/sebastian/code-unit/src/CodeUnitCollection.php',
+ 'SebastianBergmann\\CodeUnit\\CodeUnitCollectionIterator' => $vendorDir . '/sebastian/code-unit/src/CodeUnitCollectionIterator.php',
+ 'SebastianBergmann\\CodeUnit\\Exception' => $vendorDir . '/sebastian/code-unit/src/exceptions/Exception.php',
+ 'SebastianBergmann\\CodeUnit\\FileUnit' => $vendorDir . '/sebastian/code-unit/src/FileUnit.php',
+ 'SebastianBergmann\\CodeUnit\\FunctionUnit' => $vendorDir . '/sebastian/code-unit/src/FunctionUnit.php',
+ 'SebastianBergmann\\CodeUnit\\InterfaceMethodUnit' => $vendorDir . '/sebastian/code-unit/src/InterfaceMethodUnit.php',
+ 'SebastianBergmann\\CodeUnit\\InterfaceUnit' => $vendorDir . '/sebastian/code-unit/src/InterfaceUnit.php',
+ 'SebastianBergmann\\CodeUnit\\InvalidCodeUnitException' => $vendorDir . '/sebastian/code-unit/src/exceptions/InvalidCodeUnitException.php',
+ 'SebastianBergmann\\CodeUnit\\Mapper' => $vendorDir . '/sebastian/code-unit/src/Mapper.php',
+ 'SebastianBergmann\\CodeUnit\\NoTraitException' => $vendorDir . '/sebastian/code-unit/src/exceptions/NoTraitException.php',
+ 'SebastianBergmann\\CodeUnit\\ReflectionException' => $vendorDir . '/sebastian/code-unit/src/exceptions/ReflectionException.php',
+ 'SebastianBergmann\\CodeUnit\\TraitMethodUnit' => $vendorDir . '/sebastian/code-unit/src/TraitMethodUnit.php',
+ 'SebastianBergmann\\CodeUnit\\TraitUnit' => $vendorDir . '/sebastian/code-unit/src/TraitUnit.php',
'SebastianBergmann\\Comparator\\ArrayComparator' => $vendorDir . '/sebastian/comparator/src/ArrayComparator.php',
'SebastianBergmann\\Comparator\\Comparator' => $vendorDir . '/sebastian/comparator/src/Comparator.php',
'SebastianBergmann\\Comparator\\ComparisonFailure' => $vendorDir . '/sebastian/comparator/src/ComparisonFailure.php',
@@ -1460,6 +1180,7 @@ return array(
'SebastianBergmann\\LinesOfCode\\IllogicalValuesException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/IllogicalValuesException.php',
'SebastianBergmann\\LinesOfCode\\LineCountingVisitor' => $vendorDir . '/sebastian/lines-of-code/src/LineCountingVisitor.php',
'SebastianBergmann\\LinesOfCode\\LinesOfCode' => $vendorDir . '/sebastian/lines-of-code/src/LinesOfCode.php',
+ 'SebastianBergmann\\LinesOfCode\\NegativeValueException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/NegativeValueException.php',
'SebastianBergmann\\LinesOfCode\\RuntimeException' => $vendorDir . '/sebastian/lines-of-code/src/Exception/RuntimeException.php',
'SebastianBergmann\\ObjectEnumerator\\Enumerator' => $vendorDir . '/sebastian/object-enumerator/src/Enumerator.php',
'SebastianBergmann\\ObjectReflector\\ObjectReflector' => $vendorDir . '/sebastian/object-reflector/src/ObjectReflector.php',
@@ -1504,16 +1225,6 @@ return array(
'TheSeer\\Tokenizer\\TokenCollectionException' => $vendorDir . '/theseer/tokenizer/src/TokenCollectionException.php',
'TheSeer\\Tokenizer\\Tokenizer' => $vendorDir . '/theseer/tokenizer/src/Tokenizer.php',
'TheSeer\\Tokenizer\\XMLSerializer' => $vendorDir . '/theseer/tokenizer/src/XMLSerializer.php',
- 'goodboyalex\\php_components_pack\\classes\\ActionState' => $baseDir . '/sources/classes/ActionState.php',
- 'goodboyalex\\php_components_pack\\classes\\ClassMapper' => $baseDir . '/sources/classes/ClassMapper.php',
- 'goodboyalex\\php_components_pack\\enums\\MessageType' => $baseDir . '/sources/enums/MessageType.php',
- 'goodboyalex\\php_components_pack\\extensions\\ArrayExtension' => $baseDir . '/sources/extensions/ArrayExtension.php',
- 'goodboyalex\\php_components_pack\\extensions\\GUIDExtension' => $baseDir . '/sources/extensions/GUIDExtension.php',
- 'goodboyalex\\php_components_pack\\extensions\\StringExtension' => $baseDir . '/sources/extensions/StringExtension.php',
- 'goodboyalex\\php_components_pack\\interfaces\\ISerializable' => $baseDir . '/sources/interfaces/ISerializable.php',
- 'goodboyalex\\php_components_pack\\models\\ActionStateMessageModel' => $baseDir . '/sources/models/ActionStateMessageModel.php',
- 'goodboyalex\\php_components_pack\\tests\\GUIDExtensionTest' => $baseDir . '/tests/GUIDExtensionTest.php',
- 'goodboyalex\\php_components_pack\\traits\\EnumExtensionsTrait' => $baseDir . '/sources/traits/EnumExtensionsTrait.php',
'staabm\\SideEffectsDetector\\SideEffect' => $vendorDir . '/staabm/side-effects-detector/lib/SideEffect.php',
'staabm\\SideEffectsDetector\\SideEffectsDetector' => $vendorDir . '/staabm/side-effects-detector/lib/SideEffectsDetector.php',
);
diff --git a/vendor/composer/autoload_psr4.php b/vendor/composer/autoload_psr4.php
index 5733925..03d6231 100644
--- a/vendor/composer/autoload_psr4.php
+++ b/vendor/composer/autoload_psr4.php
@@ -12,6 +12,7 @@ return array(
'goodboyalex\\php_components_pack\\interfaces\\' => array($baseDir . '/sources/interfaces'),
'goodboyalex\\php_components_pack\\extensions\\' => array($baseDir . '/sources/extensions'),
'goodboyalex\\php_components_pack\\enums\\' => array($baseDir . '/sources/enums'),
+ 'goodboyalex\\php_components_pack\\classes\\' => array($baseDir . '/sources/classes'),
'goodboyalex\\php_components_pack\\' => array($baseDir . '/sources'),
'PhpParser\\' => array($vendorDir . '/nikic/php-parser/lib/PhpParser'),
'DeepCopy\\' => array($vendorDir . '/myclabs/deep-copy/src/DeepCopy'),
diff --git a/vendor/composer/autoload_static.php b/vendor/composer/autoload_static.php
index 5ad742f..3fc1a40 100644
--- a/vendor/composer/autoload_static.php
+++ b/vendor/composer/autoload_static.php
@@ -20,6 +20,7 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'goodboyalex\\php_components_pack\\interfaces\\' => 43,
'goodboyalex\\php_components_pack\\extensions\\' => 43,
'goodboyalex\\php_components_pack\\enums\\' => 38,
+ 'goodboyalex\\php_components_pack\\classes\\' => 40,
'goodboyalex\\php_components_pack\\' => 32,
),
'P' =>
@@ -57,6 +58,10 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
array (
0 => __DIR__ . '/../..' . '/sources/enums',
),
+ 'goodboyalex\\php_components_pack\\classes\\' =>
+ array (
+ 0 => __DIR__ . '/../..' . '/sources/classes',
+ ),
'goodboyalex\\php_components_pack\\' =>
array (
0 => __DIR__ . '/../..' . '/sources',
@@ -73,32 +78,6 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
public static $classMap = array (
'Composer\\InstalledVersions' => __DIR__ . '/..' . '/composer/InstalledVersions.php',
- 'DeepCopy\\DeepCopy' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/DeepCopy.php',
- 'DeepCopy\\Exception\\CloneException' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Exception/CloneException.php',
- 'DeepCopy\\Exception\\PropertyException' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Exception/PropertyException.php',
- 'DeepCopy\\Filter\\ChainableFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/ChainableFilter.php',
- 'DeepCopy\\Filter\\Doctrine\\DoctrineCollectionFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineCollectionFilter.php',
- 'DeepCopy\\Filter\\Doctrine\\DoctrineEmptyCollectionFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineEmptyCollectionFilter.php',
- 'DeepCopy\\Filter\\Doctrine\\DoctrineProxyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Doctrine/DoctrineProxyFilter.php',
- 'DeepCopy\\Filter\\Filter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/Filter.php',
- 'DeepCopy\\Filter\\KeepFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/KeepFilter.php',
- 'DeepCopy\\Filter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/ReplaceFilter.php',
- 'DeepCopy\\Filter\\SetNullFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Filter/SetNullFilter.php',
- 'DeepCopy\\Matcher\\Doctrine\\DoctrineProxyMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/Doctrine/DoctrineProxyMatcher.php',
- 'DeepCopy\\Matcher\\Matcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/Matcher.php',
- 'DeepCopy\\Matcher\\PropertyMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyMatcher.php',
- 'DeepCopy\\Matcher\\PropertyNameMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyNameMatcher.php',
- 'DeepCopy\\Matcher\\PropertyTypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Matcher/PropertyTypeMatcher.php',
- 'DeepCopy\\Reflection\\ReflectionHelper' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/Reflection/ReflectionHelper.php',
- 'DeepCopy\\TypeFilter\\Date\\DateIntervalFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DateIntervalFilter.php',
- 'DeepCopy\\TypeFilter\\Date\\DatePeriodFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Date/DatePeriodFilter.php',
- 'DeepCopy\\TypeFilter\\ReplaceFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ReplaceFilter.php',
- 'DeepCopy\\TypeFilter\\ShallowCopyFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/ShallowCopyFilter.php',
- 'DeepCopy\\TypeFilter\\Spl\\ArrayObjectFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/ArrayObjectFilter.php',
- 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedList' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedList.php',
- 'DeepCopy\\TypeFilter\\Spl\\SplDoublyLinkedListFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/Spl/SplDoublyLinkedListFilter.php',
- 'DeepCopy\\TypeFilter\\TypeFilter' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeFilter/TypeFilter.php',
- 'DeepCopy\\TypeMatcher\\TypeMatcher' => __DIR__ . '/..' . '/myclabs/deep-copy/src/DeepCopy/TypeMatcher/TypeMatcher.php',
'PHPUnit\\Event\\Application\\Finished' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Application/Finished.php',
'PHPUnit\\Event\\Application\\FinishedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Application/FinishedSubscriber.php',
'PHPUnit\\Event\\Application\\Started' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Application/Started.php',
@@ -156,10 +135,11 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Event\\Telemetry\\Info' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/Info.php',
'PHPUnit\\Event\\Telemetry\\MemoryMeter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/MemoryMeter.php',
'PHPUnit\\Event\\Telemetry\\MemoryUsage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/MemoryUsage.php',
+ 'PHPUnit\\Event\\Telemetry\\Php81GarbageCollectorStatusProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php',
+ 'PHPUnit\\Event\\Telemetry\\Php83GarbageCollectorStatusProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php',
'PHPUnit\\Event\\Telemetry\\Snapshot' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/Snapshot.php',
'PHPUnit\\Event\\Telemetry\\StopWatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/StopWatch.php',
'PHPUnit\\Event\\Telemetry\\System' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/System.php',
- 'PHPUnit\\Event\\Telemetry\\SystemGarbageCollectorStatusProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemGarbageCollectorStatusProvider.php',
'PHPUnit\\Event\\Telemetry\\SystemMemoryMeter' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemMemoryMeter.php',
'PHPUnit\\Event\\Telemetry\\SystemStopWatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatch.php',
'PHPUnit\\Event\\Telemetry\\SystemStopWatchWithOffset' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Value/Telemetry/SystemStopWatchWithOffset.php',
@@ -266,8 +246,14 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Event\\Test\\MarkedIncompleteSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Outcome/MarkedIncompleteSubscriber.php',
'PHPUnit\\Event\\Test\\MockObjectCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreated.php',
'PHPUnit\\Event\\Test\\MockObjectCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectCreatedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForAbstractClassCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForAbstractClassCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\MockObjectForIntersectionOfInterfacesCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreated.php',
'PHPUnit\\Event\\Test\\MockObjectForIntersectionOfInterfacesCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForIntersectionOfInterfacesCreatedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForTraitCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php',
+ 'PHPUnit\\Event\\Test\\MockObjectForTraitCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreatedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\MockObjectFromWsdlCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php',
+ 'PHPUnit\\Event\\Test\\MockObjectFromWsdlCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\NoComparisonFailureException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Exception/NoComparisonFailureException.php',
'PHPUnit\\Event\\Test\\NoticeTriggered' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggered.php',
'PHPUnit\\Event\\Test\\NoticeTriggeredSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Issue/NoticeTriggeredSubscriber.php',
@@ -309,6 +295,8 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Event\\Test\\PrintedUnexpectedOutputSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/PrintedUnexpectedOutputSubscriber.php',
'PHPUnit\\Event\\Test\\Skipped' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Outcome/Skipped.php',
'PHPUnit\\Event\\Test\\SkippedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/Outcome/SkippedSubscriber.php',
+ 'PHPUnit\\Event\\Test\\TestProxyCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php',
+ 'PHPUnit\\Event\\Test\\TestProxyCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\TestStubCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreated.php',
'PHPUnit\\Event\\Test\\TestStubCreatedSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubCreatedSubscriber.php',
'PHPUnit\\Event\\Test\\TestStubForIntersectionOfInterfacesCreated' => __DIR__ . '/..' . '/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestStubForIntersectionOfInterfacesCreated.php',
@@ -332,11 +320,8 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Framework\\Attributes\\Before' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/Before.php',
'PHPUnit\\Framework\\Attributes\\BeforeClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/BeforeClass.php',
'PHPUnit\\Framework\\Attributes\\CoversClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversClass.php',
- 'PHPUnit\\Framework\\Attributes\\CoversClassesThatExtendClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatExtendClass.php',
- 'PHPUnit\\Framework\\Attributes\\CoversClassesThatImplementInterface' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatImplementInterface.php',
'PHPUnit\\Framework\\Attributes\\CoversFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversFunction.php',
'PHPUnit\\Framework\\Attributes\\CoversMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversMethod.php',
- 'PHPUnit\\Framework\\Attributes\\CoversNamespace' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversNamespace.php',
'PHPUnit\\Framework\\Attributes\\CoversNothing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversNothing.php',
'PHPUnit\\Framework\\Attributes\\CoversTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/CoversTrait.php',
'PHPUnit\\Framework\\Attributes\\DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/DataProvider.php',
@@ -362,7 +347,6 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Framework\\Attributes\\PostCondition' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/PostCondition.php',
'PHPUnit\\Framework\\Attributes\\PreCondition' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/PreCondition.php',
'PHPUnit\\Framework\\Attributes\\PreserveGlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/PreserveGlobalState.php',
- 'PHPUnit\\Framework\\Attributes\\RequiresEnvironmentVariable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/RequiresEnvironmentVariable.php',
'PHPUnit\\Framework\\Attributes\\RequiresFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/RequiresFunction.php',
'PHPUnit\\Framework\\Attributes\\RequiresMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/RequiresMethod.php',
'PHPUnit\\Framework\\Attributes\\RequiresOperatingSystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/RequiresOperatingSystem.php',
@@ -382,11 +366,8 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Framework\\Attributes\\TestWithJson' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/TestWithJson.php',
'PHPUnit\\Framework\\Attributes\\Ticket' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/Ticket.php',
'PHPUnit\\Framework\\Attributes\\UsesClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesClass.php',
- 'PHPUnit\\Framework\\Attributes\\UsesClassesThatExtendClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatExtendClass.php',
- 'PHPUnit\\Framework\\Attributes\\UsesClassesThatImplementInterface' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatImplementInterface.php',
'PHPUnit\\Framework\\Attributes\\UsesFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesFunction.php',
'PHPUnit\\Framework\\Attributes\\UsesMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesMethod.php',
- 'PHPUnit\\Framework\\Attributes\\UsesNamespace' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesNamespace.php',
'PHPUnit\\Framework\\Attributes\\UsesTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/UsesTrait.php',
'PHPUnit\\Framework\\Attributes\\WithoutErrorHandler' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Attributes/WithoutErrorHandler.php',
'PHPUnit\\Framework\\CodeCoverageException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/CodeCoverageException.php',
@@ -468,26 +449,36 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Framework\\MockObject\\Builder\\MethodNameMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/MethodNameMatch.php',
'PHPUnit\\Framework\\MockObject\\Builder\\ParametersMatch' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/ParametersMatch.php',
'PHPUnit\\Framework\\MockObject\\Builder\\Stub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Builder/Stub.php',
+ 'PHPUnit\\Framework\\MockObject\\CannotCloneTestDoubleForReadonlyClassException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotCloneTestDoubleForReadonlyClassException.php',
'PHPUnit\\Framework\\MockObject\\CannotUseOnlyMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/CannotUseOnlyMethodsException.php',
'PHPUnit\\Framework\\MockObject\\ConfigurableMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/ConfigurableMethod.php',
'PHPUnit\\Framework\\MockObject\\DoubledCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/DoubledCloneMethod.php',
+ 'PHPUnit\\Framework\\MockObject\\ErrorCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ErrorCloneMethod.php',
'PHPUnit\\Framework\\MockObject\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/Exception.php',
+ 'PHPUnit\\Framework\\MockObject\\GeneratedAsMockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php',
+ 'PHPUnit\\Framework\\MockObject\\GeneratedAsTestStub' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\CannotUseAddMethodsException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsEnumerationException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsEnumerationException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\ClassIsFinalException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ClassIsFinalException.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\DoubledClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledClass.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\DoubledMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethod.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\DoubledMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethodSet.php',
'PHPUnit\\Framework\\MockObject\\Generator\\DuplicateMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/DuplicateMethodException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/Exception.php',
'PHPUnit\\Framework\\MockObject\\Generator\\Generator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php',
'PHPUnit\\Framework\\MockObject\\Generator\\HookedProperty' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/HookedProperty.php',
'PHPUnit\\Framework\\MockObject\\Generator\\HookedPropertyGenerator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/HookedPropertyGenerator.php',
'PHPUnit\\Framework\\MockObject\\Generator\\InvalidMethodNameException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/InvalidMethodNameException.php',
- 'PHPUnit\\Framework\\MockObject\\Generator\\MethodNamedMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/MethodNamedMethodException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethod.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockMethodSet' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\MockType' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php',
'PHPUnit\\Framework\\MockObject\\Generator\\NameAlreadyInUseException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/NameAlreadyInUseException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\OriginalConstructorInvocationRequiredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/ReflectionException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\RuntimeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/RuntimeException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\SoapExtensionNotAvailableException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/SoapExtensionNotAvailableException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\TemplateLoader' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/TemplateLoader.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\UnknownClassException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownClassException.php',
+ 'PHPUnit\\Framework\\MockObject\\Generator\\UnknownTraitException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTraitException.php',
'PHPUnit\\Framework\\MockObject\\Generator\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTypeException.php',
'PHPUnit\\Framework\\MockObject\\IncompatibleReturnValueException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/IncompatibleReturnValueException.php',
'PHPUnit\\Framework\\MockObject\\Invocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php',
@@ -505,6 +496,7 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Framework\\MockObject\\MockObject' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObject.php',
'PHPUnit\\Framework\\MockObject\\MockObjectApi' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php',
'PHPUnit\\Framework\\MockObject\\MockObjectInternal' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObjectInternal.php',
+ 'PHPUnit\\Framework\\MockObject\\MutableStubApi' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MutableStubApi.php',
'PHPUnit\\Framework\\MockObject\\NeverReturningMethodException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NeverReturningMethodException.php',
'PHPUnit\\Framework\\MockObject\\NoMoreReturnValuesConfiguredException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Exception/NoMoreReturnValuesConfiguredException.php',
'PHPUnit\\Framework\\MockObject\\ProxiedCloneMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ProxiedCloneMethod.php',
@@ -572,7 +564,7 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Framework\\TestSuite' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuite.php',
'PHPUnit\\Framework\\TestSuiteIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/TestSuiteIterator.php',
'PHPUnit\\Framework\\UnknownClassOrInterfaceException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownClassOrInterfaceException.php',
- 'PHPUnit\\Framework\\UnknownNativeTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownNativeTypeException.php',
+ 'PHPUnit\\Framework\\UnknownTypeException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php',
'PHPUnit\\Logging\\EventLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/EventLogger.php',
'PHPUnit\\Logging\\JUnit\\JunitXmlLogger' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/JunitXmlLogger.php',
'PHPUnit\\Logging\\JUnit\\Subscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/JUnit/Subscriber/Subscriber.php',
@@ -629,6 +621,9 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Logging\\TestDox\\TestTriggeredWarningSubscriber' => __DIR__ . '/..' . '/phpunit/phpunit/src/Logging/TestDox/TestResult/Subscriber/TestTriggeredWarningSubscriber.php',
'PHPUnit\\Metadata\\After' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/After.php',
'PHPUnit\\Metadata\\AfterClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/AfterClass.php',
+ 'PHPUnit\\Metadata\\Annotation\\Parser\\DocBlock' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/Annotation/DocBlock.php',
+ 'PHPUnit\\Metadata\\Annotation\\Parser\\Registry' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/Annotation/Registry.php',
+ 'PHPUnit\\Metadata\\AnnotationsAreNotSupportedForInternalClassesException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/AnnotationsAreNotSupportedForInternalClassesException.php',
'PHPUnit\\Metadata\\Api\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Api/CodeCoverage.php',
'PHPUnit\\Metadata\\Api\\DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Api/DataProvider.php',
'PHPUnit\\Metadata\\Api\\Dependencies' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Api/Dependencies.php',
@@ -639,12 +634,11 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Metadata\\BackupStaticProperties' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/BackupStaticProperties.php',
'PHPUnit\\Metadata\\Before' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Before.php',
'PHPUnit\\Metadata\\BeforeClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/BeforeClass.php',
+ 'PHPUnit\\Metadata\\Covers' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Covers.php',
'PHPUnit\\Metadata\\CoversClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversClass.php',
- 'PHPUnit\\Metadata\\CoversClassesThatExtendClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversClassesThatExtendClass.php',
- 'PHPUnit\\Metadata\\CoversClassesThatImplementInterface' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversClassesThatImplementInterface.php',
+ 'PHPUnit\\Metadata\\CoversDefaultClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversDefaultClass.php',
'PHPUnit\\Metadata\\CoversFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversFunction.php',
'PHPUnit\\Metadata\\CoversMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversMethod.php',
- 'PHPUnit\\Metadata\\CoversNamespace' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversNamespace.php',
'PHPUnit\\Metadata\\CoversNothing' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversNothing.php',
'PHPUnit\\Metadata\\CoversTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/CoversTrait.php',
'PHPUnit\\Metadata\\DataProvider' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/DataProvider.php',
@@ -663,14 +657,16 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Metadata\\MetadataCollection' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/MetadataCollection.php',
'PHPUnit\\Metadata\\MetadataCollectionIterator' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/MetadataCollectionIterator.php',
'PHPUnit\\Metadata\\NoVersionRequirementException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/NoVersionRequirementException.php',
+ 'PHPUnit\\Metadata\\Parser\\AnnotationParser' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/AnnotationParser.php',
'PHPUnit\\Metadata\\Parser\\AttributeParser' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/AttributeParser.php',
'PHPUnit\\Metadata\\Parser\\CachingParser' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/CachingParser.php',
'PHPUnit\\Metadata\\Parser\\Parser' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/Parser.php',
+ 'PHPUnit\\Metadata\\Parser\\ParserChain' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/ParserChain.php',
'PHPUnit\\Metadata\\Parser\\Registry' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Parser/Registry.php',
'PHPUnit\\Metadata\\PostCondition' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/PostCondition.php',
'PHPUnit\\Metadata\\PreCondition' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/PreCondition.php',
'PHPUnit\\Metadata\\PreserveGlobalState' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/PreserveGlobalState.php',
- 'PHPUnit\\Metadata\\RequiresEnvironmentVariable' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/RequiresEnvironmentVariable.php',
+ 'PHPUnit\\Metadata\\ReflectionException' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Exception/ReflectionException.php',
'PHPUnit\\Metadata\\RequiresFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/RequiresFunction.php',
'PHPUnit\\Metadata\\RequiresMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/RequiresMethod.php',
'PHPUnit\\Metadata\\RequiresOperatingSystem' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/RequiresOperatingSystem.php',
@@ -686,12 +682,11 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\Metadata\\Test' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Test.php',
'PHPUnit\\Metadata\\TestDox' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/TestDox.php',
'PHPUnit\\Metadata\\TestWith' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/TestWith.php',
+ 'PHPUnit\\Metadata\\Uses' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Uses.php',
'PHPUnit\\Metadata\\UsesClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesClass.php',
- 'PHPUnit\\Metadata\\UsesClassesThatExtendClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesClassesThatExtendClass.php',
- 'PHPUnit\\Metadata\\UsesClassesThatImplementInterface' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesClassesThatImplementInterface.php',
+ 'PHPUnit\\Metadata\\UsesDefaultClass' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesDefaultClass.php',
'PHPUnit\\Metadata\\UsesFunction' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesFunction.php',
'PHPUnit\\Metadata\\UsesMethod' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesMethod.php',
- 'PHPUnit\\Metadata\\UsesNamespace' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesNamespace.php',
'PHPUnit\\Metadata\\UsesTrait' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/UsesTrait.php',
'PHPUnit\\Metadata\\Version\\ComparisonRequirement' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Version/ComparisonRequirement.php',
'PHPUnit\\Metadata\\Version\\ConstraintRequirement' => __DIR__ . '/..' . '/phpunit/phpunit/src/Metadata/Version/ConstraintRequirement.php',
@@ -989,6 +984,7 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PHPUnit\\TextUI\\XmlConfiguration\\UpdateSchemaLocation' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Migration/Migrations/UpdateSchemaLocation.php',
'PHPUnit\\TextUI\\XmlConfiguration\\ValidationResult' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/ValidationResult.php',
'PHPUnit\\TextUI\\XmlConfiguration\\Validator' => __DIR__ . '/..' . '/phpunit/phpunit/src/TextUI/Configuration/Xml/Validator/Validator.php',
+ 'PHPUnit\\Util\\Cloner' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Cloner.php',
'PHPUnit\\Util\\Color' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Color.php',
'PHPUnit\\Util\\Exception' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/Exception/Exception.php',
'PHPUnit\\Util\\ExcludeList' => __DIR__ . '/..' . '/phpunit/phpunit/src/Util/ExcludeList.php',
@@ -1087,270 +1083,6 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'PharIo\\Version\\VersionConstraintParser' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintParser.php',
'PharIo\\Version\\VersionConstraintValue' => __DIR__ . '/..' . '/phar-io/version/src/VersionConstraintValue.php',
'PharIo\\Version\\VersionNumber' => __DIR__ . '/..' . '/phar-io/version/src/VersionNumber.php',
- 'PhpParser\\Builder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder.php',
- 'PhpParser\\BuilderFactory' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/BuilderFactory.php',
- 'PhpParser\\BuilderHelpers' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/BuilderHelpers.php',
- 'PhpParser\\Builder\\ClassConst' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/ClassConst.php',
- 'PhpParser\\Builder\\Class_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Class_.php',
- 'PhpParser\\Builder\\Declaration' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Declaration.php',
- 'PhpParser\\Builder\\EnumCase' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/EnumCase.php',
- 'PhpParser\\Builder\\Enum_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Enum_.php',
- 'PhpParser\\Builder\\FunctionLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/FunctionLike.php',
- 'PhpParser\\Builder\\Function_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Function_.php',
- 'PhpParser\\Builder\\Interface_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Interface_.php',
- 'PhpParser\\Builder\\Method' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Method.php',
- 'PhpParser\\Builder\\Namespace_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Namespace_.php',
- 'PhpParser\\Builder\\Param' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Param.php',
- 'PhpParser\\Builder\\Property' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Property.php',
- 'PhpParser\\Builder\\TraitUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/TraitUse.php',
- 'PhpParser\\Builder\\TraitUseAdaptation' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/TraitUseAdaptation.php',
- 'PhpParser\\Builder\\Trait_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Trait_.php',
- 'PhpParser\\Builder\\Use_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Builder/Use_.php',
- 'PhpParser\\Comment' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Comment.php',
- 'PhpParser\\Comment\\Doc' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Comment/Doc.php',
- 'PhpParser\\ConstExprEvaluationException' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluationException.php',
- 'PhpParser\\ConstExprEvaluator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ConstExprEvaluator.php',
- 'PhpParser\\Error' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Error.php',
- 'PhpParser\\ErrorHandler' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ErrorHandler.php',
- 'PhpParser\\ErrorHandler\\Collecting' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Collecting.php',
- 'PhpParser\\ErrorHandler\\Throwing' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ErrorHandler/Throwing.php',
- 'PhpParser\\Internal\\DiffElem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/DiffElem.php',
- 'PhpParser\\Internal\\Differ' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/Differ.php',
- 'PhpParser\\Internal\\PrintableNewAnonClassNode' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/PrintableNewAnonClassNode.php',
- 'PhpParser\\Internal\\TokenPolyfill' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/TokenPolyfill.php',
- 'PhpParser\\Internal\\TokenStream' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Internal/TokenStream.php',
- 'PhpParser\\JsonDecoder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/JsonDecoder.php',
- 'PhpParser\\Lexer' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer.php',
- 'PhpParser\\Lexer\\Emulative' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/Emulative.php',
- 'PhpParser\\Lexer\\TokenEmulator\\AsymmetricVisibilityTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AsymmetricVisibilityTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\AttributeEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/AttributeEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\EnumTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/EnumTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ExplicitOctalEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ExplicitOctalEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\KeywordEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/KeywordEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\MatchTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/MatchTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\NullsafeTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/NullsafeTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\PropertyTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/PropertyTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ReadonlyFunctionTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyFunctionTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ReadonlyTokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReadonlyTokenEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\ReverseEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/ReverseEmulator.php',
- 'PhpParser\\Lexer\\TokenEmulator\\TokenEmulator' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Lexer/TokenEmulator/TokenEmulator.php',
- 'PhpParser\\Modifiers' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Modifiers.php',
- 'PhpParser\\NameContext' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NameContext.php',
- 'PhpParser\\Node' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node.php',
- 'PhpParser\\NodeAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeAbstract.php',
- 'PhpParser\\NodeDumper' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeDumper.php',
- 'PhpParser\\NodeFinder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeFinder.php',
- 'PhpParser\\NodeTraverser' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeTraverser.php',
- 'PhpParser\\NodeTraverserInterface' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeTraverserInterface.php',
- 'PhpParser\\NodeVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor.php',
- 'PhpParser\\NodeVisitorAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitorAbstract.php',
- 'PhpParser\\NodeVisitor\\CloningVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/CloningVisitor.php',
- 'PhpParser\\NodeVisitor\\CommentAnnotatingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/CommentAnnotatingVisitor.php',
- 'PhpParser\\NodeVisitor\\FindingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FindingVisitor.php',
- 'PhpParser\\NodeVisitor\\FirstFindingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/FirstFindingVisitor.php',
- 'PhpParser\\NodeVisitor\\NameResolver' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/NameResolver.php',
- 'PhpParser\\NodeVisitor\\NodeConnectingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/NodeConnectingVisitor.php',
- 'PhpParser\\NodeVisitor\\ParentConnectingVisitor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/NodeVisitor/ParentConnectingVisitor.php',
- 'PhpParser\\Node\\Arg' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Arg.php',
- 'PhpParser\\Node\\ArrayItem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/ArrayItem.php',
- 'PhpParser\\Node\\Attribute' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Attribute.php',
- 'PhpParser\\Node\\AttributeGroup' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/AttributeGroup.php',
- 'PhpParser\\Node\\ClosureUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/ClosureUse.php',
- 'PhpParser\\Node\\ComplexType' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/ComplexType.php',
- 'PhpParser\\Node\\Const_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Const_.php',
- 'PhpParser\\Node\\DeclareItem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/DeclareItem.php',
- 'PhpParser\\Node\\Expr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr.php',
- 'PhpParser\\Node\\Expr\\ArrayDimFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayDimFetch.php',
- 'PhpParser\\Node\\Expr\\ArrayItem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrayItem.php',
- 'PhpParser\\Node\\Expr\\Array_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Array_.php',
- 'PhpParser\\Node\\Expr\\ArrowFunction' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ArrowFunction.php',
- 'PhpParser\\Node\\Expr\\Assign' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Assign.php',
- 'PhpParser\\Node\\Expr\\AssignOp' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseAnd.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseOr.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\BitwiseXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/BitwiseXor.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Coalesce' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Coalesce.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Concat' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Concat.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Div' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Div.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Minus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Minus.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Mod' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mod.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Mul' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Mul.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Plus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Plus.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\Pow' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/Pow.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\ShiftLeft' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftLeft.php',
- 'PhpParser\\Node\\Expr\\AssignOp\\ShiftRight' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignOp/ShiftRight.php',
- 'PhpParser\\Node\\Expr\\AssignRef' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/AssignRef.php',
- 'PhpParser\\Node\\Expr\\BinaryOp' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseAnd.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseOr.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BitwiseXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BitwiseXor.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanAnd.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\BooleanOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/BooleanOr.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Coalesce' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Coalesce.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Concat' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Concat.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Div' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Div.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Equal' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Equal.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Greater' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Greater.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\GreaterOrEqual' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/GreaterOrEqual.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Identical' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Identical.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalAnd' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalAnd.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalOr' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalOr.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\LogicalXor' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/LogicalXor.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Minus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Minus.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Mod' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mod.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Mul' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Mul.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\NotEqual' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotEqual.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\NotIdentical' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/NotIdentical.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Plus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Plus.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Pow' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Pow.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftLeft' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftLeft.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\ShiftRight' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/ShiftRight.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Smaller' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Smaller.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\SmallerOrEqual' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/SmallerOrEqual.php',
- 'PhpParser\\Node\\Expr\\BinaryOp\\Spaceship' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BinaryOp/Spaceship.php',
- 'PhpParser\\Node\\Expr\\BitwiseNot' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BitwiseNot.php',
- 'PhpParser\\Node\\Expr\\BooleanNot' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/BooleanNot.php',
- 'PhpParser\\Node\\Expr\\CallLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/CallLike.php',
- 'PhpParser\\Node\\Expr\\Cast' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast.php',
- 'PhpParser\\Node\\Expr\\Cast\\Array_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Array_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Bool_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Bool_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Double' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Double.php',
- 'PhpParser\\Node\\Expr\\Cast\\Int_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Int_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Object_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Object_.php',
- 'PhpParser\\Node\\Expr\\Cast\\String_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/String_.php',
- 'PhpParser\\Node\\Expr\\Cast\\Unset_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Cast/Unset_.php',
- 'PhpParser\\Node\\Expr\\ClassConstFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClassConstFetch.php',
- 'PhpParser\\Node\\Expr\\Clone_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Clone_.php',
- 'PhpParser\\Node\\Expr\\Closure' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Closure.php',
- 'PhpParser\\Node\\Expr\\ClosureUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ClosureUse.php',
- 'PhpParser\\Node\\Expr\\ConstFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ConstFetch.php',
- 'PhpParser\\Node\\Expr\\Empty_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Empty_.php',
- 'PhpParser\\Node\\Expr\\Error' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Error.php',
- 'PhpParser\\Node\\Expr\\ErrorSuppress' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ErrorSuppress.php',
- 'PhpParser\\Node\\Expr\\Eval_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Eval_.php',
- 'PhpParser\\Node\\Expr\\Exit_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Exit_.php',
- 'PhpParser\\Node\\Expr\\FuncCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/FuncCall.php',
- 'PhpParser\\Node\\Expr\\Include_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Include_.php',
- 'PhpParser\\Node\\Expr\\Instanceof_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Instanceof_.php',
- 'PhpParser\\Node\\Expr\\Isset_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Isset_.php',
- 'PhpParser\\Node\\Expr\\List_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/List_.php',
- 'PhpParser\\Node\\Expr\\Match_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Match_.php',
- 'PhpParser\\Node\\Expr\\MethodCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/MethodCall.php',
- 'PhpParser\\Node\\Expr\\New_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/New_.php',
- 'PhpParser\\Node\\Expr\\NullsafeMethodCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafeMethodCall.php',
- 'PhpParser\\Node\\Expr\\NullsafePropertyFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/NullsafePropertyFetch.php',
- 'PhpParser\\Node\\Expr\\PostDec' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostDec.php',
- 'PhpParser\\Node\\Expr\\PostInc' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PostInc.php',
- 'PhpParser\\Node\\Expr\\PreDec' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreDec.php',
- 'PhpParser\\Node\\Expr\\PreInc' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PreInc.php',
- 'PhpParser\\Node\\Expr\\Print_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Print_.php',
- 'PhpParser\\Node\\Expr\\PropertyFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/PropertyFetch.php',
- 'PhpParser\\Node\\Expr\\ShellExec' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/ShellExec.php',
- 'PhpParser\\Node\\Expr\\StaticCall' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticCall.php',
- 'PhpParser\\Node\\Expr\\StaticPropertyFetch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/StaticPropertyFetch.php',
- 'PhpParser\\Node\\Expr\\Ternary' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Ternary.php',
- 'PhpParser\\Node\\Expr\\Throw_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Throw_.php',
- 'PhpParser\\Node\\Expr\\UnaryMinus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryMinus.php',
- 'PhpParser\\Node\\Expr\\UnaryPlus' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/UnaryPlus.php',
- 'PhpParser\\Node\\Expr\\Variable' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Variable.php',
- 'PhpParser\\Node\\Expr\\YieldFrom' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/YieldFrom.php',
- 'PhpParser\\Node\\Expr\\Yield_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Expr/Yield_.php',
- 'PhpParser\\Node\\FunctionLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/FunctionLike.php',
- 'PhpParser\\Node\\Identifier' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Identifier.php',
- 'PhpParser\\Node\\InterpolatedStringPart' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/InterpolatedStringPart.php',
- 'PhpParser\\Node\\IntersectionType' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/IntersectionType.php',
- 'PhpParser\\Node\\MatchArm' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/MatchArm.php',
- 'PhpParser\\Node\\Name' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Name.php',
- 'PhpParser\\Node\\Name\\FullyQualified' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Name/FullyQualified.php',
- 'PhpParser\\Node\\Name\\Relative' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Name/Relative.php',
- 'PhpParser\\Node\\NullableType' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/NullableType.php',
- 'PhpParser\\Node\\Param' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Param.php',
- 'PhpParser\\Node\\PropertyHook' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/PropertyHook.php',
- 'PhpParser\\Node\\PropertyItem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/PropertyItem.php',
- 'PhpParser\\Node\\Scalar' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar.php',
- 'PhpParser\\Node\\Scalar\\DNumber' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/DNumber.php',
- 'PhpParser\\Node\\Scalar\\Encapsed' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Encapsed.php',
- 'PhpParser\\Node\\Scalar\\EncapsedStringPart' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/EncapsedStringPart.php',
- 'PhpParser\\Node\\Scalar\\Float_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Float_.php',
- 'PhpParser\\Node\\Scalar\\Int_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/Int_.php',
- 'PhpParser\\Node\\Scalar\\InterpolatedString' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/InterpolatedString.php',
- 'PhpParser\\Node\\Scalar\\LNumber' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/LNumber.php',
- 'PhpParser\\Node\\Scalar\\MagicConst' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Class_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Class_.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Dir' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Dir.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\File' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/File.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Function_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Function_.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Line' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Line.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Method' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Method.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Namespace_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Namespace_.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Property' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Property.php',
- 'PhpParser\\Node\\Scalar\\MagicConst\\Trait_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/MagicConst/Trait_.php',
- 'PhpParser\\Node\\Scalar\\String_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Scalar/String_.php',
- 'PhpParser\\Node\\StaticVar' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/StaticVar.php',
- 'PhpParser\\Node\\Stmt' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt.php',
- 'PhpParser\\Node\\Stmt\\Block' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Block.php',
- 'PhpParser\\Node\\Stmt\\Break_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Break_.php',
- 'PhpParser\\Node\\Stmt\\Case_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Case_.php',
- 'PhpParser\\Node\\Stmt\\Catch_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Catch_.php',
- 'PhpParser\\Node\\Stmt\\ClassConst' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassConst.php',
- 'PhpParser\\Node\\Stmt\\ClassLike' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassLike.php',
- 'PhpParser\\Node\\Stmt\\ClassMethod' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ClassMethod.php',
- 'PhpParser\\Node\\Stmt\\Class_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Class_.php',
- 'PhpParser\\Node\\Stmt\\Const_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Const_.php',
- 'PhpParser\\Node\\Stmt\\Continue_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Continue_.php',
- 'PhpParser\\Node\\Stmt\\DeclareDeclare' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/DeclareDeclare.php',
- 'PhpParser\\Node\\Stmt\\Declare_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Declare_.php',
- 'PhpParser\\Node\\Stmt\\Do_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Do_.php',
- 'PhpParser\\Node\\Stmt\\Echo_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Echo_.php',
- 'PhpParser\\Node\\Stmt\\ElseIf_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/ElseIf_.php',
- 'PhpParser\\Node\\Stmt\\Else_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Else_.php',
- 'PhpParser\\Node\\Stmt\\EnumCase' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/EnumCase.php',
- 'PhpParser\\Node\\Stmt\\Enum_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Enum_.php',
- 'PhpParser\\Node\\Stmt\\Expression' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Expression.php',
- 'PhpParser\\Node\\Stmt\\Finally_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Finally_.php',
- 'PhpParser\\Node\\Stmt\\For_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/For_.php',
- 'PhpParser\\Node\\Stmt\\Foreach_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Foreach_.php',
- 'PhpParser\\Node\\Stmt\\Function_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Function_.php',
- 'PhpParser\\Node\\Stmt\\Global_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Global_.php',
- 'PhpParser\\Node\\Stmt\\Goto_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Goto_.php',
- 'PhpParser\\Node\\Stmt\\GroupUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/GroupUse.php',
- 'PhpParser\\Node\\Stmt\\HaltCompiler' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/HaltCompiler.php',
- 'PhpParser\\Node\\Stmt\\If_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/If_.php',
- 'PhpParser\\Node\\Stmt\\InlineHTML' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/InlineHTML.php',
- 'PhpParser\\Node\\Stmt\\Interface_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Interface_.php',
- 'PhpParser\\Node\\Stmt\\Label' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Label.php',
- 'PhpParser\\Node\\Stmt\\Namespace_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Namespace_.php',
- 'PhpParser\\Node\\Stmt\\Nop' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Nop.php',
- 'PhpParser\\Node\\Stmt\\Property' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Property.php',
- 'PhpParser\\Node\\Stmt\\PropertyProperty' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/PropertyProperty.php',
- 'PhpParser\\Node\\Stmt\\Return_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Return_.php',
- 'PhpParser\\Node\\Stmt\\StaticVar' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/StaticVar.php',
- 'PhpParser\\Node\\Stmt\\Static_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Static_.php',
- 'PhpParser\\Node\\Stmt\\Switch_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Switch_.php',
- 'PhpParser\\Node\\Stmt\\TraitUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUse.php',
- 'PhpParser\\Node\\Stmt\\TraitUseAdaptation' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation.php',
- 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Alias' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Alias.php',
- 'PhpParser\\Node\\Stmt\\TraitUseAdaptation\\Precedence' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TraitUseAdaptation/Precedence.php',
- 'PhpParser\\Node\\Stmt\\Trait_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Trait_.php',
- 'PhpParser\\Node\\Stmt\\TryCatch' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/TryCatch.php',
- 'PhpParser\\Node\\Stmt\\Unset_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Unset_.php',
- 'PhpParser\\Node\\Stmt\\UseUse' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/UseUse.php',
- 'PhpParser\\Node\\Stmt\\Use_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/Use_.php',
- 'PhpParser\\Node\\Stmt\\While_' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/Stmt/While_.php',
- 'PhpParser\\Node\\UnionType' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/UnionType.php',
- 'PhpParser\\Node\\UseItem' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/UseItem.php',
- 'PhpParser\\Node\\VarLikeIdentifier' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/VarLikeIdentifier.php',
- 'PhpParser\\Node\\VariadicPlaceholder' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Node/VariadicPlaceholder.php',
- 'PhpParser\\Parser' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser.php',
- 'PhpParser\\ParserAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ParserAbstract.php',
- 'PhpParser\\ParserFactory' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/ParserFactory.php',
- 'PhpParser\\Parser\\Php7' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Php7.php',
- 'PhpParser\\Parser\\Php8' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Parser/Php8.php',
- 'PhpParser\\PhpVersion' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PhpVersion.php',
- 'PhpParser\\PrettyPrinter' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinter.php',
- 'PhpParser\\PrettyPrinterAbstract' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinterAbstract.php',
- 'PhpParser\\PrettyPrinter\\Standard' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/PrettyPrinter/Standard.php',
- 'PhpParser\\Token' => __DIR__ . '/..' . '/nikic/php-parser/lib/PhpParser/Token.php',
'SebastianBergmann\\CliParser\\AmbiguousOptionException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/AmbiguousOptionException.php',
'SebastianBergmann\\CliParser\\Exception' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/Exception.php',
'SebastianBergmann\\CliParser\\OptionDoesNotAllowArgumentException' => __DIR__ . '/..' . '/sebastian/cli-parser/src/exceptions/OptionDoesNotAllowArgumentException.php',
@@ -1361,6 +1093,7 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'SebastianBergmann\\CodeCoverage\\CodeCoverage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/CodeCoverage.php',
'SebastianBergmann\\CodeCoverage\\Data\\ProcessedCodeCoverageData' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php',
'SebastianBergmann\\CodeCoverage\\Data\\RawCodeCoverageData' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php',
+ 'SebastianBergmann\\CodeCoverage\\DeadCodeDetectionNotSupportedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php',
'SebastianBergmann\\CodeCoverage\\Driver\\Driver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/Driver.php',
'SebastianBergmann\\CodeCoverage\\Driver\\PathExistsButIsNotDirectoryException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/PathExistsButIsNotDirectoryException.php',
'SebastianBergmann\\CodeCoverage\\Driver\\PcovDriver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/PcovDriver.php',
@@ -1370,7 +1103,6 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugDriver' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Driver/XdebugDriver.php',
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotAvailableException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XdebugNotAvailableException.php',
'SebastianBergmann\\CodeCoverage\\Driver\\XdebugNotEnabledException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XdebugNotEnabledException.php',
- 'SebastianBergmann\\CodeCoverage\\Driver\\XdebugVersionNotSupportedException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XdebugVersionNotSupportedException.php',
'SebastianBergmann\\CodeCoverage\\Exception' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/Exception.php',
'SebastianBergmann\\CodeCoverage\\FileCouldNotBeWrittenException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/FileCouldNotBeWrittenException.php',
'SebastianBergmann\\CodeCoverage\\Filter' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Filter.php',
@@ -1415,36 +1147,12 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'SebastianBergmann\\CodeCoverage\\StaticAnalysisCacheNotConfiguredException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/StaticAnalysisCacheNotConfiguredException.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CacheWarmer' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CacheWarmer.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CachingFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Class_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Class_.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\CodeUnitFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ExecutableLinesFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\FileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Function_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Function_.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\IgnoredLinesFindingVisitor' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Interface_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Interface_.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\LinesOfCode' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/LinesOfCode.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Method.php',
'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\ParsingFileAnalyser' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Trait_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Trait_.php',
- 'SebastianBergmann\\CodeCoverage\\StaticAnalysis\\Visibility' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/StaticAnalysis/Value/Visibility.php',
'SebastianBergmann\\CodeCoverage\\TestIdMissingException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/TestIdMissingException.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Class_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Class_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ClassesThatExtendClass' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/ClassesThatExtendClass.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ClassesThatImplementInterface' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/ClassesThatImplementInterface.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Function_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Function_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\InvalidCodeCoverageTargetException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/InvalidCodeCoverageTargetException.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\MapBuilder' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/MapBuilder.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Mapper' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Mapper.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Method' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Method.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Namespace_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Namespace_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Target' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Target.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\TargetCollection' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/TargetCollection.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\TargetCollectionIterator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/TargetCollectionIterator.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\TargetCollectionValidator' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/TargetCollectionValidator.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\Trait_' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/Trait_.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ValidationFailure' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/ValidationFailure.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ValidationResult' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/ValidationResult.php',
- 'SebastianBergmann\\CodeCoverage\\Test\\Target\\ValidationSuccess' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Target/ValidationSuccess.php',
'SebastianBergmann\\CodeCoverage\\Test\\TestSize\\Known' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/TestSize/Known.php',
'SebastianBergmann\\CodeCoverage\\Test\\TestSize\\Large' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/TestSize/Large.php',
'SebastianBergmann\\CodeCoverage\\Test\\TestSize\\Medium' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/TestSize/Medium.php',
@@ -1462,6 +1170,23 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'SebastianBergmann\\CodeCoverage\\Util\\Percentage' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Util/Percentage.php',
'SebastianBergmann\\CodeCoverage\\Version' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Version.php',
'SebastianBergmann\\CodeCoverage\\XmlException' => __DIR__ . '/..' . '/phpunit/php-code-coverage/src/Exception/XmlException.php',
+ 'SebastianBergmann\\CodeUnitReverseLookup\\Wizard' => __DIR__ . '/..' . '/sebastian/code-unit-reverse-lookup/src/Wizard.php',
+ 'SebastianBergmann\\CodeUnit\\ClassMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/ClassMethodUnit.php',
+ 'SebastianBergmann\\CodeUnit\\ClassUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/ClassUnit.php',
+ 'SebastianBergmann\\CodeUnit\\CodeUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnit.php',
+ 'SebastianBergmann\\CodeUnit\\CodeUnitCollection' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnitCollection.php',
+ 'SebastianBergmann\\CodeUnit\\CodeUnitCollectionIterator' => __DIR__ . '/..' . '/sebastian/code-unit/src/CodeUnitCollectionIterator.php',
+ 'SebastianBergmann\\CodeUnit\\Exception' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/Exception.php',
+ 'SebastianBergmann\\CodeUnit\\FileUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/FileUnit.php',
+ 'SebastianBergmann\\CodeUnit\\FunctionUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/FunctionUnit.php',
+ 'SebastianBergmann\\CodeUnit\\InterfaceMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/InterfaceMethodUnit.php',
+ 'SebastianBergmann\\CodeUnit\\InterfaceUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/InterfaceUnit.php',
+ 'SebastianBergmann\\CodeUnit\\InvalidCodeUnitException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/InvalidCodeUnitException.php',
+ 'SebastianBergmann\\CodeUnit\\Mapper' => __DIR__ . '/..' . '/sebastian/code-unit/src/Mapper.php',
+ 'SebastianBergmann\\CodeUnit\\NoTraitException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/NoTraitException.php',
+ 'SebastianBergmann\\CodeUnit\\ReflectionException' => __DIR__ . '/..' . '/sebastian/code-unit/src/exceptions/ReflectionException.php',
+ 'SebastianBergmann\\CodeUnit\\TraitMethodUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/TraitMethodUnit.php',
+ 'SebastianBergmann\\CodeUnit\\TraitUnit' => __DIR__ . '/..' . '/sebastian/code-unit/src/TraitUnit.php',
'SebastianBergmann\\Comparator\\ArrayComparator' => __DIR__ . '/..' . '/sebastian/comparator/src/ArrayComparator.php',
'SebastianBergmann\\Comparator\\Comparator' => __DIR__ . '/..' . '/sebastian/comparator/src/Comparator.php',
'SebastianBergmann\\Comparator\\ComparisonFailure' => __DIR__ . '/..' . '/sebastian/comparator/src/ComparisonFailure.php',
@@ -1526,6 +1251,7 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'SebastianBergmann\\LinesOfCode\\IllogicalValuesException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/IllogicalValuesException.php',
'SebastianBergmann\\LinesOfCode\\LineCountingVisitor' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/LineCountingVisitor.php',
'SebastianBergmann\\LinesOfCode\\LinesOfCode' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/LinesOfCode.php',
+ 'SebastianBergmann\\LinesOfCode\\NegativeValueException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/NegativeValueException.php',
'SebastianBergmann\\LinesOfCode\\RuntimeException' => __DIR__ . '/..' . '/sebastian/lines-of-code/src/Exception/RuntimeException.php',
'SebastianBergmann\\ObjectEnumerator\\Enumerator' => __DIR__ . '/..' . '/sebastian/object-enumerator/src/Enumerator.php',
'SebastianBergmann\\ObjectReflector\\ObjectReflector' => __DIR__ . '/..' . '/sebastian/object-reflector/src/ObjectReflector.php',
@@ -1570,16 +1296,6 @@ class ComposerStaticInitc00e5b601adae61bbbc3f6be4864ef55
'TheSeer\\Tokenizer\\TokenCollectionException' => __DIR__ . '/..' . '/theseer/tokenizer/src/TokenCollectionException.php',
'TheSeer\\Tokenizer\\Tokenizer' => __DIR__ . '/..' . '/theseer/tokenizer/src/Tokenizer.php',
'TheSeer\\Tokenizer\\XMLSerializer' => __DIR__ . '/..' . '/theseer/tokenizer/src/XMLSerializer.php',
- 'goodboyalex\\php_components_pack\\classes\\ActionState' => __DIR__ . '/../..' . '/sources/classes/ActionState.php',
- 'goodboyalex\\php_components_pack\\classes\\ClassMapper' => __DIR__ . '/../..' . '/sources/classes/ClassMapper.php',
- 'goodboyalex\\php_components_pack\\enums\\MessageType' => __DIR__ . '/../..' . '/sources/enums/MessageType.php',
- 'goodboyalex\\php_components_pack\\extensions\\ArrayExtension' => __DIR__ . '/../..' . '/sources/extensions/ArrayExtension.php',
- 'goodboyalex\\php_components_pack\\extensions\\GUIDExtension' => __DIR__ . '/../..' . '/sources/extensions/GUIDExtension.php',
- 'goodboyalex\\php_components_pack\\extensions\\StringExtension' => __DIR__ . '/../..' . '/sources/extensions/StringExtension.php',
- 'goodboyalex\\php_components_pack\\interfaces\\ISerializable' => __DIR__ . '/../..' . '/sources/interfaces/ISerializable.php',
- 'goodboyalex\\php_components_pack\\models\\ActionStateMessageModel' => __DIR__ . '/../..' . '/sources/models/ActionStateMessageModel.php',
- 'goodboyalex\\php_components_pack\\tests\\GUIDExtensionTest' => __DIR__ . '/../..' . '/tests/GUIDExtensionTest.php',
- 'goodboyalex\\php_components_pack\\traits\\EnumExtensionsTrait' => __DIR__ . '/../..' . '/sources/traits/EnumExtensionsTrait.php',
'staabm\\SideEffectsDetector\\SideEffect' => __DIR__ . '/..' . '/staabm/side-effects-detector/lib/SideEffect.php',
'staabm\\SideEffectsDetector\\SideEffectsDetector' => __DIR__ . '/..' . '/staabm/side-effects-detector/lib/SideEffectsDetector.php',
);
diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json
index 2bb36d4..3bff9b3 100644
--- a/vendor/composer/installed.json
+++ b/vendor/composer/installed.json
@@ -2,17 +2,17 @@
"packages": [
{
"name": "myclabs/deep-copy",
- "version": "1.x-dev",
- "version_normalized": "1.9999999.9999999.9999999-dev",
+ "version": "1.12.1",
+ "version_normalized": "1.12.1.0",
"source": {
"type": "git",
"url": "https://github.com/myclabs/DeepCopy.git",
- "reference": "4764e040f8743e92b86c36f488f32d0265dd1dae"
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/4764e040f8743e92b86c36f488f32d0265dd1dae",
- "reference": "4764e040f8743e92b86c36f488f32d0265dd1dae",
+ "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845",
+ "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845",
"shasum": ""
},
"require": {
@@ -28,8 +28,7 @@
"phpspec/prophecy": "^1.10",
"phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13"
},
- "time": "2024-11-26T13:04:49+00:00",
- "default-branch": true,
+ "time": "2024-11-08T17:47:46+00:00",
"type": "library",
"installation-source": "dist",
"autoload": {
@@ -54,7 +53,7 @@
],
"support": {
"issues": "https://github.com/myclabs/DeepCopy/issues",
- "source": "https://github.com/myclabs/DeepCopy/tree/1.x"
+ "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1"
},
"funding": [
{
@@ -127,8 +126,8 @@
},
{
"name": "phar-io/manifest",
- "version": "dev-master",
- "version_normalized": "dev-master",
+ "version": "2.0.4",
+ "version_normalized": "2.0.4.0",
"source": {
"type": "git",
"url": "https://github.com/phar-io/manifest.git",
@@ -149,7 +148,6 @@
"php": "^7.2 || ^8.0"
},
"time": "2024-03-03T12:33:53+00:00",
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
@@ -252,46 +250,46 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "11.0.8",
+ "version_normalized": "11.0.8.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "30b614244b02907cf0b2edc559fd5e24bd05ea57"
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/30b614244b02907cf0b2edc559fd5e24bd05ea57",
- "reference": "30b614244b02907cf0b2edc559fd5e24bd05ea57",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/418c59fd080954f8c4aa5631d9502ecda2387118",
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.4.0",
- "php": ">=8.3",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "sebastian/complexity": "^5.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/lines-of-code": "^4.0-dev",
- "sebastian/version": "^6.0-dev",
+ "nikic/php-parser": "^5.3.1",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.5.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
- "time": "2025-01-28T10:09:07+00:00",
- "default-branch": true,
+ "time": "2024-12-11T12:34:27+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.0.x-dev"
+ "dev-main": "11.0.x-dev"
}
},
"installation-source": "dist",
@@ -321,7 +319,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.8"
},
"funding": [
{
@@ -333,31 +331,30 @@
},
{
"name": "phpunit/php-file-iterator",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "5.1.0",
+ "version_normalized": "5.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a1339a60b2206324e440c4a3806bbd873fda0860"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a1339a60b2206324e440c4a3806bbd873fda0860",
- "reference": "a1339a60b2206324e440c4a3806bbd873fda0860",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-15T13:41:39+00:00",
- "default-branch": true,
+ "time": "2024-08-27T05:02:59+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"installation-source": "dist",
@@ -386,7 +383,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -398,35 +395,34 @@
},
{
"name": "phpunit/php-invoker",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "5.0.1",
+ "version_normalized": "5.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "a79e641e661a20d3b8c264b0b3b9eb0d98f98506"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/a79e641e661a20d3b8c264b0b3b9eb0d98f98506",
- "reference": "a79e641e661a20d3b8c264b0b3b9eb0d98f98506",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
},
- "time": "2025-01-16T08:05:12+00:00",
- "default-branch": true,
+ "time": "2024-07-03T05:07:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"installation-source": "dist",
@@ -454,7 +450,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -466,31 +462,30 @@
},
{
"name": "phpunit/php-text-template",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "4.0.1",
+ "version_normalized": "4.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0199874fd3f2ae19aa9813bdfcb68e67671eee64"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0199874fd3f2ae19aa9813bdfcb68e67671eee64",
- "reference": "0199874fd3f2ae19aa9813bdfcb68e67671eee64",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:08:04+00:00",
- "default-branch": true,
+ "time": "2024-07-03T05:08:43+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"installation-source": "dist",
@@ -518,7 +513,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -530,31 +525,30 @@
},
{
"name": "phpunit/php-timer",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "7.0.1",
+ "version_normalized": "7.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "aa0f95babbd87f096f1c20364204f195dd4b4608"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/aa0f95babbd87f096f1c20364204f195dd4b4608",
- "reference": "aa0f95babbd87f096f1c20364204f195dd4b4608",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:10:48+00:00",
- "default-branch": true,
+ "time": "2024-07-03T05:09:35+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
},
"installation-source": "dist",
@@ -582,7 +576,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"security": "https://github.com/sebastianbergmann/php-timer/security/policy",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -594,17 +588,17 @@
},
{
"name": "phpunit/phpunit",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "11.5.6",
+ "version_normalized": "11.5.6.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/phpunit.git",
- "reference": "9f2ebaf18f7741a5ee587f80a42632edaa42d424"
+ "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/9f2ebaf18f7741a5ee587f80a42632edaa42d424",
- "reference": "9f2ebaf18f7741a5ee587f80a42632edaa42d424",
+ "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3c3ae14c90f244cdda95028c3e469028e8d1c02c",
+ "reference": "3c3ae14c90f244cdda95028c3e469028e8d1c02c",
"shasum": ""
},
"require": {
@@ -617,32 +611,35 @@
"myclabs/deep-copy": "^1.12.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
- "php": ">=8.3",
- "phpunit/php-code-coverage": "^12.0-dev",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-invoker": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "phpunit/php-timer": "^8.0-dev",
- "sebastian/cli-parser": "^4.0-dev",
- "sebastian/comparator": "^7.0-dev",
- "sebastian/diff": "^7.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/exporter": "^7.0-dev",
- "sebastian/global-state": "^8.0-dev",
- "sebastian/object-enumerator": "^7.0-dev",
- "sebastian/type": "^6.0-dev",
- "sebastian/version": "^6.0-dev",
+ "php": ">=8.2",
+ "phpunit/php-code-coverage": "^11.0.8",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.2",
+ "sebastian/comparator": "^6.3.0",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.3.0",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2",
"staabm/side-effects-detector": "^1.0.5"
},
- "time": "2025-01-31T07:29:09+00:00",
- "default-branch": true,
+ "suggest": {
+ "ext-soap": "To be able to generate mocks based on WSDL files"
+ },
+ "time": "2025-01-31T07:03:30+00:00",
"bin": [
"phpunit"
],
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.0-dev"
+ "dev-main": "11.5-dev"
}
},
"installation-source": "dist",
@@ -675,7 +672,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
- "source": "https://github.com/sebastianbergmann/phpunit/tree/main"
+ "source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.6"
},
"funding": [
{
@@ -695,31 +692,30 @@
},
{
"name": "sebastian/cli-parser",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "3.0.2",
+ "version_normalized": "3.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "7f79d38ab02a0cb4089f31207ca11b74f49c7848"
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7f79d38ab02a0cb4089f31207ca11b74f49c7848",
- "reference": "7f79d38ab02a0cb4089f31207ca11b74f49c7848",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:13:26+00:00",
- "default-branch": true,
+ "time": "2024-07-03T04:41:36+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "3.0-dev"
}
},
"installation-source": "dist",
@@ -744,7 +740,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/main"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
},
"funding": [
{
@@ -755,39 +751,157 @@
"install-path": "../sebastian/cli-parser"
},
{
- "name": "sebastian/comparator",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "name": "sebastian/code-unit",
+ "version": "3.0.2",
+ "version_normalized": "3.0.2.0",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "07f683f544931bc816c47faf894e387f2216a1e9"
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/07f683f544931bc816c47faf894e387f2216a1e9",
- "reference": "07f683f544931bc816c47faf894e387f2216a1e9",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^11.5"
+ },
+ "time": "2024-12-12T09:59:06+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.0-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de",
+ "role": "lead"
+ }
+ ],
+ "description": "Collection of value objects that represent the PHP code units",
+ "homepage": "https://github.com/sebastianbergmann/code-unit",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "install-path": "../sebastian/code-unit"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "4.0.1",
+ "version_normalized": "4.0.1.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^11.0"
+ },
+ "time": "2024-07-03T04:45:54+00:00",
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
+ "installation-source": "dist",
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "install-path": "../sebastian/code-unit-reverse-lookup"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "6.3.0",
+ "version_normalized": "6.3.0.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.3",
- "sebastian/diff": "^7.0",
- "sebastian/exporter": "^7.0"
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.4"
},
"suggest": {
"ext-bcmath": "For comparing BcMath\\Number objects"
},
- "time": "2025-01-16T09:21:21+00:00",
- "default-branch": true,
+ "time": "2025-01-06T10:28:19+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.2-dev"
}
},
"installation-source": "dist",
@@ -828,7 +942,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/main"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
},
"funding": [
{
@@ -840,32 +954,31 @@
},
{
"name": "sebastian/complexity",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "4.0.1",
+ "version_normalized": "4.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "eec688b04904c5ecfa3b94f59bc60485209805a9"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/eec688b04904c5ecfa3b94f59bc60485209805a9",
- "reference": "eec688b04904c5ecfa3b94f59bc60485209805a9",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:20:43+00:00",
- "default-branch": true,
+ "time": "2024-07-03T04:49:50+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"installation-source": "dist",
@@ -890,7 +1003,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/main"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -902,32 +1015,31 @@
},
{
"name": "sebastian/diff",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "6.0.2",
+ "version_normalized": "6.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "87a9594e6994ba8ee9010836903305a64c895083"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/87a9594e6994ba8ee9010836903305a64c895083",
- "reference": "87a9594e6994ba8ee9010836903305a64c895083",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
- "time": "2025-01-16T09:04:01+00:00",
- "default-branch": true,
+ "time": "2024-07-03T04:53:05+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"installation-source": "dist",
@@ -961,7 +1073,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/main"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -973,34 +1085,33 @@
},
{
"name": "sebastian/environment",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "7.2.0",
+ "version_normalized": "7.2.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "92b1a897b49e191a8fbca823d75bc0e157ff7cdb"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/92b1a897b49e191a8fbca823d75bc0e157ff7cdb",
- "reference": "92b1a897b49e191a8fbca823d75bc0e157ff7cdb",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
},
- "time": "2025-01-16T08:28:42+00:00",
- "default-branch": true,
+ "time": "2024-07-03T04:54:44+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.2-dev"
}
},
"installation-source": "dist",
@@ -1029,7 +1140,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/main"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -1041,33 +1152,32 @@
},
{
"name": "sebastian/exporter",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "6.3.0",
+ "version_normalized": "6.3.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "17e38c7a602c690c6f097b6aeaf47d0771ace9ca"
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/17e38c7a602c690c6f097b6aeaf47d0771ace9ca",
- "reference": "17e38c7a602c690c6f097b6aeaf47d0771ace9ca",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.3",
- "sebastian/recursion-context": "^7.0-dev"
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.3"
},
- "time": "2025-01-16T08:54:00+00:00",
- "default-branch": true,
+ "time": "2024-12-05T09:17:50+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.1-dev"
}
},
"installation-source": "dist",
@@ -1111,7 +1221,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/main"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
},
"funding": [
{
@@ -1123,34 +1233,33 @@
},
{
"name": "sebastian/global-state",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "7.0.2",
+ "version_normalized": "7.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "8a089e5a2a118a6725b603a47be1d1a9da1b9a68"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/8a089e5a2a118a6725b603a47be1d1a9da1b9a68",
- "reference": "8a089e5a2a118a6725b603a47be1d1a9da1b9a68",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
- "php": ">=8.3",
- "sebastian/object-reflector": "^5.0",
- "sebastian/recursion-context": "^7.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T09:14:38+00:00",
- "default-branch": true,
+ "time": "2024-07-03T04:57:36+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
},
"installation-source": "dist",
@@ -1177,7 +1286,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/main"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -1189,32 +1298,31 @@
},
{
"name": "sebastian/lines-of-code",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "3.0.1",
+ "version_normalized": "3.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "fe8070ab1160c447839048ab240c07c448caa2b2"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/fe8070ab1160c447839048ab240c07c448caa2b2",
- "reference": "fe8070ab1160c447839048ab240c07c448caa2b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:36:53+00:00",
- "default-branch": true,
+ "time": "2024-07-03T04:58:38+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "3.0-dev"
}
},
"installation-source": "dist",
@@ -1239,7 +1347,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/main"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -1251,33 +1359,32 @@
},
{
"name": "sebastian/object-enumerator",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "6.0.1",
+ "version_normalized": "6.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "250d806a14baca8c4b37823426277dbcb8d4440d"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/250d806a14baca8c4b37823426277dbcb8d4440d",
- "reference": "250d806a14baca8c4b37823426277dbcb8d4440d",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
- "php": ">=8.3",
- "sebastian/object-reflector": "^5.0",
- "sebastian/recursion-context": "^7.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:38:51+00:00",
- "default-branch": true,
+ "time": "2024-07-03T05:00:13+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"installation-source": "dist",
@@ -1301,7 +1408,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
"security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/main"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -1313,31 +1420,30 @@
},
{
"name": "sebastian/object-reflector",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "4.0.1",
+ "version_normalized": "4.0.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "7dddd66b56ba05cb474de46b2b623e92b42bff3a"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/7dddd66b56ba05cb474de46b2b623e92b42bff3a",
- "reference": "7dddd66b56ba05cb474de46b2b623e92b42bff3a",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:40:54+00:00",
- "default-branch": true,
+ "time": "2024-07-03T05:01:32+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"installation-source": "dist",
@@ -1361,7 +1467,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
"security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/main"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -1373,31 +1479,30 @@
},
{
"name": "sebastian/recursion-context",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "6.0.2",
+ "version_normalized": "6.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "c9442e27dc9965ad453397725830d8ecb5497410"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/c9442e27dc9965ad453397725830d8ecb5497410",
- "reference": "c9442e27dc9965ad453397725830d8ecb5497410",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "time": "2025-01-16T08:53:18+00:00",
- "default-branch": true,
+ "time": "2024-07-03T05:10:34+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"installation-source": "dist",
@@ -1429,7 +1534,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/main"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -1441,31 +1546,30 @@
},
{
"name": "sebastian/type",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "5.1.0",
+ "version_normalized": "5.1.0.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "b07de32ccc63961cfcf87c4531816388dbaf264f"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b07de32ccc63961cfcf87c4531816388dbaf264f",
- "reference": "b07de32ccc63961cfcf87c4531816388dbaf264f",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.3"
},
- "time": "2025-01-16T08:45:13+00:00",
- "default-branch": true,
+ "time": "2024-09-17T13:12:04+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.1-dev"
}
},
"installation-source": "dist",
@@ -1490,7 +1594,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
- "source": "https://github.com/sebastianbergmann/type/tree/main"
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -1502,28 +1606,27 @@
},
{
"name": "sebastian/version",
- "version": "dev-main",
- "version_normalized": "dev-main",
+ "version": "5.0.2",
+ "version_normalized": "5.0.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "3e8786f0e004140c3be066577af51e7ea0446e54"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e8786f0e004140c3be066577af51e7ea0446e54",
- "reference": "3e8786f0e004140c3be066577af51e7ea0446e54",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
- "time": "2025-01-16T08:47:17+00:00",
- "default-branch": true,
+ "time": "2024-10-09T05:16:32+00:00",
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"installation-source": "dist",
@@ -1548,7 +1651,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
"security": "https://github.com/sebastianbergmann/version/security/policy",
- "source": "https://github.com/sebastianbergmann/version/tree/main"
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -1680,6 +1783,8 @@
"phpunit/php-timer",
"phpunit/phpunit",
"sebastian/cli-parser",
+ "sebastian/code-unit",
+ "sebastian/code-unit-reverse-lookup",
"sebastian/comparator",
"sebastian/complexity",
"sebastian/diff",
diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php
index 61493ff..c16a6b2 100644
--- a/vendor/composer/installed.php
+++ b/vendor/composer/installed.php
@@ -3,7 +3,7 @@
'name' => 'goodboyalex/php_components_pack',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => 'f1a79d66ec29418af66448e6eca584eddfe31d4d',
+ 'reference' => '4bcb4c60dd4219bbb7ff6c9887884541010bcdbc',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
@@ -13,16 +13,16 @@
'goodboyalex/php_components_pack' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => 'f1a79d66ec29418af66448e6eca584eddfe31d4d',
+ 'reference' => '4bcb4c60dd4219bbb7ff6c9887884541010bcdbc',
'type' => 'library',
'install_path' => __DIR__ . '/../../',
'aliases' => array(),
'dev_requirement' => false,
),
'myclabs/deep-copy' => array(
- 'pretty_version' => '1.x-dev',
- 'version' => '1.9999999.9999999.9999999-dev',
- 'reference' => '4764e040f8743e92b86c36f488f32d0265dd1dae',
+ 'pretty_version' => '1.12.1',
+ 'version' => '1.12.1.0',
+ 'reference' => '123267b2c49fbf30d78a7b2d333f6be754b94845',
'type' => 'library',
'install_path' => __DIR__ . '/../myclabs/deep-copy',
'aliases' => array(),
@@ -38,14 +38,12 @@
'dev_requirement' => true,
),
'phar-io/manifest' => array(
- 'pretty_version' => 'dev-master',
- 'version' => 'dev-master',
+ 'pretty_version' => '2.0.4',
+ 'version' => '2.0.4.0',
'reference' => '54750ef60c58e43759730615a392c31c80e23176',
'type' => 'library',
'install_path' => __DIR__ . '/../phar-io/manifest',
- 'aliases' => array(
- 0 => '2.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'phar-io/version' => array(
@@ -58,212 +56,192 @@
'dev_requirement' => true,
),
'phpunit/php-code-coverage' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '30b614244b02907cf0b2edc559fd5e24bd05ea57',
+ 'pretty_version' => '11.0.8',
+ 'version' => '11.0.8.0',
+ 'reference' => '418c59fd080954f8c4aa5631d9502ecda2387118',
'type' => 'library',
'install_path' => __DIR__ . '/../phpunit/php-code-coverage',
- 'aliases' => array(
- 0 => '12.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'phpunit/php-file-iterator' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'a1339a60b2206324e440c4a3806bbd873fda0860',
+ 'pretty_version' => '5.1.0',
+ 'version' => '5.1.0.0',
+ 'reference' => '118cfaaa8bc5aef3287bf315b6060b1174754af6',
'type' => 'library',
'install_path' => __DIR__ . '/../phpunit/php-file-iterator',
- 'aliases' => array(
- 0 => '6.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'phpunit/php-invoker' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'a79e641e661a20d3b8c264b0b3b9eb0d98f98506',
+ 'pretty_version' => '5.0.1',
+ 'version' => '5.0.1.0',
+ 'reference' => 'c1ca3814734c07492b3d4c5f794f4b0995333da2',
'type' => 'library',
'install_path' => __DIR__ . '/../phpunit/php-invoker',
- 'aliases' => array(
- 0 => '6.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'phpunit/php-text-template' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '0199874fd3f2ae19aa9813bdfcb68e67671eee64',
+ 'pretty_version' => '4.0.1',
+ 'version' => '4.0.1.0',
+ 'reference' => '3e0404dc6b300e6bf56415467ebcb3fe4f33e964',
'type' => 'library',
'install_path' => __DIR__ . '/../phpunit/php-text-template',
- 'aliases' => array(
- 0 => '5.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'phpunit/php-timer' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'aa0f95babbd87f096f1c20364204f195dd4b4608',
+ 'pretty_version' => '7.0.1',
+ 'version' => '7.0.1.0',
+ 'reference' => '3b415def83fbcb41f991d9ebf16ae4ad8b7837b3',
'type' => 'library',
'install_path' => __DIR__ . '/../phpunit/php-timer',
- 'aliases' => array(
- 0 => '8.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'phpunit/phpunit' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '9f2ebaf18f7741a5ee587f80a42632edaa42d424',
+ 'pretty_version' => '11.5.6',
+ 'version' => '11.5.6.0',
+ 'reference' => '3c3ae14c90f244cdda95028c3e469028e8d1c02c',
'type' => 'library',
'install_path' => __DIR__ . '/../phpunit/phpunit',
- 'aliases' => array(
- 0 => '12.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/cli-parser' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '7f79d38ab02a0cb4089f31207ca11b74f49c7848',
+ 'pretty_version' => '3.0.2',
+ 'version' => '3.0.2.0',
+ 'reference' => '15c5dd40dc4f38794d383bb95465193f5e0ae180',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/cli-parser',
- 'aliases' => array(
- 0 => '4.0.x-dev',
- ),
+ 'aliases' => array(),
+ 'dev_requirement' => true,
+ ),
+ 'sebastian/code-unit' => array(
+ 'pretty_version' => '3.0.2',
+ 'version' => '3.0.2.0',
+ 'reference' => 'ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca',
+ 'type' => 'library',
+ 'install_path' => __DIR__ . '/../sebastian/code-unit',
+ 'aliases' => array(),
+ 'dev_requirement' => true,
+ ),
+ 'sebastian/code-unit-reverse-lookup' => array(
+ 'pretty_version' => '4.0.1',
+ 'version' => '4.0.1.0',
+ 'reference' => '183a9b2632194febd219bb9246eee421dad8d45e',
+ 'type' => 'library',
+ 'install_path' => __DIR__ . '/../sebastian/code-unit-reverse-lookup',
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/comparator' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '07f683f544931bc816c47faf894e387f2216a1e9',
+ 'pretty_version' => '6.3.0',
+ 'version' => '6.3.0.0',
+ 'reference' => 'd4e47a769525c4dd38cea90e5dcd435ddbbc7115',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/comparator',
- 'aliases' => array(
- 0 => '7.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/complexity' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'eec688b04904c5ecfa3b94f59bc60485209805a9',
+ 'pretty_version' => '4.0.1',
+ 'version' => '4.0.1.0',
+ 'reference' => 'ee41d384ab1906c68852636b6de493846e13e5a0',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/complexity',
- 'aliases' => array(
- 0 => '5.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/diff' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '87a9594e6994ba8ee9010836903305a64c895083',
+ 'pretty_version' => '6.0.2',
+ 'version' => '6.0.2.0',
+ 'reference' => 'b4ccd857127db5d41a5b676f24b51371d76d8544',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/diff',
- 'aliases' => array(
- 0 => '7.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/environment' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '92b1a897b49e191a8fbca823d75bc0e157ff7cdb',
+ 'pretty_version' => '7.2.0',
+ 'version' => '7.2.0.0',
+ 'reference' => '855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/environment',
- 'aliases' => array(
- 0 => '8.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/exporter' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '17e38c7a602c690c6f097b6aeaf47d0771ace9ca',
+ 'pretty_version' => '6.3.0',
+ 'version' => '6.3.0.0',
+ 'reference' => '3473f61172093b2da7de1fb5782e1f24cc036dc3',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/exporter',
- 'aliases' => array(
- 0 => '7.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/global-state' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '8a089e5a2a118a6725b603a47be1d1a9da1b9a68',
+ 'pretty_version' => '7.0.2',
+ 'version' => '7.0.2.0',
+ 'reference' => '3be331570a721f9a4b5917f4209773de17f747d7',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/global-state',
- 'aliases' => array(
- 0 => '8.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/lines-of-code' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'fe8070ab1160c447839048ab240c07c448caa2b2',
+ 'pretty_version' => '3.0.1',
+ 'version' => '3.0.1.0',
+ 'reference' => 'd36ad0d782e5756913e42ad87cb2890f4ffe467a',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/lines-of-code',
- 'aliases' => array(
- 0 => '4.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/object-enumerator' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '250d806a14baca8c4b37823426277dbcb8d4440d',
+ 'pretty_version' => '6.0.1',
+ 'version' => '6.0.1.0',
+ 'reference' => 'f5b498e631a74204185071eb41f33f38d64608aa',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/object-enumerator',
- 'aliases' => array(
- 0 => '7.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/object-reflector' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '7dddd66b56ba05cb474de46b2b623e92b42bff3a',
+ 'pretty_version' => '4.0.1',
+ 'version' => '4.0.1.0',
+ 'reference' => '6e1a43b411b2ad34146dee7524cb13a068bb35f9',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/object-reflector',
- 'aliases' => array(
- 0 => '5.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/recursion-context' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'c9442e27dc9965ad453397725830d8ecb5497410',
+ 'pretty_version' => '6.0.2',
+ 'version' => '6.0.2.0',
+ 'reference' => '694d156164372abbd149a4b85ccda2e4670c0e16',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/recursion-context',
- 'aliases' => array(
- 0 => '7.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/type' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => 'b07de32ccc63961cfcf87c4531816388dbaf264f',
+ 'pretty_version' => '5.1.0',
+ 'version' => '5.1.0.0',
+ 'reference' => '461b9c5da241511a2a0e8f240814fb23ce5c0aac',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/type',
- 'aliases' => array(
- 0 => '6.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'sebastian/version' => array(
- 'pretty_version' => 'dev-main',
- 'version' => 'dev-main',
- 'reference' => '3e8786f0e004140c3be066577af51e7ea0446e54',
+ 'pretty_version' => '5.0.2',
+ 'version' => '5.0.2.0',
+ 'reference' => 'c687e3387b99f5b03b6caa64c74b63e2936ff874',
'type' => 'library',
'install_path' => __DIR__ . '/../sebastian/version',
- 'aliases' => array(
- 0 => '6.0.x-dev',
- ),
+ 'aliases' => array(),
'dev_requirement' => true,
),
'staabm/side-effects-detector' => array(
diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-11.0.md b/vendor/phpunit/php-code-coverage/ChangeLog-11.0.md
new file mode 100644
index 0000000..a6afdf3
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/ChangeLog-11.0.md
@@ -0,0 +1,74 @@
+# ChangeLog
+
+All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
+
+## [11.0.8] - 2024-12-11
+
+### Changed
+
+* [#1054](https://github.com/sebastianbergmann/php-code-coverage/pull/1054): Use click event for toggling "tests covering this line" popover in HTML report
+
+## [11.0.7] - 2024-10-09
+
+### Changed
+
+* [#1037](https://github.com/sebastianbergmann/php-code-coverage/pull/1037): Upgrade Bootstrap to version 5.3.3 for HTML report
+* [#1046](https://github.com/sebastianbergmann/php-code-coverage/pull/1046): CSS fixes for HTML report
+
+### Deprecated
+
+* The `SebastianBergmann\CodeCoverage\Filter::includeUncoveredFiles()`, `SebastianBergmann\CodeCoverage\Filter::excludeUncoveredFiles()`, and `SebastianBergmann\CodeCoverage\Filter::excludeFile()` methods have been deprecated
+
+## [11.0.6] - 2024-08-22
+
+### Changed
+
+* Updated dependencies (so that users that install using Composer's `--prefer-lowest` CLI option also get recent versions)
+
+## [11.0.5] - 2024-07-03
+
+### Changed
+
+* This project now uses PHPStan instead of Psalm for static analysis
+
+## [11.0.4] - 2024-06-29
+
+### Fixed
+
+* [#967](https://github.com/sebastianbergmann/php-code-coverage/issues/967): Identification of executable lines for `match` expressions does not work correctly
+
+## [11.0.3] - 2024-03-12
+
+### Fixed
+
+* [#1033](https://github.com/sebastianbergmann/php-code-coverage/issues/1033): `@codeCoverageIgnore` annotation does not work on `enum`
+
+## [11.0.2] - 2024-03-09
+
+### Changed
+
+* [#1032](https://github.com/sebastianbergmann/php-code-coverage/pull/1032): Pad lines in code coverage report only when colors are shown
+
+## [11.0.1] - 2024-03-02
+
+### Changed
+
+* Do not use implicitly nullable parameters
+
+## [11.0.0] - 2024-02-02
+
+### Removed
+
+* The `SebastianBergmann\CodeCoverage\Filter::includeDirectory()`, `SebastianBergmann\CodeCoverage\Filter::excludeDirectory()`, and `SebastianBergmann\CodeCoverage\Filter::excludeFile()` methods have been removed
+* This component now requires PHP-Parser 5
+* This component is no longer supported on PHP 8.1
+
+[11.0.8]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.7...11.0.8
+[11.0.7]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.6...11.0.7
+[11.0.6]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.5...11.0.6
+[11.0.5]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.4...11.0.5
+[11.0.4]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.3...11.0.4
+[11.0.3]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.2...11.0.3
+[11.0.2]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.1...11.0.2
+[11.0.1]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0.0...11.0.1
+[11.0.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/10.1...11.0.0
diff --git a/vendor/phpunit/php-code-coverage/ChangeLog-12.0.md b/vendor/phpunit/php-code-coverage/ChangeLog-12.0.md
deleted file mode 100644
index b432240..0000000
--- a/vendor/phpunit/php-code-coverage/ChangeLog-12.0.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# ChangeLog
-
-All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
-
-## [12.0.0] - 2025-02-07
-
-### Changed
-
-* `CodeCoverage::stop()` and `CodeCoverage::append()` now expect arguments of type `TargetCollection` instead of `array` to configure code coverage targets
-
-### Removed
-
-* Methods `CodeCoverage::includeUncoveredFiles()` and `CodeCoverage::excludeUncoveredFiles()`
-* Method `CodeCoverage::detectsDeadCode()`
-* Optional argument `$linesToBeUsed` of `CodeCoverage::stop()` and `CodeCoverage::append()` methods
-* This component is no longer supported on PHP 8.2
-* This component no longer supports Xdebug versions before Xdebug 3.1
-
-[12.0.0]: https://github.com/sebastianbergmann/php-code-coverage/compare/11.0...main
diff --git a/vendor/phpunit/php-code-coverage/LICENSE b/vendor/phpunit/php-code-coverage/LICENSE
index 017eb48..89f0530 100644
--- a/vendor/phpunit/php-code-coverage/LICENSE
+++ b/vendor/phpunit/php-code-coverage/LICENSE
@@ -1,6 +1,6 @@
BSD 3-Clause License
-Copyright (c) 2009-2025, Sebastian Bergmann
+Copyright (c) 2009-2024, Sebastian Bergmann
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/vendor/phpunit/php-code-coverage/composer.json b/vendor/phpunit/php-code-coverage/composer.json
index 506425d..a9d0076 100644
--- a/vendor/phpunit/php-code-coverage/composer.json
+++ b/vendor/phpunit/php-code-coverage/composer.json
@@ -22,29 +22,29 @@
},
"config": {
"platform": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"optimize-autoloader": true,
"sort-packages": true
},
- "minimum-stability": "dev",
"prefer-stable": true,
"require": {
- "php": ">=8.3",
+ "php": ">=8.2",
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.4.0",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "sebastian/complexity": "^5.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/lines-of-code": "^4.0-dev",
- "sebastian/version": "^6.0-dev",
+ "nikic/php-parser": "^5.3.1",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.5.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
@@ -62,7 +62,7 @@
},
"extra": {
"branch-alias": {
- "dev-main": "12.0.x-dev"
+ "dev-main": "11.0.x-dev"
}
}
}
diff --git a/vendor/phpunit/php-code-coverage/src/CodeCoverage.php b/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
index 168eede..736380f 100644
--- a/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
+++ b/vendor/phpunit/php-code-coverage/src/CodeCoverage.php
@@ -14,9 +14,11 @@ use function array_diff_key;
use function array_flip;
use function array_keys;
use function array_merge;
+use function array_merge_recursive;
use function array_unique;
use function count;
use function explode;
+use function is_array;
use function is_file;
use function sort;
use ReflectionClass;
@@ -28,33 +30,37 @@ use SebastianBergmann\CodeCoverage\Node\Directory;
use SebastianBergmann\CodeCoverage\StaticAnalysis\CachingFileAnalyser;
use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser;
use SebastianBergmann\CodeCoverage\StaticAnalysis\ParsingFileAnalyser;
-use SebastianBergmann\CodeCoverage\Test\Target\MapBuilder;
-use SebastianBergmann\CodeCoverage\Test\Target\Mapper;
-use SebastianBergmann\CodeCoverage\Test\Target\TargetCollection;
-use SebastianBergmann\CodeCoverage\Test\Target\TargetCollectionValidator;
-use SebastianBergmann\CodeCoverage\Test\Target\ValidationResult;
use SebastianBergmann\CodeCoverage\Test\TestSize\TestSize;
use SebastianBergmann\CodeCoverage\Test\TestStatus\TestStatus;
+use SebastianBergmann\CodeUnitReverseLookup\Wizard;
/**
* Provides collection functionality for PHP code coverage information.
*
- * @phpstan-type TestType array{size: string, status: string}
- * @phpstan-type TargetedLines array>
+ * @phpstan-type TestType = array{
+ * size: string,
+ * status: string,
+ * }
*/
final class CodeCoverage
{
- private const string UNCOVERED_FILES = 'UNCOVERED_FILES';
+ private const UNCOVERED_FILES = 'UNCOVERED_FILES';
private readonly Driver $driver;
private readonly Filter $filter;
- private ?Mapper $targetMapper = null;
+ private readonly Wizard $wizard;
private bool $checkForUnintentionallyCoveredCode = false;
+ private bool $includeUncoveredFiles = true;
private bool $ignoreDeprecatedCode = false;
private ?string $currentId = null;
private ?TestSize $currentSize = null;
private ProcessedCodeCoverageData $data;
private bool $useAnnotationsForIgnoringCode = true;
+ /**
+ * @var array>
+ */
+ private array $linesToBeIgnored = [];
+
/**
* @var array
*/
@@ -73,6 +79,7 @@ final class CodeCoverage
$this->driver = $driver;
$this->filter = $filter;
$this->data = new ProcessedCodeCoverageData;
+ $this->wizard = new Wizard;
}
/**
@@ -121,7 +128,9 @@ final class CodeCoverage
public function getData(bool $raw = false): ProcessedCodeCoverageData
{
if (!$raw) {
- $this->addUncoveredFilesFromFilter();
+ if ($this->includeUncoveredFiles) {
+ $this->addUncoveredFilesFromFilter();
+ }
}
return $this->data;
@@ -165,11 +174,19 @@ final class CodeCoverage
$this->cachedReport = null;
}
- public function stop(bool $append = true, ?TestStatus $status = null, null|false|TargetCollection $covers = null, ?TargetCollection $uses = null): RawCodeCoverageData
+ /**
+ * @param array> $linesToBeIgnored
+ */
+ public function stop(bool $append = true, ?TestStatus $status = null, array|false $linesToBeCovered = [], array $linesToBeUsed = [], array $linesToBeIgnored = []): RawCodeCoverageData
{
$data = $this->driver->stop();
- $this->append($data, null, $append, $status, $covers, $uses);
+ $this->linesToBeIgnored = array_merge_recursive(
+ $this->linesToBeIgnored,
+ $linesToBeIgnored,
+ );
+
+ $this->append($data, null, $append, $status, $linesToBeCovered, $linesToBeUsed, $linesToBeIgnored);
$this->currentId = null;
$this->currentSize = null;
@@ -179,11 +196,13 @@ final class CodeCoverage
}
/**
+ * @param array> $linesToBeIgnored
+ *
* @throws ReflectionException
* @throws TestIdMissingException
* @throws UnintentionallyCoveredCodeException
*/
- public function append(RawCodeCoverageData $rawData, ?string $id = null, bool $append = true, ?TestStatus $status = null, null|false|TargetCollection $covers = null, ?TargetCollection $uses = null): void
+ public function append(RawCodeCoverageData $rawData, ?string $id = null, bool $append = true, ?TestStatus $status = null, array|false $linesToBeCovered = [], array $linesToBeUsed = [], array $linesToBeIgnored = []): void
{
if ($id === null) {
$id = $this->currentId;
@@ -193,32 +212,24 @@ final class CodeCoverage
throw new TestIdMissingException;
}
+ $this->cachedReport = null;
+
if ($status === null) {
$status = TestStatus::unknown();
}
- if ($covers === null) {
- $covers = TargetCollection::fromArray([]);
- }
-
- if ($uses === null) {
- $uses = TargetCollection::fromArray([]);
- }
-
$size = $this->currentSize;
if ($size === null) {
$size = TestSize::unknown();
}
- $this->cachedReport = null;
-
$this->applyFilter($rawData);
$this->applyExecutableLinesFilter($rawData);
if ($this->useAnnotationsForIgnoringCode) {
- $this->applyIgnoredLinesFilter($rawData);
+ $this->applyIgnoredLinesFilter($rawData, $linesToBeIgnored);
}
$this->data->initializeUnseenData($rawData);
@@ -231,17 +242,6 @@ final class CodeCoverage
return;
}
- $linesToBeCovered = false;
- $linesToBeUsed = [];
-
- if ($covers !== false) {
- $linesToBeCovered = $this->targetMapper()->mapTargets($covers);
- }
-
- if ($linesToBeCovered !== false) {
- $linesToBeUsed = $this->targetMapper()->mapTargets($uses);
- }
-
$this->applyCoversAndUsesFilter(
$rawData,
$linesToBeCovered,
@@ -287,6 +287,22 @@ final class CodeCoverage
$this->checkForUnintentionallyCoveredCode = false;
}
+ /**
+ * @deprecated
+ */
+ public function includeUncoveredFiles(): void
+ {
+ $this->includeUncoveredFiles = true;
+ }
+
+ /**
+ * @deprecated
+ */
+ public function excludeUncoveredFiles(): void
+ {
+ $this->includeUncoveredFiles = false;
+ }
+
public function enableAnnotationsForIgnoringCode(): void
{
$this->useAnnotationsForIgnoringCode = true;
@@ -362,15 +378,12 @@ final class CodeCoverage
return $this->driver->collectsBranchAndPathCoverage();
}
- public function validate(TargetCollection $targets): ValidationResult
+ public function detectsDeadCode(): bool
{
- return (new TargetCollectionValidator)->validate($this->targetMapper(), $targets);
+ return $this->driver->detectsDeadCode();
}
/**
- * @param false|TargetedLines $linesToBeCovered
- * @param TargetedLines $linesToBeUsed
- *
* @throws ReflectionException
* @throws UnintentionallyCoveredCodeException
*/
@@ -397,9 +410,11 @@ final class CodeCoverage
$rawData->removeCoverageDataForFile($fileWithNoCoverage);
}
- foreach ($linesToBeCovered as $fileToBeCovered => $includedLines) {
- $rawData->keepLineCoverageDataOnlyForLines($fileToBeCovered, $includedLines);
- $rawData->keepFunctionCoverageDataOnlyForLines($fileToBeCovered, $includedLines);
+ if (is_array($linesToBeCovered)) {
+ foreach ($linesToBeCovered as $fileToBeCovered => $includedLines) {
+ $rawData->keepLineCoverageDataOnlyForLines($fileToBeCovered, $includedLines);
+ $rawData->keepFunctionCoverageDataOnlyForLines($fileToBeCovered, $includedLines);
+ }
}
}
@@ -437,13 +452,23 @@ final class CodeCoverage
}
}
- private function applyIgnoredLinesFilter(RawCodeCoverageData $data): void
+ /**
+ * @param array> $linesToBeIgnored
+ */
+ private function applyIgnoredLinesFilter(RawCodeCoverageData $data, array $linesToBeIgnored): void
{
foreach (array_keys($data->lineCoverage()) as $filename) {
if (!$this->filter->isFile($filename)) {
continue;
}
+ if (isset($linesToBeIgnored[$filename])) {
+ $data->removeCoverageDataForLines(
+ $filename,
+ $linesToBeIgnored[$filename],
+ );
+ }
+
$data->removeCoverageDataForLines(
$filename,
$this->analyser()->ignoredLinesFor($filename),
@@ -469,15 +494,13 @@ final class CodeCoverage
$this->analyser(),
),
self::UNCOVERED_FILES,
+ linesToBeIgnored: $this->linesToBeIgnored,
);
}
}
}
/**
- * @param TargetedLines $linesToBeCovered
- * @param TargetedLines $linesToBeUsed
- *
* @throws ReflectionException
* @throws UnintentionallyCoveredCodeException
*/
@@ -493,7 +516,7 @@ final class CodeCoverage
foreach ($data->lineCoverage() as $file => $_data) {
foreach ($_data as $line => $flag) {
if ($flag === 1 && !isset($allowedLines[$file][$line])) {
- $unintentionallyCoveredUnits[] = $this->targetMapper->lookup($file, $line);
+ $unintentionallyCoveredUnits[] = $this->wizard->lookup($file, $line);
}
}
}
@@ -507,12 +530,6 @@ final class CodeCoverage
}
}
- /**
- * @param TargetedLines $linesToBeCovered
- * @param TargetedLines $linesToBeUsed
- *
- * @return TargetedLines
- */
private function getAllowedLines(array $linesToBeCovered, array $linesToBeUsed): array
{
$allowedLines = [];
@@ -595,19 +612,6 @@ final class CodeCoverage
return $processed;
}
- private function targetMapper(): Mapper
- {
- if ($this->targetMapper !== null) {
- return $this->targetMapper;
- }
-
- $this->targetMapper = new Mapper(
- (new MapBuilder)->build($this->filter, $this->analyser()),
- );
-
- return $this->targetMapper;
- }
-
private function analyser(): FileAnalyser
{
if ($this->analyser !== null) {
diff --git a/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php b/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php
index 57ccbb1..290a8cc 100644
--- a/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php
+++ b/vendor/phpunit/php-code-coverage/src/Data/ProcessedCodeCoverageData.php
@@ -17,31 +17,13 @@ use function count;
use function is_array;
use function ksort;
use SebastianBergmann\CodeCoverage\Driver\Driver;
-use SebastianBergmann\CodeCoverage\Driver\XdebugDriver;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type XdebugFunctionCoverageType from XdebugDriver
+ * @phpstan-import-type XdebugFunctionCoverageType from \SebastianBergmann\CodeCoverage\Driver\XdebugDriver
*
- * @phpstan-type TestIdType string
- * @phpstan-type FunctionCoverageDataType array{
- * branches: array,
- * out: array,
- * out_hit: array,
- * }>,
- * paths: array,
- * hit: list,
- * }>,
- * hit: list
- * }
- * @phpstan-type FunctionCoverageType array>
+ * @phpstan-type TestIdType = string
*/
final class ProcessedCodeCoverageData
{
@@ -58,7 +40,22 @@ final class ProcessedCodeCoverageData
* Maintains base format of raw data (@see https://xdebug.org/docs/code_coverage), but each 'hit' entry is an array
* of testcase ids.
*
- * @var FunctionCoverageType
+ * @var array,
+ * out: array,
+ * out_hit: array,
+ * }>,
+ * paths: array,
+ * hit: list,
+ * }>,
+ * hit: list
+ * }>>
*/
private array $functionCoverage = [];
@@ -219,8 +216,6 @@ final class ProcessedCodeCoverageData
* 4 = the line has been tested
*
* During a merge, a higher number is better.
- *
- * @return 1|2|3|4
*/
private function priorityForLine(array $data, int $line): int
{
@@ -242,7 +237,7 @@ final class ProcessedCodeCoverageData
/**
* For a function we have never seen before, copy all data over and simply init the 'hit' array.
*
- * @param FunctionCoverageDataType|XdebugFunctionCoverageType $functionData
+ * @param XdebugFunctionCoverageType $functionData
*/
private function initPreviouslyUnseenFunction(string $file, string $functionName, array $functionData): void
{
@@ -262,7 +257,7 @@ final class ProcessedCodeCoverageData
* Techniques such as mocking and where the contents of a file are different vary during tests (e.g. compiling
* containers) mean that the functions inside a file cannot be relied upon to be static.
*
- * @param FunctionCoverageDataType|XdebugFunctionCoverageType $functionData
+ * @param XdebugFunctionCoverageType $functionData
*/
private function initPreviouslySeenFunction(string $file, string $functionName, array $functionData): void
{
diff --git a/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php b/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php
index 058ec19..444f410 100644
--- a/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php
+++ b/vendor/phpunit/php-code-coverage/src/Data/RawCodeCoverageData.php
@@ -14,7 +14,6 @@ use function array_diff_key;
use function array_flip;
use function array_intersect;
use function array_intersect_key;
-use function array_map;
use function count;
use function explode;
use function file_get_contents;
@@ -26,15 +25,14 @@ use function str_ends_with;
use function str_starts_with;
use function trim;
use SebastianBergmann\CodeCoverage\Driver\Driver;
-use SebastianBergmann\CodeCoverage\Driver\XdebugDriver;
use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type XdebugFunctionsCoverageType from XdebugDriver
- * @phpstan-import-type XdebugCodeCoverageWithoutPathCoverageType from XdebugDriver
- * @phpstan-import-type XdebugCodeCoverageWithPathCoverageType from XdebugDriver
+ * @phpstan-import-type XdebugFunctionsCoverageType from \SebastianBergmann\CodeCoverage\Driver\XdebugDriver
+ * @phpstan-import-type XdebugCodeCoverageWithoutPathCoverageType from \SebastianBergmann\CodeCoverage\Driver\XdebugDriver
+ * @phpstan-import-type XdebugCodeCoverageWithPathCoverageType from \SebastianBergmann\CodeCoverage\Driver\XdebugDriver
*/
final class RawCodeCoverageData
{
@@ -88,10 +86,11 @@ final class RawCodeCoverageData
public static function fromUncoveredFile(string $filename, FileAnalyser $analyser): self
{
- $lineCoverage = array_map(
- static fn (): int => Driver::LINE_NOT_EXECUTED,
- $analyser->executableLinesIn($filename),
- );
+ $lineCoverage = [];
+
+ foreach ($analyser->executableLinesIn($filename) as $line => $branch) {
+ $lineCoverage[$line] = Driver::LINE_NOT_EXECUTED;
+ }
return new self([$filename => $lineCoverage], []);
}
@@ -261,9 +260,6 @@ final class RawCodeCoverageData
}
}
- /**
- * @return array
- */
private function getEmptyLinesForFile(string $filename): array
{
if (!isset(self::$emptyLineCache[$filename])) {
diff --git a/vendor/phpunit/php-code-coverage/src/Driver/Driver.php b/vendor/phpunit/php-code-coverage/src/Driver/Driver.php
index 454983d..cfbed9c 100644
--- a/vendor/phpunit/php-code-coverage/src/Driver/Driver.php
+++ b/vendor/phpunit/php-code-coverage/src/Driver/Driver.php
@@ -12,6 +12,7 @@ namespace SebastianBergmann\CodeCoverage\Driver;
use function sprintf;
use SebastianBergmann\CodeCoverage\BranchAndPathCoverageNotSupportedException;
use SebastianBergmann\CodeCoverage\Data\RawCodeCoverageData;
+use SebastianBergmann\CodeCoverage\DeadCodeDetectionNotSupportedException;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
@@ -23,36 +24,37 @@ abstract class Driver
*
* @see http://xdebug.org/docs/code_coverage
*/
- public const int LINE_NOT_EXECUTABLE = -2;
+ public const LINE_NOT_EXECUTABLE = -2;
/**
* @var int
*
* @see http://xdebug.org/docs/code_coverage
*/
- public const int LINE_NOT_EXECUTED = -1;
+ public const LINE_NOT_EXECUTED = -1;
/**
* @var int
*
* @see http://xdebug.org/docs/code_coverage
*/
- public const int LINE_EXECUTED = 1;
+ public const LINE_EXECUTED = 1;
/**
* @var int
*
* @see http://xdebug.org/docs/code_coverage
*/
- public const int BRANCH_NOT_HIT = 0;
+ public const BRANCH_NOT_HIT = 0;
/**
* @var int
*
* @see http://xdebug.org/docs/code_coverage
*/
- public const int BRANCH_HIT = 1;
+ public const BRANCH_HIT = 1;
private bool $collectBranchAndPathCoverage = false;
+ private bool $detectDeadCode = false;
public function canCollectBranchAndPathCoverage(): bool
{
@@ -86,6 +88,38 @@ abstract class Driver
$this->collectBranchAndPathCoverage = false;
}
+ public function canDetectDeadCode(): bool
+ {
+ return false;
+ }
+
+ public function detectsDeadCode(): bool
+ {
+ return $this->detectDeadCode;
+ }
+
+ /**
+ * @throws DeadCodeDetectionNotSupportedException
+ */
+ public function enableDeadCodeDetection(): void
+ {
+ if (!$this->canDetectDeadCode()) {
+ throw new DeadCodeDetectionNotSupportedException(
+ sprintf(
+ '%s does not support dead code detection',
+ $this->nameAndVersion(),
+ ),
+ );
+ }
+
+ $this->detectDeadCode = true;
+ }
+
+ public function disableDeadCodeDetection(): void
+ {
+ $this->detectDeadCode = false;
+ }
+
abstract public function nameAndVersion(): string;
abstract public function start(): void;
diff --git a/vendor/phpunit/php-code-coverage/src/Driver/PcovDriver.php b/vendor/phpunit/php-code-coverage/src/Driver/PcovDriver.php
index 9add4a6..cdb01e6 100644
--- a/vendor/phpunit/php-code-coverage/src/Driver/PcovDriver.php
+++ b/vendor/phpunit/php-code-coverage/src/Driver/PcovDriver.php
@@ -38,9 +38,6 @@ final class PcovDriver extends Driver
$this->filter = $filter;
}
- /**
- * @codeCoverageIgnore
- */
public function start(): void
{
start();
@@ -50,7 +47,6 @@ final class PcovDriver extends Driver
{
stop();
- // @codeCoverageIgnoreStart
$filesToCollectCoverageFor = waiting();
$collected = [];
@@ -65,7 +61,6 @@ final class PcovDriver extends Driver
}
return RawCodeCoverageData::fromXdebugWithoutPathCoverage($collected);
- // @codeCoverageIgnoreEnd
}
public function nameAndVersion(): string
diff --git a/vendor/phpunit/php-code-coverage/src/Driver/Selector.php b/vendor/phpunit/php-code-coverage/src/Driver/Selector.php
index 56ffbf8..f1ff32b 100644
--- a/vendor/phpunit/php-code-coverage/src/Driver/Selector.php
+++ b/vendor/phpunit/php-code-coverage/src/Driver/Selector.php
@@ -21,7 +21,6 @@ final class Selector
* @throws PcovNotAvailableException
* @throws XdebugNotAvailableException
* @throws XdebugNotEnabledException
- * @throws XdebugVersionNotSupportedException
*/
public function forLineCoverage(Filter $filter): Driver
{
@@ -32,7 +31,11 @@ final class Selector
}
if ($runtime->hasXdebug()) {
- return new XdebugDriver($filter);
+ $driver = new XdebugDriver($filter);
+
+ $driver->enableDeadCodeDetection();
+
+ return $driver;
}
throw new NoCodeCoverageDriverAvailableException;
@@ -42,13 +45,13 @@ final class Selector
* @throws NoCodeCoverageDriverWithPathCoverageSupportAvailableException
* @throws XdebugNotAvailableException
* @throws XdebugNotEnabledException
- * @throws XdebugVersionNotSupportedException
*/
public function forLineAndPathCoverage(Filter $filter): Driver
{
if ((new Runtime)->hasXdebug()) {
$driver = new XdebugDriver($filter);
+ $driver->enableDeadCodeDetection();
$driver->enableBranchAndPathCoverage();
return $driver;
diff --git a/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php b/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php
index 039df00..b57f737 100644
--- a/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php
+++ b/vendor/phpunit/php-code-coverage/src/Driver/XdebugDriver.php
@@ -14,8 +14,11 @@ use const XDEBUG_CC_DEAD_CODE;
use const XDEBUG_CC_UNUSED;
use const XDEBUG_FILTER_CODE_COVERAGE;
use const XDEBUG_PATH_INCLUDE;
+use function explode;
use function extension_loaded;
+use function getenv;
use function in_array;
+use function ini_get;
use function phpversion;
use function version_compare;
use function xdebug_get_code_coverage;
@@ -31,8 +34,8 @@ use SebastianBergmann\CodeCoverage\Filter;
*
* @see https://xdebug.org/docs/code_coverage#xdebug_get_code_coverage
*
- * @phpstan-type XdebugLinesCoverageType array
- * @phpstan-type XdebugBranchCoverageType array{
+ * @phpstan-type XdebugLinesCoverageType = array
+ * @phpstan-type XdebugBranchCoverageType = array{
* op_start: int,
* op_end: int,
* line_start: int,
@@ -41,32 +44,32 @@ use SebastianBergmann\CodeCoverage\Filter;
* out: array,
* out_hit: array,
* }
- * @phpstan-type XdebugPathCoverageType array{
+ * @phpstan-type XdebugPathCoverageType = array{
* path: array,
* hit: int,
* }
- * @phpstan-type XdebugFunctionCoverageType array{
+ * @phpstan-type XdebugFunctionCoverageType = array{
* branches: array,
* paths: array,
* }
- * @phpstan-type XdebugFunctionsCoverageType array
- * @phpstan-type XdebugPathAndBranchesCoverageType array{
+ * @phpstan-type XdebugFunctionsCoverageType = array
+ * @phpstan-type XdebugPathAndBranchesCoverageType = array{
* lines: XdebugLinesCoverageType,
* functions: XdebugFunctionsCoverageType,
* }
- * @phpstan-type XdebugCodeCoverageWithoutPathCoverageType array
- * @phpstan-type XdebugCodeCoverageWithPathCoverageType array
+ * @phpstan-type XdebugCodeCoverageWithoutPathCoverageType = array
+ * @phpstan-type XdebugCodeCoverageWithPathCoverageType = array
*/
final class XdebugDriver extends Driver
{
/**
* @throws XdebugNotAvailableException
* @throws XdebugNotEnabledException
- * @throws XdebugVersionNotSupportedException
*/
public function __construct(Filter $filter)
{
$this->ensureXdebugIsAvailable();
+ $this->ensureXdebugCodeCoverageFeatureIsEnabled();
if (!$filter->isEmpty()) {
xdebug_set_filter(
@@ -82,9 +85,18 @@ final class XdebugDriver extends Driver
return true;
}
+ public function canDetectDeadCode(): bool
+ {
+ return true;
+ }
+
public function start(): void
{
- $flags = XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE;
+ $flags = XDEBUG_CC_UNUSED;
+
+ if ($this->detectsDeadCode() || $this->collectsBranchAndPathCoverage()) {
+ $flags |= XDEBUG_CC_DEAD_CODE;
+ }
if ($this->collectsBranchAndPathCoverage()) {
$flags |= XDEBUG_CC_BRANCH_CHECK;
@@ -115,20 +127,35 @@ final class XdebugDriver extends Driver
/**
* @throws XdebugNotAvailableException
- * @throws XdebugNotEnabledException
- * @throws XdebugVersionNotSupportedException
*/
private function ensureXdebugIsAvailable(): void
{
if (!extension_loaded('xdebug')) {
throw new XdebugNotAvailableException;
}
+ }
- if (!version_compare(phpversion('xdebug'), '3.1', '>=')) {
- throw new XdebugVersionNotSupportedException(phpversion('xdebug'));
+ /**
+ * @throws XdebugNotEnabledException
+ */
+ private function ensureXdebugCodeCoverageFeatureIsEnabled(): void
+ {
+ if (version_compare(phpversion('xdebug'), '3.1', '>=')) {
+ if (!in_array('coverage', xdebug_info('mode'), true)) {
+ throw new XdebugNotEnabledException;
+ }
+
+ return;
}
- if (!in_array('coverage', xdebug_info('mode'), true)) {
+ $mode = getenv('XDEBUG_MODE');
+
+ if ($mode === false || $mode === '') {
+ $mode = ini_get('xdebug.mode');
+ }
+
+ if ($mode === false ||
+ !in_array('coverage', explode(',', $mode), true)) {
throw new XdebugNotEnabledException;
}
}
diff --git a/vendor/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php b/vendor/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php
new file mode 100644
index 0000000..d360064
--- /dev/null
+++ b/vendor/phpunit/php-code-coverage/src/Exception/DeadCodeDetectionNotSupportedException.php
@@ -0,0 +1,16 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace SebastianBergmann\CodeCoverage;
+
+use RuntimeException;
+
+final class DeadCodeDetectionNotSupportedException extends RuntimeException implements Exception
+{
+}
diff --git a/vendor/phpunit/php-code-coverage/src/Exception/InvalidCodeCoverageTargetException.php b/vendor/phpunit/php-code-coverage/src/Exception/InvalidCodeCoverageTargetException.php
deleted file mode 100644
index 0913958..0000000
--- a/vendor/phpunit/php-code-coverage/src/Exception/InvalidCodeCoverageTargetException.php
+++ /dev/null
@@ -1,27 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-use function sprintf;
-use RuntimeException;
-use SebastianBergmann\CodeCoverage\Exception;
-
-final class InvalidCodeCoverageTargetException extends RuntimeException implements Exception
-{
- public function __construct(Target $target)
- {
- parent::__construct(
- sprintf(
- '%s is not a valid target for code coverage',
- $target->description(),
- ),
- );
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Exception/XdebugVersionNotSupportedException.php b/vendor/phpunit/php-code-coverage/src/Exception/XdebugVersionNotSupportedException.php
deleted file mode 100644
index c785af1..0000000
--- a/vendor/phpunit/php-code-coverage/src/Exception/XdebugVersionNotSupportedException.php
+++ /dev/null
@@ -1,30 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Driver;
-
-use function sprintf;
-use RuntimeException;
-use SebastianBergmann\CodeCoverage\Exception;
-
-final class XdebugVersionNotSupportedException extends RuntimeException implements Exception
-{
- /**
- * @param non-empty-string $version
- */
- public function __construct(string $version)
- {
- parent::__construct(
- sprintf(
- 'Version %s of the Xdebug extension is not supported',
- $version,
- ),
- );
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php b/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php
index 2cee547..000d03d 100644
--- a/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php
+++ b/vendor/phpunit/php-code-coverage/src/Node/AbstractNode.php
@@ -15,24 +15,20 @@ use function str_ends_with;
use function str_replace;
use function substr;
use Countable;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode;
use SebastianBergmann\CodeCoverage\Util\Percentage;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type ProcessedFunctionType from File
- * @phpstan-import-type ProcessedClassType from File
- * @phpstan-import-type ProcessedTraitType from File
+ * @phpstan-import-type LinesOfCodeType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
+ * @phpstan-import-type ProcessedFunctionType from \SebastianBergmann\CodeCoverage\Node\File
+ * @phpstan-import-type ProcessedClassType from \SebastianBergmann\CodeCoverage\Node\File
+ * @phpstan-import-type ProcessedTraitType from \SebastianBergmann\CodeCoverage\Node\File
*/
abstract class AbstractNode implements Countable
{
private readonly string $name;
private string $pathAsString;
-
- /**
- * @var non-empty-list
- */
private array $pathAsArray;
private readonly ?AbstractNode $parent;
private string $id;
@@ -65,9 +61,6 @@ abstract class AbstractNode implements Countable
return $this->pathAsString;
}
- /**
- * @return non-empty-list
- */
public function pathAsArray(): array
{
return $this->pathAsArray;
@@ -193,7 +186,10 @@ abstract class AbstractNode implements Countable
*/
abstract public function functions(): array;
- abstract public function linesOfCode(): LinesOfCode;
+ /**
+ * @return LinesOfCodeType
+ */
+ abstract public function linesOfCode(): array;
abstract public function numberOfExecutableLines(): int;
diff --git a/vendor/phpunit/php-code-coverage/src/Node/Builder.php b/vendor/phpunit/php-code-coverage/src/Node/Builder.php
index 0fb1250..4dcc7b5 100644
--- a/vendor/phpunit/php-code-coverage/src/Node/Builder.php
+++ b/vendor/phpunit/php-code-coverage/src/Node/Builder.php
@@ -28,11 +28,11 @@ use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type TestType from CodeCoverage
+ * @phpstan-import-type TestType from \SebastianBergmann\CodeCoverage\CodeCoverage
*/
-final readonly class Builder
+final class Builder
{
- private FileAnalyser $analyser;
+ private readonly FileAnalyser $analyser;
public function __construct(FileAnalyser $analyser)
{
@@ -223,7 +223,6 @@ final readonly class Builder
$paths[$i] = substr($paths[$i], 7);
$paths[$i] = str_replace('/', DIRECTORY_SEPARATOR, $paths[$i]);
}
-
$paths[$i] = explode(DIRECTORY_SEPARATOR, $paths[$i]);
if (empty($paths[$i][0])) {
diff --git a/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php b/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php
index a07a550..7173276 100644
--- a/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php
+++ b/vendor/phpunit/php-code-coverage/src/Node/CrapIndex.php
@@ -14,10 +14,10 @@ use function sprintf;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class CrapIndex
+final class CrapIndex
{
- private int $cyclomaticComplexity;
- private float $codeCoverage;
+ private readonly int $cyclomaticComplexity;
+ private readonly float $codeCoverage;
public function __construct(int $cyclomaticComplexity, float $codeCoverage)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Node/Directory.php b/vendor/phpunit/php-code-coverage/src/Node/Directory.php
index 2802f93..335acd0 100644
--- a/vendor/phpunit/php-code-coverage/src/Node/Directory.php
+++ b/vendor/phpunit/php-code-coverage/src/Node/Directory.php
@@ -14,16 +14,11 @@ use function assert;
use function count;
use IteratorAggregate;
use RecursiveIteratorIterator;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode;
/**
- * @template-implements IteratorAggregate
- *
- * @phpstan-import-type ProcessedFunctionType from File
- * @phpstan-import-type ProcessedClassType from File
- * @phpstan-import-type ProcessedTraitType from File
- *
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
+ *
+ * @phpstan-import-type LinesOfCodeType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
*/
final class Directory extends AbstractNode implements IteratorAggregate
{
@@ -40,23 +35,15 @@ final class Directory extends AbstractNode implements IteratorAggregate
/**
* @var list
*/
- private array $files = [];
+ private array $files = [];
+ private ?array $classes = null;
+ private ?array $traits = null;
+ private ?array $functions = null;
/**
- * @var ?array
+ * @var null|LinesOfCodeType
*/
- private ?array $classes = null;
-
- /**
- * @var ?array
- */
- private ?array $traits = null;
-
- /**
- * @var ?array
- */
- private ?array $functions = null;
- private ?LinesOfCode $linesOfCode = null;
+ private ?array $linesOfCode = null;
private int $numFiles = -1;
private int $numExecutableLines = -1;
private int $numExecutedLines = -1;
@@ -86,9 +73,6 @@ final class Directory extends AbstractNode implements IteratorAggregate
return $this->numFiles;
}
- /**
- * @return RecursiveIteratorIterator>
- */
public function getIterator(): RecursiveIteratorIterator
{
return new RecursiveIteratorIterator(
@@ -118,33 +102,21 @@ final class Directory extends AbstractNode implements IteratorAggregate
$this->numExecutedLines = -1;
}
- /**
- * @return list
- */
public function directories(): array
{
return $this->directories;
}
- /**
- * @return list
- */
public function files(): array
{
return $this->files;
}
- /**
- * @return list
- */
public function children(): array
{
return $this->children;
}
- /**
- * @return array
- */
public function classes(): array
{
if ($this->classes === null) {
@@ -161,9 +133,6 @@ final class Directory extends AbstractNode implements IteratorAggregate
return $this->classes;
}
- /**
- * @return array
- */
public function traits(): array
{
if ($this->traits === null) {
@@ -180,9 +149,6 @@ final class Directory extends AbstractNode implements IteratorAggregate
return $this->traits;
}
- /**
- * @return array
- */
public function functions(): array
{
if ($this->functions === null) {
@@ -199,22 +165,25 @@ final class Directory extends AbstractNode implements IteratorAggregate
return $this->functions;
}
- public function linesOfCode(): LinesOfCode
+ /**
+ * @return LinesOfCodeType
+ */
+ public function linesOfCode(): array
{
if ($this->linesOfCode === null) {
- $linesOfCode = 0;
- $commentLinesOfCode = 0;
- $nonCommentLinesOfCode = 0;
+ $this->linesOfCode = [
+ 'linesOfCode' => 0,
+ 'commentLinesOfCode' => 0,
+ 'nonCommentLinesOfCode' => 0,
+ ];
foreach ($this->children as $child) {
$childLinesOfCode = $child->linesOfCode();
- $linesOfCode += $childLinesOfCode->linesOfCode();
- $commentLinesOfCode += $childLinesOfCode->commentLinesOfCode();
- $nonCommentLinesOfCode += $childLinesOfCode->nonCommentLinesOfCode();
+ $this->linesOfCode['linesOfCode'] += $childLinesOfCode['linesOfCode'];
+ $this->linesOfCode['commentLinesOfCode'] += $childLinesOfCode['commentLinesOfCode'];
+ $this->linesOfCode['nonCommentLinesOfCode'] += $childLinesOfCode['nonCommentLinesOfCode'];
}
-
- $this->linesOfCode = new LinesOfCode($linesOfCode, $commentLinesOfCode, $nonCommentLinesOfCode);
}
return $this->linesOfCode;
diff --git a/vendor/phpunit/php-code-coverage/src/Node/File.php b/vendor/phpunit/php-code-coverage/src/Node/File.php
index df45d53..ec81b23 100644
--- a/vendor/phpunit/php-code-coverage/src/Node/File.php
+++ b/vendor/phpunit/php-code-coverage/src/Node/File.php
@@ -12,21 +12,18 @@ namespace SebastianBergmann\CodeCoverage\Node;
use function array_filter;
use function count;
use function range;
-use SebastianBergmann\CodeCoverage\CodeCoverage;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\Function_;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\LinesOfCode;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\Method;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type TestType from CodeCoverage
- * @phpstan-import-type LinesType from FileAnalyser
+ * @phpstan-import-type CodeUnitFunctionType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitMethodType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitClassType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitTraitType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type LinesOfCodeType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
+ * @phpstan-import-type LinesType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
*
- * @phpstan-type ProcessedFunctionType array{
+ * @phpstan-type ProcessedFunctionType = array{
* functionName: string,
* namespace: string,
* signature: string,
@@ -43,7 +40,7 @@ use SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_;
* crap: int|string,
* link: string
* }
- * @phpstan-type ProcessedMethodType array{
+ * @phpstan-type ProcessedMethodType = array{
* methodName: string,
* visibility: string,
* signature: string,
@@ -60,7 +57,7 @@ use SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_;
* crap: int|string,
* link: string
* }
- * @phpstan-type ProcessedClassType array{
+ * @phpstan-type ProcessedClassType = array{
* className: string,
* namespace: string,
* methods: array,
@@ -76,7 +73,7 @@ use SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_;
* crap: int|string,
* link: string
* }
- * @phpstan-type ProcessedTraitType array{
+ * @phpstan-type ProcessedTraitType = array{
* traitName: string,
* namespace: string,
* methods: array,
@@ -100,10 +97,6 @@ final class File extends AbstractNode
*/
private array $lineCoverageData;
private array $functionCoverageData;
-
- /**
- * @var array
- */
private readonly array $testData;
private int $numExecutableLines = 0;
private int $numExecutedLines = 0;
@@ -126,7 +119,11 @@ final class File extends AbstractNode
* @var array
*/
private array $functions = [];
- private readonly LinesOfCode $linesOfCode;
+
+ /**
+ * @var LinesOfCodeType
+ */
+ private readonly array $linesOfCode;
private ?int $numClasses = null;
private int $numTestedClasses = 0;
private ?int $numTraits = null;
@@ -136,18 +133,18 @@ final class File extends AbstractNode
private ?int $numTestedFunctions = null;
/**
- * @var array
+ * @var array
*/
private array $codeUnitsByLine = [];
/**
* @param array> $lineCoverageData
- * @param array $testData
- * @param array $classes
- * @param array $traits
- * @param array $functions
+ * @param array $classes
+ * @param array $traits
+ * @param array $functions
+ * @param LinesOfCodeType $linesOfCode
*/
- public function __construct(string $name, AbstractNode $parent, array $lineCoverageData, array $functionCoverageData, array $testData, array $classes, array $traits, array $functions, LinesOfCode $linesOfCode)
+ public function __construct(string $name, AbstractNode $parent, array $lineCoverageData, array $functionCoverageData, array $testData, array $classes, array $traits, array $functions, array $linesOfCode)
{
parent::__construct($name, $parent);
@@ -177,9 +174,6 @@ final class File extends AbstractNode
return $this->functionCoverageData;
}
- /**
- * @return array
- */
public function testData(): array
{
return $this->testData;
@@ -209,7 +203,7 @@ final class File extends AbstractNode
return $this->functions;
}
- public function linesOfCode(): LinesOfCode
+ public function linesOfCode(): array
{
return $this->linesOfCode;
}
@@ -366,13 +360,13 @@ final class File extends AbstractNode
}
/**
- * @param array $classes
- * @param array $traits
- * @param array $functions
+ * @param array $classes
+ * @param array $traits
+ * @param array $functions
*/
private function calculateStatistics(array $classes, array $traits, array $functions): void
{
- foreach (range(1, $this->linesOfCode->linesOfCode()) as $lineNumber) {
+ foreach (range(1, $this->linesOfCode['linesOfCode']) as $lineNumber) {
$this->codeUnitsByLine[$lineNumber] = [];
}
@@ -380,7 +374,7 @@ final class File extends AbstractNode
$this->processTraits($traits);
$this->processFunctions($functions);
- foreach (range(1, $this->linesOfCode->linesOfCode()) as $lineNumber) {
+ foreach (range(1, $this->linesOfCode['linesOfCode']) as $lineNumber) {
if (isset($this->lineCoverageData[$lineNumber])) {
foreach ($this->codeUnitsByLine[$lineNumber] as &$codeUnit) {
$codeUnit['executableLines']++;
@@ -473,7 +467,7 @@ final class File extends AbstractNode
}
/**
- * @param array $classes
+ * @param array $classes
*/
private function processClasses(array $classes): void
{
@@ -482,9 +476,9 @@ final class File extends AbstractNode
foreach ($classes as $className => $class) {
$this->classes[$className] = [
'className' => $className,
- 'namespace' => $class->namespace(),
+ 'namespace' => $class['namespace'],
'methods' => [],
- 'startLine' => $class->startLine(),
+ 'startLine' => $class['startLine'],
'executableLines' => 0,
'executedLines' => 0,
'executableBranches' => 0,
@@ -494,11 +488,11 @@ final class File extends AbstractNode
'ccn' => 0,
'coverage' => 0,
'crap' => 0,
- 'link' => $link . $class->startLine(),
+ 'link' => $link . $class['startLine'],
];
- foreach ($class->methods() as $methodName => $method) {
- $methodData = $this->newMethod($className, $method, $link);
+ foreach ($class['methods'] as $methodName => $method) {
+ $methodData = $this->newMethod($className, $methodName, $method, $link);
$this->classes[$className]['methods'][$methodName] = $methodData;
$this->classes[$className]['executableBranches'] += $methodData['executableBranches'];
@@ -511,7 +505,7 @@ final class File extends AbstractNode
$this->numExecutablePaths += $methodData['executablePaths'];
$this->numExecutedPaths += $methodData['executedPaths'];
- foreach (range($method->startLine(), $method->endLine()) as $lineNumber) {
+ foreach (range($method['startLine'], $method['endLine']) as $lineNumber) {
$this->codeUnitsByLine[$lineNumber] = [
&$this->classes[$className],
&$this->classes[$className]['methods'][$methodName],
@@ -522,7 +516,7 @@ final class File extends AbstractNode
}
/**
- * @param array $traits
+ * @param array $traits
*/
private function processTraits(array $traits): void
{
@@ -531,9 +525,9 @@ final class File extends AbstractNode
foreach ($traits as $traitName => $trait) {
$this->traits[$traitName] = [
'traitName' => $traitName,
- 'namespace' => $trait->namespace(),
+ 'namespace' => $trait['namespace'],
'methods' => [],
- 'startLine' => $trait->startLine(),
+ 'startLine' => $trait['startLine'],
'executableLines' => 0,
'executedLines' => 0,
'executableBranches' => 0,
@@ -543,11 +537,11 @@ final class File extends AbstractNode
'ccn' => 0,
'coverage' => 0,
'crap' => 0,
- 'link' => $link . $trait->startLine(),
+ 'link' => $link . $trait['startLine'],
];
- foreach ($trait->methods() as $methodName => $method) {
- $methodData = $this->newMethod($traitName, $method, $link);
+ foreach ($trait['methods'] as $methodName => $method) {
+ $methodData = $this->newMethod($traitName, $methodName, $method, $link);
$this->traits[$traitName]['methods'][$methodName] = $methodData;
$this->traits[$traitName]['executableBranches'] += $methodData['executableBranches'];
@@ -560,7 +554,7 @@ final class File extends AbstractNode
$this->numExecutablePaths += $methodData['executablePaths'];
$this->numExecutedPaths += $methodData['executedPaths'];
- foreach (range($method->startLine(), $method->endLine()) as $lineNumber) {
+ foreach (range($method['startLine'], $method['endLine']) as $lineNumber) {
$this->codeUnitsByLine[$lineNumber] = [
&$this->traits[$traitName],
&$this->traits[$traitName]['methods'][$methodName],
@@ -571,7 +565,7 @@ final class File extends AbstractNode
}
/**
- * @param array $functions
+ * @param array $functions
*/
private function processFunctions(array $functions): void
{
@@ -580,23 +574,23 @@ final class File extends AbstractNode
foreach ($functions as $functionName => $function) {
$this->functions[$functionName] = [
'functionName' => $functionName,
- 'namespace' => $function->namespace(),
- 'signature' => $function->signature(),
- 'startLine' => $function->startLine(),
- 'endLine' => $function->endLine(),
+ 'namespace' => $function['namespace'],
+ 'signature' => $function['signature'],
+ 'startLine' => $function['startLine'],
+ 'endLine' => $function['endLine'],
'executableLines' => 0,
'executedLines' => 0,
'executableBranches' => 0,
'executedBranches' => 0,
'executablePaths' => 0,
'executedPaths' => 0,
- 'ccn' => $function->cyclomaticComplexity(),
+ 'ccn' => $function['ccn'],
'coverage' => 0,
'crap' => 0,
- 'link' => $link . $function->startLine(),
+ 'link' => $link . $function['startLine'],
];
- foreach (range($function->startLine(), $function->endLine()) as $lineNumber) {
+ foreach (range($function['startLine'], $function['endLine']) as $lineNumber) {
$this->codeUnitsByLine[$lineNumber] = [&$this->functions[$functionName]];
}
@@ -640,29 +634,31 @@ final class File extends AbstractNode
}
/**
+ * @param CodeUnitMethodType $method
+ *
* @return ProcessedMethodType
*/
- private function newMethod(string $className, Method $method, string $link): array
+ private function newMethod(string $className, string $methodName, array $method, string $link): array
{
$methodData = [
- 'methodName' => $method->name(),
- 'visibility' => $method->visibility()->value,
- 'signature' => $method->signature(),
- 'startLine' => $method->startLine(),
- 'endLine' => $method->endLine(),
+ 'methodName' => $methodName,
+ 'visibility' => $method['visibility'],
+ 'signature' => $method['signature'],
+ 'startLine' => $method['startLine'],
+ 'endLine' => $method['endLine'],
'executableLines' => 0,
'executedLines' => 0,
'executableBranches' => 0,
'executedBranches' => 0,
'executablePaths' => 0,
'executedPaths' => 0,
- 'ccn' => $method->cyclomaticComplexity(),
+ 'ccn' => $method['ccn'],
'coverage' => 0,
'crap' => 0,
- 'link' => $link . $method->startLine(),
+ 'link' => $link . $method['startLine'],
];
- $key = $className . '->' . $method->name();
+ $key = $className . '->' . $methodName;
if (isset($this->functionCoverageData[$key]['branches'])) {
$methodData['executableBranches'] = count(
diff --git a/vendor/phpunit/php-code-coverage/src/Node/Iterator.php b/vendor/phpunit/php-code-coverage/src/Node/Iterator.php
index ab3c8eb..b110d46 100644
--- a/vendor/phpunit/php-code-coverage/src/Node/Iterator.php
+++ b/vendor/phpunit/php-code-coverage/src/Node/Iterator.php
@@ -9,13 +9,10 @@
*/
namespace SebastianBergmann\CodeCoverage\Node;
-use function assert;
use function count;
use RecursiveIterator;
/**
- * @template-implements RecursiveIterator
- *
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
final class Iterator implements RecursiveIterator
@@ -32,38 +29,57 @@ final class Iterator implements RecursiveIterator
$this->nodes = $node->children();
}
+ /**
+ * Rewinds the Iterator to the first element.
+ */
public function rewind(): void
{
$this->position = 0;
}
+ /**
+ * Checks if there is a current element after calls to rewind() or next().
+ */
public function valid(): bool
{
return $this->position < count($this->nodes);
}
+ /**
+ * Returns the key of the current element.
+ */
public function key(): int
{
return $this->position;
}
+ /**
+ * Returns the current element.
+ */
public function current(): ?AbstractNode
{
return $this->valid() ? $this->nodes[$this->position] : null;
}
+ /**
+ * Moves forward to next element.
+ */
public function next(): void
{
$this->position++;
}
+ /**
+ * Returns the sub iterator for the current element.
+ */
public function getChildren(): self
{
- assert($this->nodes[$this->position] instanceof Directory);
-
return new self($this->nodes[$this->position]);
}
+ /**
+ * Checks whether the current element has children.
+ */
public function hasChildren(): bool
{
return $this->nodes[$this->position] instanceof Directory;
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Clover.php b/vendor/phpunit/php-code-coverage/src/Report/Clover.php
index 9d3836f..4a0bd40 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Clover.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Clover.php
@@ -168,8 +168,8 @@ final class Clover
$linesOfCode = $item->linesOfCode();
$xmlMetrics = $xmlDocument->createElement('metrics');
- $xmlMetrics->setAttribute('loc', (string) $linesOfCode->linesOfCode());
- $xmlMetrics->setAttribute('ncloc', (string) $linesOfCode->nonCommentLinesOfCode());
+ $xmlMetrics->setAttribute('loc', (string) $linesOfCode['linesOfCode']);
+ $xmlMetrics->setAttribute('ncloc', (string) $linesOfCode['nonCommentLinesOfCode']);
$xmlMetrics->setAttribute('classes', (string) $item->numberOfClassesAndTraits());
$xmlMetrics->setAttribute('methods', (string) $item->numberOfMethods());
$xmlMetrics->setAttribute('coveredmethods', (string) $item->numberOfTestedMethods());
@@ -201,8 +201,8 @@ final class Clover
$xmlMetrics = $xmlDocument->createElement('metrics');
$xmlMetrics->setAttribute('files', (string) count($report));
- $xmlMetrics->setAttribute('loc', (string) $linesOfCode->linesOfCode());
- $xmlMetrics->setAttribute('ncloc', (string) $linesOfCode->nonCommentLinesOfCode());
+ $xmlMetrics->setAttribute('loc', (string) $linesOfCode['linesOfCode']);
+ $xmlMetrics->setAttribute('ncloc', (string) $linesOfCode['nonCommentLinesOfCode']);
$xmlMetrics->setAttribute('classes', (string) $report->numberOfClassesAndTraits());
$xmlMetrics->setAttribute('methods', (string) $report->numberOfMethods());
$xmlMetrics->setAttribute('coveredmethods', (string) $report->numberOfTestedMethods());
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php b/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php
index b421888..215fc0c 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Cobertura.php
@@ -153,7 +153,7 @@ final class Cobertura
$linesValid = $method['executableLines'];
$linesCovered = $method['executedLines'];
- $lineRate = $linesCovered / $linesValid;
+ $lineRate = $linesValid === 0 ? 0 : ($linesCovered / $linesValid);
$branchesValid = $method['executableBranches'];
$branchesCovered = $method['executedBranches'];
@@ -228,7 +228,7 @@ final class Cobertura
$linesValid = $function['executableLines'];
$linesCovered = $function['executedLines'];
- $lineRate = $linesCovered / $linesValid;
+ $lineRate = $linesValid === 0 ? 0 : ($linesCovered / $linesValid);
$functionsLinesValid += $linesValid;
$functionsLinesCovered += $linesCovered;
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php b/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php
index 714fe76..cb1bde6 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Crap4j.php
@@ -22,9 +22,9 @@ use SebastianBergmann\CodeCoverage\Driver\WriteOperationFailedException;
use SebastianBergmann\CodeCoverage\Node\File;
use SebastianBergmann\CodeCoverage\Util\Filesystem;
-final readonly class Crap4j
+final class Crap4j
{
- private int $threshold;
+ private readonly int $threshold;
public function __construct(int $threshold = 30)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Colors.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Colors.php
index c79bf9e..c57aaf8 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Html/Colors.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Colors.php
@@ -12,13 +12,13 @@ namespace SebastianBergmann\CodeCoverage\Report\Html;
/**
* @immutable
*/
-final readonly class Colors
+final class Colors
{
- private string $successLow;
- private string $successMedium;
- private string $successHigh;
- private string $warning;
- private string $danger;
+ private readonly string $successLow;
+ private readonly string $successMedium;
+ private readonly string $successHigh;
+ private readonly string $warning;
+ private readonly string $danger;
public static function default(): self
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php b/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php
index 5c272a0..5f747c9 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Html/CustomCssFile.php
@@ -15,9 +15,9 @@ use SebastianBergmann\CodeCoverage\InvalidArgumentException;
/**
* @immutable
*/
-final readonly class CustomCssFile
+final class CustomCssFile
{
- private string $path;
+ private readonly string $path;
public static function default(): self
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php
index dd2a469..a3d9556 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Facade.php
@@ -22,13 +22,13 @@ use SebastianBergmann\CodeCoverage\Util\Filesystem;
use SebastianBergmann\Template\Exception;
use SebastianBergmann\Template\Template;
-final readonly class Facade
+final class Facade
{
- private string $templatePath;
- private string $generator;
- private Colors $colors;
- private Thresholds $thresholds;
- private CustomCssFile $customCssFile;
+ private readonly string $templatePath;
+ private readonly string $generator;
+ private readonly Colors $colors;
+ private readonly Thresholds $thresholds;
+ private readonly CustomCssFile $customCssFile;
public function __construct(string $generator = '', ?Colors $colors = null, ?Thresholds $thresholds = null, ?CustomCssFile $customCssFile = null)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php
index 49a03e5..6ce7b8f 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer.php
@@ -44,9 +44,6 @@ abstract class Renderer
$this->hasBranchCoverage = $hasBranchCoverage;
}
- /**
- * @param array $data
- */
protected function renderItemTemplate(Template $template, array $data): string
{
$numSeparator = ' / ';
@@ -174,8 +171,8 @@ abstract class Renderer
'version' => $this->version,
'runtime' => $this->runtimeString(),
'generator' => $this->generator,
- 'low_upper_bound' => (string) $this->thresholds->lowUpperBound(),
- 'high_lower_bound' => (string) $this->thresholds->highLowerBound(),
+ 'low_upper_bound' => $this->thresholds->lowUpperBound(),
+ 'high_lower_bound' => $this->thresholds->highLowerBound(),
],
);
}
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php
index 9d51d22..cf21cf9 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/Dashboard.php
@@ -12,7 +12,6 @@ namespace SebastianBergmann\CodeCoverage\Report\Html;
use function array_values;
use function arsort;
use function asort;
-use function assert;
use function count;
use function explode;
use function floor;
@@ -22,14 +21,10 @@ use function str_replace;
use SebastianBergmann\CodeCoverage\FileCouldNotBeWrittenException;
use SebastianBergmann\CodeCoverage\Node\AbstractNode;
use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-use SebastianBergmann\CodeCoverage\Node\File as FileNode;
use SebastianBergmann\Template\Exception;
use SebastianBergmann\Template\Template;
/**
- * @phpstan-import-type ProcessedClassType from FileNode
- * @phpstan-import-type ProcessedTraitType from FileNode
- *
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
final class Dashboard extends Renderer
@@ -86,9 +81,7 @@ final class Dashboard extends Renderer
}
/**
- * @param array $classes
- *
- * @return array{class: non-empty-string, method: non-empty-string}
+ * Returns the data for the Class/Method Complexity charts.
*/
private function complexity(array $classes, string $baseLink): array
{
@@ -122,21 +115,14 @@ final class Dashboard extends Renderer
];
}
- $class = json_encode($result['class']);
-
- assert($class !== false);
-
- $method = json_encode($result['method']);
-
- assert($method !== false);
-
- return ['class' => $class, 'method' => $method];
+ return [
+ 'class' => json_encode($result['class']),
+ 'method' => json_encode($result['method']),
+ ];
}
/**
- * @param array $classes
- *
- * @return array{class: non-empty-string, method: non-empty-string}
+ * Returns the data for the Class / Method Coverage Distribution chart.
*/
private function coverageDistribution(array $classes): array
{
@@ -195,21 +181,14 @@ final class Dashboard extends Renderer
}
}
- $class = json_encode(array_values($result['class']));
-
- assert($class !== false);
-
- $method = json_encode(array_values($result['method']));
-
- assert($method !== false);
-
- return ['class' => $class, 'method' => $method];
+ return [
+ 'class' => json_encode(array_values($result['class'])),
+ 'method' => json_encode(array_values($result['method'])),
+ ];
}
/**
- * @param array $classes
- *
- * @return array{class: string, method: string}
+ * Returns the classes / methods with insufficient coverage.
*/
private function insufficientCoverage(array $classes, string $baseLink): array
{
@@ -263,9 +242,7 @@ final class Dashboard extends Renderer
}
/**
- * @param array $classes
- *
- * @return array{class: string, method: string}
+ * Returns the project risks according to the CRAP index.
*/
private function projectRisks(array $classes, string $baseLink): array
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php
index bbf5195..aeef2b3 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Html/Renderer/File.php
@@ -108,11 +108,6 @@ use SebastianBergmann\Template\Exception;
use SebastianBergmann\Template\Template;
/**
- * @phpstan-import-type ProcessedClassType from FileNode
- * @phpstan-import-type ProcessedTraitType from FileNode
- * @phpstan-import-type ProcessedMethodType from FileNode
- * @phpstan-import-type ProcessedFunctionType from FileNode
- *
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
final class File extends Renderer
@@ -120,7 +115,7 @@ final class File extends Renderer
/**
* @var array
*/
- private const array KEYWORD_TOKENS = [
+ private const KEYWORD_TOKENS = [
T_ABSTRACT => true,
T_ARRAY => true,
T_AS => true,
@@ -190,13 +185,8 @@ final class File extends Renderer
T_YIELD => true,
T_YIELD_FROM => true,
];
-
- private const int HTML_SPECIAL_CHARS_FLAGS = ENT_COMPAT | ENT_HTML401 | ENT_SUBSTITUTE;
-
- /**
- * @var array>
- */
private static array $formattedSourceCache = [];
+ private int $htmlSpecialCharsFlags = ENT_COMPAT | ENT_HTML401 | ENT_SUBSTITUTE;
public function render(FileNode $node, string $file): void
{
@@ -324,9 +314,6 @@ final class File extends Renderer
return $items;
}
- /**
- * @param array $items
- */
private function renderTraitOrClassItems(array $items, Template $template, Template $methodItemTemplate): string
{
$buffer = '';
@@ -431,9 +418,6 @@ final class File extends Renderer
return $buffer;
}
- /**
- * @param array $functions
- */
private function renderFunctionItems(array $functions, Template $template): string
{
if (empty($functions)) {
@@ -452,9 +436,6 @@ final class File extends Renderer
return $buffer;
}
- /**
- * @param ProcessedFunctionType|ProcessedMethodType $item
- */
private function renderFunctionOrMethodItem(Template $template, array $item, string $indent = ''): string
{
$numMethods = 0;
@@ -495,7 +476,7 @@ final class File extends Renderer
'%s%s',
$indent,
$item['startLine'],
- htmlspecialchars($item['signature'], self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($item['signature'], $this->htmlSpecialCharsFlags),
$item['functionName'] ?? $item['methodName'],
),
'numMethods' => $numMethods,
@@ -573,7 +554,7 @@ final class File extends Renderer
$popover = sprintf(
' data-bs-title="%s" data-bs-content="%s" data-bs-placement="top" data-bs-html="true"',
$popoverTitle,
- htmlspecialchars($popoverContent, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags),
);
}
@@ -660,7 +641,7 @@ final class File extends Renderer
$popover = sprintf(
' data-bs-title="%s" data-bs-content="%s" data-bs-placement="top" data-bs-html="true"',
$popoverTitle,
- htmlspecialchars($popoverContent, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags),
);
}
@@ -750,7 +731,7 @@ final class File extends Renderer
$popover = sprintf(
' data-bs-title="%s" data-bs-content="%s" data-bs-placement="top" data-bs-html="true"',
$popoverTitle,
- htmlspecialchars($popoverContent, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags),
);
}
@@ -787,7 +768,7 @@ final class File extends Renderer
}
if ($branchStructure !== '') { // don't show empty branches
- $branches .= '' . "\n";
+ $branches .= '' . "\n";
$branches .= $branchStructure;
}
}
@@ -797,9 +778,6 @@ final class File extends Renderer
return $branchesTemplate->render();
}
- /**
- * @param list $codeLines
- */
private function renderBranchLines(array $branch, array $codeLines, array $testData): string
{
$linesTemplate = new Template($this->templatePath . 'lines.html.dist', '{{', '}}');
@@ -851,7 +829,7 @@ final class File extends Renderer
$popover = sprintf(
' data-bs-title="%s" data-bs-content="%s" data-bs-placement="top" data-bs-html="true"',
$popoverTitle,
- htmlspecialchars($popoverContent, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags),
);
}
@@ -896,7 +874,7 @@ final class File extends Renderer
}
if ($pathStructure !== '') {
- $paths .= '' . "\n";
+ $paths .= '' . "\n";
$paths .= $pathStructure;
}
}
@@ -906,9 +884,6 @@ final class File extends Renderer
return $pathsTemplate->render();
}
- /**
- * @param list $codeLines
- */
private function renderPathLines(array $path, array $branches, array $codeLines, array $testData): string
{
$linesTemplate = new Template($this->templatePath . 'lines.html.dist', '{{', '}}');
@@ -969,7 +944,7 @@ final class File extends Renderer
$popover = sprintf(
' data-bs-title="%s" data-bs-content="%s" data-bs-placement="top" data-bs-html="true"',
$popoverTitle,
- htmlspecialchars($popoverContent, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($popoverContent, $this->htmlSpecialCharsFlags),
);
}
@@ -990,7 +965,7 @@ final class File extends Renderer
{
$template->setVar(
[
- 'lineNumber' => (string) $lineNumber,
+ 'lineNumber' => $lineNumber,
'lineContent' => $lineContent,
'class' => $class,
'popover' => $popover,
@@ -1000,11 +975,6 @@ final class File extends Renderer
return $template->render();
}
- /**
- * @param non-empty-string $file
- *
- * @return list
- */
private function loadFile(string $file): array
{
if (isset(self::$formattedSourceCache[$file])) {
@@ -1025,14 +995,14 @@ final class File extends Renderer
if ($token === '"' && $tokens[$j - 1] !== '\\') {
$result[$i] .= sprintf(
'%s',
- htmlspecialchars($token, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($token, $this->htmlSpecialCharsFlags),
);
$stringFlag = !$stringFlag;
} else {
$result[$i] .= sprintf(
'%s',
- htmlspecialchars($token, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($token, $this->htmlSpecialCharsFlags),
);
}
@@ -1044,7 +1014,7 @@ final class File extends Renderer
$value = str_replace(
["\t", ' '],
[' ', ' '],
- htmlspecialchars($value, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($value, $this->htmlSpecialCharsFlags),
);
if ($value === "\n") {
@@ -1143,7 +1113,7 @@ final class File extends Renderer
return sprintf(
'%s',
$testCSS,
- htmlspecialchars($test, self::HTML_SPECIAL_CHARS_FLAGS),
+ htmlspecialchars($test, $this->htmlSpecialCharsFlags),
);
}
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Text.php b/vendor/phpunit/php-code-coverage/src/Report/Text.php
index b6b8fee..a307aa4 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Text.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Text.php
@@ -26,27 +26,27 @@ final class Text
/**
* @var string
*/
- private const string COLOR_GREEN = "\x1b[30;42m";
+ private const COLOR_GREEN = "\x1b[30;42m";
/**
* @var string
*/
- private const string COLOR_YELLOW = "\x1b[30;43m";
+ private const COLOR_YELLOW = "\x1b[30;43m";
/**
* @var string
*/
- private const string COLOR_RED = "\x1b[37;41m";
+ private const COLOR_RED = "\x1b[37;41m";
/**
* @var string
*/
- private const string COLOR_HEADER = "\x1b[1;37;40m";
+ private const COLOR_HEADER = "\x1b[1;37;40m";
/**
* @var string
*/
- private const string COLOR_RESET = "\x1b[0m";
+ private const COLOR_RESET = "\x1b[0m";
private readonly Thresholds $thresholds;
private readonly bool $showUncoveredFiles;
private readonly bool $showOnlySummary;
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php b/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php
index d1a81a2..9413515 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Thresholds.php
@@ -14,10 +14,10 @@ use SebastianBergmann\CodeCoverage\InvalidArgumentException;
/**
* @immutable
*/
-final readonly class Thresholds
+final class Thresholds
{
- private int $lowUpperBound;
- private int $highLowerBound;
+ private readonly int $lowUpperBound;
+ private readonly int $highLowerBound;
public static function default(): self
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php
index 3878ffc..d7d5323 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/BuildInformation.php
@@ -18,9 +18,9 @@ use SebastianBergmann\Environment\Runtime;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class BuildInformation
+final class BuildInformation
{
- private DOMElement $contextNode;
+ private readonly DOMElement $contextNode;
public function __construct(DOMElement $contextNode)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php
index 80b34ba..3264718 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Facade.php
@@ -32,19 +32,12 @@ use SebastianBergmann\CodeCoverage\Driver\PathExistsButIsNotDirectoryException;
use SebastianBergmann\CodeCoverage\Driver\WriteOperationFailedException;
use SebastianBergmann\CodeCoverage\Node\AbstractNode;
use SebastianBergmann\CodeCoverage\Node\Directory as DirectoryNode;
-use SebastianBergmann\CodeCoverage\Node\File;
use SebastianBergmann\CodeCoverage\Node\File as FileNode;
use SebastianBergmann\CodeCoverage\Util\Filesystem as DirectoryUtil;
use SebastianBergmann\CodeCoverage\Version;
use SebastianBergmann\CodeCoverage\XmlException;
use SebastianBergmann\Environment\Runtime;
-/**
- * @phpstan-import-type ProcessedClassType from File
- * @phpstan-import-type ProcessedTraitType from File
- * @phpstan-import-type ProcessedFunctionType from File
- * @phpstan-import-type TestType from CodeCoverage
- */
final class Facade
{
private string $target;
@@ -182,9 +175,6 @@ final class Facade
$this->saveDocument($fileReport->asDom(), $file->id());
}
- /**
- * @param ProcessedClassType|ProcessedTraitType $unit
- */
private function processUnit(array $unit, Report $report): void
{
if (isset($unit['className'])) {
@@ -215,9 +205,6 @@ final class Facade
}
}
- /**
- * @param ProcessedFunctionType $function
- */
private function processFunction(array $function, Report $report): void
{
$functionObject = $report->functionObject($function['functionName']);
@@ -228,9 +215,6 @@ final class Facade
$functionObject->setTotals((string) $function['executableLines'], (string) $function['executedLines'], (string) $function['coverage']);
}
- /**
- * @param array $tests
- */
private function processTests(array $tests): void
{
$testsObject = $this->project->tests();
@@ -245,9 +229,9 @@ final class Facade
$loc = $node->linesOfCode();
$totals->setNumLines(
- $loc->linesOfCode(),
- $loc->commentLinesOfCode(),
- $loc->nonCommentLinesOfCode(),
+ $loc['linesOfCode'],
+ $loc['commentLinesOfCode'],
+ $loc['nonCommentLinesOfCode'],
$node->numberOfExecutableLines(),
$node->numberOfExecutedLines(),
);
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php
index 0a6bba8..69b2751 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/File.php
@@ -9,7 +9,6 @@
*/
namespace SebastianBergmann\CodeCoverage\Report\Xml;
-use function assert;
use DOMDocument;
use DOMElement;
@@ -40,8 +39,6 @@ class File
);
}
- assert($totalsContainer instanceof DOMElement);
-
return new Totals($totalsContainer);
}
@@ -68,8 +65,6 @@ class File
),
);
- assert($lineNode instanceof DOMElement);
-
return new Coverage($lineNode, $line);
}
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php
index 1994d0f..b1ab9ae 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Method.php
@@ -14,9 +14,9 @@ use DOMElement;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class Method
+final class Method
{
- private DOMElement $contextNode;
+ private readonly DOMElement $contextNode;
public function __construct(DOMElement $context, string $name)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php
index 3ac9eb3..b2ba54b 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Node.php
@@ -9,7 +9,6 @@
*/
namespace SebastianBergmann\CodeCoverage\Report\Xml;
-use function assert;
use DOMDocument;
use DOMElement;
@@ -44,8 +43,6 @@ abstract class Node
);
}
- assert($totalsContainer instanceof DOMElement);
-
return new Totals($totalsContainer);
}
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php
index 3c1d22b..b450beb 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Project.php
@@ -9,9 +9,7 @@
*/
namespace SebastianBergmann\CodeCoverage\Report\Xml;
-use function assert;
use DOMDocument;
-use DOMElement;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
@@ -45,8 +43,6 @@ final class Project extends Node
);
}
- assert($buildNode instanceof DOMElement);
-
return new BuildInformation($buildNode);
}
@@ -66,8 +62,6 @@ final class Project extends Node
);
}
- assert($testsNode instanceof DOMElement);
-
return new Tests($testsNode);
}
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php
index 612cc09..09d1034 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Report.php
@@ -9,11 +9,9 @@
*/
namespace SebastianBergmann\CodeCoverage\Report\Xml;
-use function assert;
use function basename;
use function dirname;
use DOMDocument;
-use DOMElement;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
@@ -40,7 +38,7 @@ final class Report extends File
return $this->dom();
}
- public function functionObject(string $name): Method
+ public function functionObject($name): Method
{
$node = $this->contextNode()->appendChild(
$this->dom()->createElementNS(
@@ -49,17 +47,15 @@ final class Report extends File
),
);
- assert($node instanceof DOMElement);
-
return new Method($node, $name);
}
- public function classObject(string $name): Unit
+ public function classObject($name): Unit
{
return $this->unitObject('class', $name);
}
- public function traitObject(string $name): Unit
+ public function traitObject($name): Unit
{
return $this->unitObject('trait', $name);
}
@@ -80,8 +76,6 @@ final class Report extends File
);
}
- assert($source instanceof DOMElement);
-
return new Source($source);
}
@@ -91,7 +85,7 @@ final class Report extends File
$this->contextNode()->setAttribute('path', dirname($name));
}
- private function unitObject(string $tagName, string $name): Unit
+ private function unitObject(string $tagName, $name): Unit
{
$node = $this->contextNode()->appendChild(
$this->dom()->createElementNS(
@@ -100,8 +94,6 @@ final class Report extends File
),
);
- assert($node instanceof DOMElement);
-
return new Unit($node, $name);
}
}
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php
index 448fe72..cd1fb90 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Source.php
@@ -17,9 +17,9 @@ use TheSeer\Tokenizer\XMLSerializer;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class Source
+final class Source
{
- private DOMElement $context;
+ private readonly DOMElement $context;
public function __construct(DOMElement $context)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php
index c9e9c48..b575676 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Tests.php
@@ -11,16 +11,15 @@ namespace SebastianBergmann\CodeCoverage\Report\Xml;
use function assert;
use DOMElement;
-use SebastianBergmann\CodeCoverage\CodeCoverage;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type TestType from CodeCoverage
+ * @phpstan-import-type TestType from \SebastianBergmann\CodeCoverage\CodeCoverage
*/
-final readonly class Tests
+final class Tests
{
- private DOMElement $contextNode;
+ private readonly DOMElement $contextNode;
public function __construct(DOMElement $context)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php
index 960b8e8..239f6d4 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Totals.php
@@ -17,14 +17,14 @@ use SebastianBergmann\CodeCoverage\Util\Percentage;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class Totals
+final class Totals
{
- private DOMNode $container;
- private DOMElement $linesNode;
- private DOMElement $methodsNode;
- private DOMElement $functionsNode;
- private DOMElement $classesNode;
- private DOMElement $traitsNode;
+ private readonly DOMNode $container;
+ private readonly DOMElement $linesNode;
+ private readonly DOMElement $methodsNode;
+ private readonly DOMElement $functionsNode;
+ private readonly DOMElement $classesNode;
+ private readonly DOMElement $traitsNode;
public function __construct(DOMElement $container)
{
diff --git a/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php b/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php
index fc49552..461ea06 100644
--- a/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php
+++ b/vendor/phpunit/php-code-coverage/src/Report/Xml/Unit.php
@@ -15,9 +15,9 @@ use DOMElement;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class Unit
+final class Unit
{
- private DOMElement $contextNode;
+ private readonly DOMElement $contextNode;
public function __construct(DOMElement $context, string $name)
{
@@ -68,8 +68,6 @@ final readonly class Unit
),
);
- assert($node instanceof DOMElement);
-
return new Method($node, $name);
}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php
index f9acc2d..9390b2c 100644
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php
+++ b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CachingFileAnalyser.php
@@ -23,17 +23,12 @@ use SebastianBergmann\FileIterator\Facade as FileIteratorFacade;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-type CachedDataForFile array{
- * interfacesIn: array,
- * classesIn: array,
- * traitsIn: array,
- * functionsIn: array,
- * linesOfCodeFor: LinesOfCode,
- * ignoredLinesFor: LinesType,
- * executableLinesIn: LinesType
- * }
- *
- * @phpstan-import-type LinesType from FileAnalyser
+ * @phpstan-import-type CodeUnitFunctionType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitMethodType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitClassType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitTraitType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type LinesOfCodeType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
+ * @phpstan-import-type LinesType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
*/
final class CachingFileAnalyser implements FileAnalyser
{
@@ -42,10 +37,6 @@ final class CachingFileAnalyser implements FileAnalyser
private readonly FileAnalyser $analyser;
private readonly bool $useAnnotationsForIgnoringCode;
private readonly bool $ignoreDeprecatedCode;
-
- /**
- * @var array
- */
private array $cache = [];
public function __construct(string $directory, FileAnalyser $analyser, bool $useAnnotationsForIgnoringCode, bool $ignoreDeprecatedCode)
@@ -59,19 +50,7 @@ final class CachingFileAnalyser implements FileAnalyser
}
/**
- * @return array
- */
- public function interfacesIn(string $filename): array
- {
- if (!isset($this->cache[$filename])) {
- $this->process($filename);
- }
-
- return $this->cache[$filename]['interfacesIn'];
- }
-
- /**
- * @return array
+ * @return array
*/
public function classesIn(string $filename): array
{
@@ -83,7 +62,7 @@ final class CachingFileAnalyser implements FileAnalyser
}
/**
- * @return array
+ * @return array
*/
public function traitsIn(string $filename): array
{
@@ -95,7 +74,7 @@ final class CachingFileAnalyser implements FileAnalyser
}
/**
- * @return array
+ * @return array
*/
public function functionsIn(string $filename): array
{
@@ -106,7 +85,10 @@ final class CachingFileAnalyser implements FileAnalyser
return $this->cache[$filename]['functionsIn'];
}
- public function linesOfCodeFor(string $filename): LinesOfCode
+ /**
+ * @return LinesOfCodeType
+ */
+ public function linesOfCodeFor(string $filename): array
{
if (!isset($this->cache[$filename])) {
$this->process($filename);
@@ -150,7 +132,6 @@ final class CachingFileAnalyser implements FileAnalyser
}
$this->cache[$filename] = [
- 'interfacesIn' => $this->analyser->interfacesIn($filename),
'classesIn' => $this->analyser->classesIn($filename),
'traitsIn' => $this->analyser->traitsIn($filename),
'functionsIn' => $this->analyser->functionsIn($filename),
@@ -162,9 +143,6 @@ final class CachingFileAnalyser implements FileAnalyser
$this->write($filename, $this->cache[$filename]);
}
- /**
- * @return CachedDataForFile|false
- */
private function read(string $filename): array|false
{
$cacheFile = $this->cacheFile($filename);
@@ -175,22 +153,10 @@ final class CachingFileAnalyser implements FileAnalyser
return unserialize(
file_get_contents($cacheFile),
- [
- 'allowed_classes' => [
- Class_::class,
- Function_::class,
- Interface_::class,
- LinesOfCode::class,
- Method::class,
- Trait_::class,
- ],
- ],
+ ['allowed_classes' => false],
);
}
- /**
- * @param CachedDataForFile $data
- */
private function write(string $filename, array $data): void
{
file_put_contents(
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php
index 08fd009..3ebec6a 100644
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php
+++ b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/CodeUnitFindingVisitor.php
@@ -21,6 +21,7 @@ use PhpParser\Node\Name;
use PhpParser\Node\NullableType;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
+use PhpParser\Node\Stmt\Enum_;
use PhpParser\Node\Stmt\Function_;
use PhpParser\Node\Stmt\Interface_;
use PhpParser\Node\Stmt\Trait_;
@@ -31,51 +32,63 @@ use SebastianBergmann\Complexity\CyclomaticComplexityCalculatingVisitor;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
+ *
+ * @phpstan-type CodeUnitFunctionType = array{
+ * name: string,
+ * namespacedName: string,
+ * namespace: string,
+ * signature: string,
+ * startLine: int,
+ * endLine: int,
+ * ccn: int
+ * }
+ * @phpstan-type CodeUnitMethodType = array{
+ * methodName: string,
+ * signature: string,
+ * visibility: string,
+ * startLine: int,
+ * endLine: int,
+ * ccn: int
+ * }
+ * @phpstan-type CodeUnitClassType = array{
+ * name: string,
+ * namespacedName: string,
+ * namespace: string,
+ * startLine: int,
+ * endLine: int,
+ * methods: array
+ * }
+ * @phpstan-type CodeUnitTraitType = array{
+ * name: string,
+ * namespacedName: string,
+ * namespace: string,
+ * startLine: int,
+ * endLine: int,
+ * methods: array
+ * }
*/
final class CodeUnitFindingVisitor extends NodeVisitorAbstract
{
/**
- * @var non-empty-string
- */
- private string $file;
-
- /**
- * @var array
- */
- private array $interfaces = [];
-
- /**
- * @var array
+ * @var array
*/
private array $classes = [];
/**
- * @var array
+ * @var array
*/
private array $traits = [];
/**
- * @var array
+ * @var array
*/
private array $functions = [];
- /**
- * @param non-empty-string $file
- */
- public function __construct(string $file)
+ public function enterNode(Node $node): void
{
- $this->file = $file;
- }
-
- public function enterNode(Node $node): null
- {
- if ($node instanceof Interface_) {
- $this->processInterface($node);
- }
-
if ($node instanceof Class_) {
if ($node->isAnonymous()) {
- return null;
+ return;
}
$this->processClass($node);
@@ -85,52 +98,27 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
$this->processTrait($node);
}
- if (!$node instanceof Function_) {
- return null;
+ if (!$node instanceof ClassMethod && !$node instanceof Function_) {
+ return;
+ }
+
+ if ($node instanceof ClassMethod) {
+ $parentNode = $node->getAttribute('parent');
+
+ if ($parentNode instanceof Class_ && $parentNode->isAnonymous()) {
+ return;
+ }
+
+ $this->processMethod($node);
+
+ return;
}
$this->processFunction($node);
-
- return null;
- }
-
- public function leaveNode(Node $node): null
- {
- if ($node instanceof Class_ && $node->isAnonymous()) {
- return null;
- }
-
- if (!$node instanceof Class_ && !$node instanceof Trait_) {
- return null;
- }
-
- $traits = [];
-
- foreach ($node->getTraitUses() as $traitUse) {
- foreach ($traitUse->traits as $trait) {
- $traits[] = $trait->toString();
- }
- }
-
- if (empty($traits)) {
- return null;
- }
-
- $this->postProcessClassOrTrait($node, $traits);
-
- return null;
}
/**
- * @return array
- */
- public function interfaces(): array
- {
- return $this->interfaces;
- }
-
- /**
- * @return array
+ * @return array
*/
public function classes(): array
{
@@ -138,7 +126,7 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
}
/**
- * @return array
+ * @return array
*/
public function traits(): array
{
@@ -146,7 +134,7 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
}
/**
- * @return array
+ * @return array
*/
public function functions(): array
{
@@ -222,66 +210,32 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
return $type->toString();
}
- private function visibility(ClassMethod $node): Visibility
+ private function visibility(ClassMethod $node): string
{
if ($node->isPrivate()) {
- return Visibility::Private;
+ return 'private';
}
if ($node->isProtected()) {
- return Visibility::Protected;
+ return 'protected';
}
- return Visibility::Public;
- }
-
- private function processInterface(Interface_ $node): void
- {
- $name = $node->name->toString();
- $namespacedName = $node->namespacedName->toString();
- $parentInterfaces = [];
-
- foreach ($node->extends as $parentInterface) {
- $parentInterfaces[] = $parentInterface->toString();
- }
-
- $this->interfaces[$namespacedName] = new \SebastianBergmann\CodeCoverage\StaticAnalysis\Interface_(
- $name,
- $namespacedName,
- $this->namespace($namespacedName, $name),
- $node->getStartLine(),
- $node->getEndLine(),
- $parentInterfaces,
- );
+ return 'public';
}
private function processClass(Class_ $node): void
{
$name = $node->name->toString();
$namespacedName = $node->namespacedName->toString();
- $parentClass = null;
- $interfaces = [];
- if ($node->extends instanceof Name) {
- $parentClass = $node->extends->toString();
- }
-
- foreach ($node->implements as $interface) {
- $interfaces[] = $interface->toString();
- }
-
- $this->classes[$namespacedName] = new \SebastianBergmann\CodeCoverage\StaticAnalysis\Class_(
- $name,
- $namespacedName,
- $this->namespace($namespacedName, $name),
- $this->file,
- $node->getStartLine(),
- $node->getEndLine(),
- $parentClass,
- $interfaces,
- [],
- $this->processMethods($node->getMethods()),
- );
+ $this->classes[$namespacedName] = [
+ 'name' => $name,
+ 'namespacedName' => $namespacedName,
+ 'namespace' => $this->namespace($namespacedName, $name),
+ 'startLine' => $node->getStartLine(),
+ 'endLine' => $node->getEndLine(),
+ 'methods' => [],
+ ];
}
private function processTrait(Trait_ $node): void
@@ -289,39 +243,57 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
$name = $node->name->toString();
$namespacedName = $node->namespacedName->toString();
- $this->traits[$namespacedName] = new \SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_(
- $name,
- $namespacedName,
- $this->namespace($namespacedName, $name),
- $this->file,
- $node->getStartLine(),
- $node->getEndLine(),
- [],
- $this->processMethods($node->getMethods()),
- );
+ $this->traits[$namespacedName] = [
+ 'name' => $name,
+ 'namespacedName' => $namespacedName,
+ 'namespace' => $this->namespace($namespacedName, $name),
+ 'startLine' => $node->getStartLine(),
+ 'endLine' => $node->getEndLine(),
+ 'methods' => [],
+ ];
}
- /**
- * @param list $nodes
- *
- * @return array
- */
- private function processMethods(array $nodes): array
+ private function processMethod(ClassMethod $node): void
{
- $methods = [];
+ $parentNode = $node->getAttribute('parent');
- foreach ($nodes as $node) {
- $methods[$node->name->toString()] = new Method(
- $node->name->toString(),
- $node->getStartLine(),
- $node->getEndLine(),
- $this->signature($node),
- $this->visibility($node),
- $this->cyclomaticComplexity($node),
- );
+ if ($parentNode instanceof Interface_) {
+ return;
}
- return $methods;
+ assert($parentNode instanceof Class_ || $parentNode instanceof Trait_ || $parentNode instanceof Enum_);
+ assert(isset($parentNode->name));
+ assert(isset($parentNode->namespacedName));
+ assert($parentNode->namespacedName instanceof Name);
+
+ $parentName = $parentNode->name->toString();
+ $parentNamespacedName = $parentNode->namespacedName->toString();
+
+ if ($parentNode instanceof Class_) {
+ $storage = &$this->classes;
+ } else {
+ $storage = &$this->traits;
+ }
+
+ if (!isset($storage[$parentNamespacedName])) {
+ $storage[$parentNamespacedName] = [
+ 'name' => $parentName,
+ 'namespacedName' => $parentNamespacedName,
+ 'namespace' => $this->namespace($parentNamespacedName, $parentName),
+ 'startLine' => $parentNode->getStartLine(),
+ 'endLine' => $parentNode->getEndLine(),
+ 'methods' => [],
+ ];
+ }
+
+ $storage[$parentNamespacedName]['methods'][$node->name->toString()] = [
+ 'methodName' => $node->name->toString(),
+ 'signature' => $this->signature($node),
+ 'visibility' => $this->visibility($node),
+ 'startLine' => $node->getStartLine(),
+ 'endLine' => $node->getEndLine(),
+ 'ccn' => $this->cyclomaticComplexity($node),
+ ];
}
private function processFunction(Function_ $node): void
@@ -333,15 +305,15 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
$name = $node->name->toString();
$namespacedName = $node->namespacedName->toString();
- $this->functions[$namespacedName] = new \SebastianBergmann\CodeCoverage\StaticAnalysis\Function_(
- $name,
- $namespacedName,
- $this->namespace($namespacedName, $name),
- $node->getStartLine(),
- $node->getEndLine(),
- $this->signature($node),
- $this->cyclomaticComplexity($node),
- );
+ $this->functions[$namespacedName] = [
+ 'name' => $name,
+ 'namespacedName' => $namespacedName,
+ 'namespace' => $this->namespace($namespacedName, $name),
+ 'signature' => $this->signature($node),
+ 'startLine' => $node->getStartLine(),
+ 'endLine' => $node->getEndLine(),
+ 'ccn' => $this->cyclomaticComplexity($node),
+ ];
}
private function namespace(string $namespacedName, string $name): string
@@ -385,44 +357,4 @@ final class CodeUnitFindingVisitor extends NodeVisitorAbstract
return $node->toString();
}
-
- /**
- * @param list $traits
- */
- private function postProcessClassOrTrait(Class_|Trait_ $node, array $traits): void
- {
- $name = $node->namespacedName->toString();
-
- if ($node instanceof Class_) {
- assert(isset($this->classes[$name]));
-
- $this->classes[$name] = new \SebastianBergmann\CodeCoverage\StaticAnalysis\Class_(
- $this->classes[$name]->name(),
- $this->classes[$name]->namespacedName(),
- $this->classes[$name]->namespace(),
- $this->classes[$name]->file(),
- $this->classes[$name]->startLine(),
- $this->classes[$name]->endLine(),
- $this->classes[$name]->parentClass(),
- $this->classes[$name]->interfaces(),
- $traits,
- $this->classes[$name]->methods(),
- );
-
- return;
- }
-
- assert(isset($this->traits[$name]));
-
- $this->traits[$name] = new \SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_(
- $this->traits[$name]->name(),
- $this->traits[$name]->namespacedName(),
- $this->traits[$name]->namespace(),
- $this->traits[$name]->file(),
- $this->traits[$name]->startLine(),
- $this->traits[$name]->endLine(),
- $traits,
- $this->traits[$name]->methods(),
- );
- }
}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php
index b1abd3a..e1327d8 100644
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php
+++ b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ExecutableLinesFindingVisitor.php
@@ -27,7 +27,7 @@ use PhpParser\NodeVisitorAbstract;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type LinesType from FileAnalyser
+ * @phpstan-import-type LinesType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
*/
final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
{
@@ -54,7 +54,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$this->source = $source;
}
- public function enterNode(Node $node): null
+ public function enterNode(Node $node): void
{
foreach ($node->getComments() as $comment) {
$commentLine = $comment->getStartLine();
@@ -80,7 +80,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
}
}
- return null;
+ return;
}
if ($node instanceof Node\Stmt\Interface_) {
@@ -88,7 +88,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$this->unsets[$line] = true;
}
- return null;
+ return;
}
if ($node instanceof Node\Stmt\Declare_ ||
@@ -113,7 +113,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$node instanceof Node\Name ||
$node instanceof Node\Param ||
$node instanceof Node\Scalar) {
- return null;
+ return;
}
if ($node instanceof Node\Expr\Match_) {
@@ -125,13 +125,13 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
);
}
- return null;
+ return;
}
if ($node instanceof Node\Stmt\Expression && $node->expr instanceof Node\Expr\Throw_) {
$this->setLineBranch($node->expr->expr->getEndLine(), $node->expr->expr->getEndLine(), ++$this->nextBranch);
- return null;
+ return;
}
if ($node instanceof Node\Stmt\Enum_ ||
@@ -176,7 +176,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
}
if ($isConcreteClassLike) {
- return null;
+ return;
}
$hasEmptyBody = [] === $node->stmts ||
@@ -188,15 +188,15 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
if ($hasEmptyBody) {
if ($node->getEndLine() === $node->getStartLine() && isset($this->executableLinesGroupedByBranch[$node->getStartLine()])) {
- return null;
+ return;
}
$this->setLineBranch($node->getEndLine(), $node->getEndLine(), ++$this->nextBranch);
- return null;
+ return;
}
- return null;
+ return;
}
if ($node instanceof Node\Expr\ArrowFunction) {
@@ -208,12 +208,12 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$endLine = $node->expr->getEndLine();
if ($endLine < $startLine) {
- return null;
+ return;
}
$this->setLineBranch($startLine, $endLine, ++$this->nextBranch);
- return null;
+ return;
}
if ($node instanceof Node\Expr\Ternary) {
@@ -226,7 +226,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$this->setLineBranch($node->else->getStartLine(), $node->else->getEndLine(), ++$this->nextBranch);
}
- return null;
+ return;
}
if ($node instanceof Node\Expr\BinaryOp\Coalesce) {
@@ -234,14 +234,14 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$this->setLineBranch($node->getEndLine(), $node->getEndLine(), ++$this->nextBranch);
}
- return null;
+ return;
}
if ($node instanceof Node\Stmt\If_ ||
$node instanceof Node\Stmt\ElseIf_ ||
$node instanceof Node\Stmt\Case_) {
if (null === $node->cond) {
- return null;
+ return;
}
$this->setLineBranch(
@@ -250,7 +250,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
++$this->nextBranch,
);
- return null;
+ return;
}
if ($node instanceof Node\Stmt\For_) {
@@ -292,7 +292,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
}
if (null === $startLine || null === $endLine) {
- return null;
+ return;
}
$this->setLineBranch(
@@ -301,7 +301,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
++$this->nextBranch,
);
- return null;
+ return;
}
if ($node instanceof Node\Stmt\Foreach_) {
@@ -311,7 +311,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
++$this->nextBranch,
);
- return null;
+ return;
}
if ($node instanceof Node\Stmt\While_ ||
@@ -322,7 +322,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
++$this->nextBranch,
);
- return null;
+ return;
}
if ($node instanceof Node\Stmt\Catch_) {
@@ -337,7 +337,7 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
++$this->nextBranch,
);
- return null;
+ return;
}
if ($node instanceof Node\Expr\CallLike) {
@@ -349,19 +349,17 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$this->setLineBranch($node->getStartLine(), $node->getEndLine(), $branch);
- return null;
+ return;
}
if (isset($this->executableLinesGroupedByBranch[$node->getStartLine()])) {
- return null;
+ return;
}
$this->setLineBranch($node->getStartLine(), $node->getEndLine(), ++$this->nextBranch);
-
- return null;
}
- public function afterTraverse(array $nodes): null
+ public function afterTraverse(array $nodes): void
{
$lines = explode("\n", $this->source);
@@ -381,8 +379,6 @@ final class ExecutableLinesFindingVisitor extends NodeVisitorAbstract
$this->executableLinesGroupedByBranch,
$this->unsets,
);
-
- return null;
}
/**
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php
index 8aebac4..7f2e618 100644
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php
+++ b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/FileAnalyser.php
@@ -12,31 +12,39 @@ namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-type LinesType array
+ * @phpstan-import-type CodeUnitFunctionType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitMethodType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitClassType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitTraitType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ *
+ * @phpstan-type LinesOfCodeType = array{
+ * linesOfCode: int,
+ * commentLinesOfCode: int,
+ * nonCommentLinesOfCode: int
+ * }
+ * @phpstan-type LinesType = array
*/
interface FileAnalyser
{
/**
- * @return array
- */
- public function interfacesIn(string $filename): array;
-
- /**
- * @return array
+ * @return array
*/
public function classesIn(string $filename): array;
/**
- * @return array
+ * @return array
*/
public function traitsIn(string $filename): array;
/**
- * @return array
+ * @return array
*/
public function functionsIn(string $filename): array;
- public function linesOfCodeFor(string $filename): LinesOfCode;
+ /**
+ * @return LinesOfCodeType
+ */
+ public function linesOfCodeFor(string $filename): array;
/**
* @return LinesType
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php
index fefe646..40f12cc 100644
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php
+++ b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/IgnoredLinesFindingVisitor.php
@@ -39,7 +39,7 @@ final class IgnoredLinesFindingVisitor extends NodeVisitorAbstract
$this->ignoreDeprecated = $ignoreDeprecated;
}
- public function enterNode(Node $node): null
+ public function enterNode(Node $node): void
{
if (!$node instanceof Class_ &&
!$node instanceof Trait_ &&
@@ -48,11 +48,11 @@ final class IgnoredLinesFindingVisitor extends NodeVisitorAbstract
!$node instanceof ClassMethod &&
!$node instanceof Function_ &&
!$node instanceof Attribute) {
- return null;
+ return;
}
if ($node instanceof Class_ && $node->isAnonymous()) {
- return null;
+ return;
}
if ($node instanceof Class_ ||
@@ -68,11 +68,11 @@ final class IgnoredLinesFindingVisitor extends NodeVisitorAbstract
}
if (!$this->useAnnotationsForIgnoringCode) {
- return null;
+ return;
}
if ($node instanceof Interface_) {
- return null;
+ return;
}
if ($node instanceof Attribute &&
@@ -84,12 +84,10 @@ final class IgnoredLinesFindingVisitor extends NodeVisitorAbstract
$this->ignoredLines[] = $line;
}
- return null;
+ return;
}
$this->processDocComment($node);
-
- return null;
}
/**
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php
index 710c3d4..eae1bdc 100644
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php
+++ b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/ParsingFileAnalyser.php
@@ -34,32 +34,32 @@ use SebastianBergmann\LinesOfCode\LineCountingVisitor;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*
- * @phpstan-import-type LinesType from FileAnalyser
+ * @phpstan-import-type CodeUnitFunctionType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitMethodType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitClassType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type CodeUnitTraitType from \SebastianBergmann\CodeCoverage\StaticAnalysis\CodeUnitFindingVisitor
+ * @phpstan-import-type LinesOfCodeType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
+ * @phpstan-import-type LinesType from \SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser
*/
final class ParsingFileAnalyser implements FileAnalyser
{
/**
- * @var array>
- */
- private array $interfaces = [];
-
- /**
- * @var array>
+ * @var array>
*/
private array $classes = [];
/**
- * @var array>
+ * @var array>
*/
private array $traits = [];
/**
- * @var array>
+ * @var array>
*/
private array $functions = [];
/**
- * @var array
+ * @var array
*/
private array $linesOfCode = [];
@@ -82,17 +82,7 @@ final class ParsingFileAnalyser implements FileAnalyser
}
/**
- * @return array
- */
- public function interfacesIn(string $filename): array
- {
- $this->analyse($filename);
-
- return $this->interfaces[$filename];
- }
-
- /**
- * @return array
+ * @return array
*/
public function classesIn(string $filename): array
{
@@ -102,7 +92,7 @@ final class ParsingFileAnalyser implements FileAnalyser
}
/**
- * @return array
+ * @return array
*/
public function traitsIn(string $filename): array
{
@@ -112,7 +102,7 @@ final class ParsingFileAnalyser implements FileAnalyser
}
/**
- * @return array
+ * @return array
*/
public function functionsIn(string $filename): array
{
@@ -121,7 +111,10 @@ final class ParsingFileAnalyser implements FileAnalyser
return $this->functions[$filename];
}
- public function linesOfCodeFor(string $filename): LinesOfCode
+ /**
+ * @return LinesOfCodeType
+ */
+ public function linesOfCodeFor(string $filename): array
{
$this->analyse($filename);
@@ -153,7 +146,7 @@ final class ParsingFileAnalyser implements FileAnalyser
*/
private function analyse(string $filename): void
{
- if (isset($this->interfaces[$filename])) {
+ if (isset($this->classes[$filename])) {
return;
}
@@ -174,7 +167,7 @@ final class ParsingFileAnalyser implements FileAnalyser
assert($nodes !== null);
$traverser = new NodeTraverser;
- $codeUnitFindingVisitor = new CodeUnitFindingVisitor($filename);
+ $codeUnitFindingVisitor = new CodeUnitFindingVisitor;
$lineCountingVisitor = new LineCountingVisitor($linesOfCode);
$ignoredLinesFindingVisitor = new IgnoredLinesFindingVisitor($this->useAnnotationsForIgnoringCode, $this->ignoreDeprecatedCode);
$executableLinesFindingVisitor = new ExecutableLinesFindingVisitor($source);
@@ -202,7 +195,6 @@ final class ParsingFileAnalyser implements FileAnalyser
}
// @codeCoverageIgnoreEnd
- $this->interfaces[$filename] = $codeUnitFindingVisitor->interfaces();
$this->classes[$filename] = $codeUnitFindingVisitor->classes();
$this->traits[$filename] = $codeUnitFindingVisitor->traits();
$this->functions[$filename] = $codeUnitFindingVisitor->functions();
@@ -222,11 +214,11 @@ final class ParsingFileAnalyser implements FileAnalyser
$result = $lineCountingVisitor->result();
- $this->linesOfCode[$filename] = new LinesOfCode(
- $result->linesOfCode(),
- $result->commentLinesOfCode(),
- $result->nonCommentLinesOfCode(),
- );
+ $this->linesOfCode[$filename] = [
+ 'linesOfCode' => $result->linesOfCode(),
+ 'commentLinesOfCode' => $result->commentLinesOfCode(),
+ 'nonCommentLinesOfCode' => $result->nonCommentLinesOfCode(),
+ ];
}
private function findLinesIgnoredByLineBasedAnnotations(string $filename, string $source, bool $useAnnotationsForIgnoringCode): void
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Class_.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Class_.php
deleted file mode 100644
index ee87b24..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Class_.php
+++ /dev/null
@@ -1,174 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class Class_
-{
- /**
- * @var non-empty-string
- */
- private string $name;
-
- /**
- * @var non-empty-string
- */
- private string $namespacedName;
- private string $namespace;
-
- /**
- * @var non-empty-string
- */
- private string $file;
-
- /**
- * @var non-negative-int
- */
- private int $startLine;
-
- /**
- * @var non-negative-int
- */
- private int $endLine;
-
- /**
- * @var ?non-empty-string
- */
- private ?string $parentClass;
-
- /**
- * @var list
- */
- private array $interfaces;
-
- /**
- * @var list
- */
- private array $traits;
-
- /**
- * @var array
- */
- private array $methods;
-
- /**
- * @param non-empty-string $name
- * @param non-empty-string $namespacedName
- * @param non-empty-string $file
- * @param non-negative-int $startLine
- * @param non-negative-int $endLine
- * @param ?non-empty-string $parentClass
- * @param list $interfaces
- * @param list $traits
- * @param array $methods
- */
- public function __construct(string $name, string $namespacedName, string $namespace, string $file, int $startLine, int $endLine, ?string $parentClass, array $interfaces, array $traits, array $methods)
- {
- $this->name = $name;
- $this->namespacedName = $namespacedName;
- $this->namespace = $namespace;
- $this->file = $file;
- $this->startLine = $startLine;
- $this->endLine = $endLine;
- $this->parentClass = $parentClass;
- $this->interfaces = $interfaces;
- $this->traits = $traits;
- $this->methods = $methods;
- }
-
- /**
- * @return non-empty-string
- */
- public function name(): string
- {
- return $this->name;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespacedName(): string
- {
- return $this->namespacedName;
- }
-
- public function isNamespaced(): bool
- {
- return $this->namespace !== '';
- }
-
- public function namespace(): string
- {
- return $this->namespace;
- }
-
- /**
- * @return non-empty-string
- */
- public function file(): string
- {
- return $this->file;
- }
-
- /**
- * @return non-negative-int
- */
- public function startLine(): int
- {
- return $this->startLine;
- }
-
- /**
- * @return non-negative-int
- */
- public function endLine(): int
- {
- return $this->endLine;
- }
-
- public function hasParent(): bool
- {
- return $this->parentClass !== null;
- }
-
- /**
- * @return ?non-empty-string
- */
- public function parentClass(): ?string
- {
- return $this->parentClass;
- }
-
- /**
- * @return list
- */
- public function interfaces(): array
- {
- return $this->interfaces;
- }
-
- /**
- * @return list
- */
- public function traits(): array
- {
- return $this->traits;
- }
-
- /**
- * @return array
- */
- public function methods(): array
- {
- return $this->methods;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Function_.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Function_.php
deleted file mode 100644
index 7069dec..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Function_.php
+++ /dev/null
@@ -1,124 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class Function_
-{
- /**
- * @var non-empty-string
- */
- private string $name;
-
- /**
- * @var non-empty-string
- */
- private string $namespacedName;
- private string $namespace;
-
- /**
- * @var non-negative-int
- */
- private int $startLine;
-
- /**
- * @var non-negative-int
- */
- private int $endLine;
-
- /**
- * @var non-empty-string
- */
- private string $signature;
-
- /**
- * @var positive-int
- */
- private int $cyclomaticComplexity;
-
- /**
- * @param non-empty-string $name
- * @param non-empty-string $namespacedName
- * @param non-negative-int $startLine
- * @param non-negative-int $endLine
- * @param non-empty-string $signature
- * @param positive-int $cyclomaticComplexity
- */
- public function __construct(string $name, string $namespacedName, string $namespace, int $startLine, int $endLine, string $signature, int $cyclomaticComplexity)
- {
- $this->name = $name;
- $this->namespacedName = $namespacedName;
- $this->namespace = $namespace;
- $this->startLine = $startLine;
- $this->endLine = $endLine;
- $this->signature = $signature;
- $this->cyclomaticComplexity = $cyclomaticComplexity;
- }
-
- /**
- * @return non-empty-string
- */
- public function name(): string
- {
- return $this->name;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespacedName(): string
- {
- return $this->namespacedName;
- }
-
- public function isNamespaced(): bool
- {
- return $this->namespace !== '';
- }
-
- public function namespace(): string
- {
- return $this->namespace;
- }
-
- /**
- * @return non-negative-int
- */
- public function startLine(): int
- {
- return $this->startLine;
- }
-
- /**
- * @return non-negative-int
- */
- public function endLine(): int
- {
- return $this->endLine;
- }
-
- /**
- * @return non-empty-string
- */
- public function signature(): string
- {
- return $this->signature;
- }
-
- /**
- * @return positive-int
- */
- public function cyclomaticComplexity(): int
- {
- return $this->cyclomaticComplexity;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Interface_.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Interface_.php
deleted file mode 100644
index 0b25792..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Interface_.php
+++ /dev/null
@@ -1,109 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class Interface_
-{
- /**
- * @var non-empty-string
- */
- private string $name;
-
- /**
- * @var non-empty-string
- */
- private string $namespacedName;
- private string $namespace;
-
- /**
- * @var non-negative-int
- */
- private int $startLine;
-
- /**
- * @var non-negative-int
- */
- private int $endLine;
-
- /**
- * @var list
- */
- private array $parentInterfaces;
-
- /**
- * @param non-empty-string $name
- * @param non-empty-string $namespacedName
- * @param non-negative-int $startLine
- * @param non-negative-int $endLine
- * @param list $parentInterfaces
- */
- public function __construct(string $name, string $namespacedName, string $namespace, int $startLine, int $endLine, array $parentInterfaces)
- {
- $this->name = $name;
- $this->namespacedName = $namespacedName;
- $this->namespace = $namespace;
- $this->startLine = $startLine;
- $this->endLine = $endLine;
- $this->parentInterfaces = $parentInterfaces;
- }
-
- /**
- * @return non-empty-string
- */
- public function name(): string
- {
- return $this->name;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespacedName(): string
- {
- return $this->namespacedName;
- }
-
- public function isNamespaced(): bool
- {
- return $this->namespace !== '';
- }
-
- public function namespace(): string
- {
- return $this->namespace;
- }
-
- /**
- * @return non-negative-int
- */
- public function startLine(): int
- {
- return $this->startLine;
- }
-
- /**
- * @return non-negative-int
- */
- public function endLine(): int
- {
- return $this->endLine;
- }
-
- /**
- * @return list
- */
- public function parentInterfaces(): array
- {
- return $this->parentInterfaces;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/LinesOfCode.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/LinesOfCode.php
deleted file mode 100644
index f8720e1..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/LinesOfCode.php
+++ /dev/null
@@ -1,67 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class LinesOfCode
-{
- /**
- * @var non-negative-int
- */
- private int $linesOfCode;
-
- /**
- * @var non-negative-int
- */
- private int $commentLinesOfCode;
-
- /**
- * @var non-negative-int
- */
- private int $nonCommentLinesOfCode;
-
- /**
- * @param non-negative-int $linesOfCode
- * @param non-negative-int $commentLinesOfCode
- * @param non-negative-int $nonCommentLinesOfCode
- */
- public function __construct(int $linesOfCode, int $commentLinesOfCode, int $nonCommentLinesOfCode)
- {
- $this->linesOfCode = $linesOfCode;
- $this->commentLinesOfCode = $commentLinesOfCode;
- $this->nonCommentLinesOfCode = $nonCommentLinesOfCode;
- }
-
- /**
- * @return non-negative-int
- */
- public function linesOfCode(): int
- {
- return $this->linesOfCode;
- }
-
- /**
- * @return non-negative-int
- */
- public function commentLinesOfCode(): int
- {
- return $this->commentLinesOfCode;
- }
-
- /**
- * @return non-negative-int
- */
- public function nonCommentLinesOfCode(): int
- {
- return $this->nonCommentLinesOfCode;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Method.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Method.php
deleted file mode 100644
index 12e3438..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Method.php
+++ /dev/null
@@ -1,104 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class Method
-{
- /**
- * @var non-empty-string
- */
- private string $name;
-
- /**
- * @var non-negative-int
- */
- private int $startLine;
-
- /**
- * @var non-negative-int
- */
- private int $endLine;
- private Visibility $visibility;
-
- /**
- * @var non-empty-string
- */
- private string $signature;
-
- /**
- * @var positive-int
- */
- private int $cyclomaticComplexity;
-
- /**
- * @param non-empty-string $name
- * @param non-negative-int $startLine
- * @param non-negative-int $endLine
- * @param non-empty-string $signature
- * @param positive-int $cyclomaticComplexity
- */
- public function __construct(string $name, int $startLine, int $endLine, string $signature, Visibility $visibility, int $cyclomaticComplexity)
- {
- $this->name = $name;
- $this->startLine = $startLine;
- $this->endLine = $endLine;
- $this->signature = $signature;
- $this->visibility = $visibility;
- $this->cyclomaticComplexity = $cyclomaticComplexity;
- }
-
- /**
- * @return non-empty-string
- */
- public function name(): string
- {
- return $this->name;
- }
-
- /**
- * @return non-negative-int
- */
- public function startLine(): int
- {
- return $this->startLine;
- }
-
- /**
- * @return non-negative-int
- */
- public function endLine(): int
- {
- return $this->endLine;
- }
-
- /**
- * @return non-empty-string
- */
- public function signature(): string
- {
- return $this->signature;
- }
-
- public function visibility(): Visibility
- {
- return $this->visibility;
- }
-
- /**
- * @return positive-int
- */
- public function cyclomaticComplexity(): int
- {
- return $this->cyclomaticComplexity;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Trait_.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Trait_.php
deleted file mode 100644
index 7bf1084..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Trait_.php
+++ /dev/null
@@ -1,139 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class Trait_
-{
- /**
- * @var non-empty-string
- */
- private string $name;
-
- /**
- * @var non-empty-string
- */
- private string $namespacedName;
- private string $namespace;
-
- /**
- * @var non-empty-string
- */
- private string $file;
-
- /**
- * @var non-negative-int
- */
- private int $startLine;
-
- /**
- * @var non-negative-int
- */
- private int $endLine;
-
- /**
- * @var list
- */
- private array $traits;
-
- /**
- * @var array
- */
- private array $methods;
-
- /**
- * @param non-empty-string $name
- * @param non-empty-string $namespacedName
- * @param non-empty-string $file
- * @param non-negative-int $startLine
- * @param non-negative-int $endLine
- * @param list $traits
- * @param array $methods
- */
- public function __construct(string $name, string $namespacedName, string $namespace, string $file, int $startLine, int $endLine, array $traits, array $methods)
- {
- $this->name = $name;
- $this->namespacedName = $namespacedName;
- $this->namespace = $namespace;
- $this->file = $file;
- $this->startLine = $startLine;
- $this->endLine = $endLine;
- $this->traits = $traits;
- $this->methods = $methods;
- }
-
- /**
- * @return non-empty-string
- */
- public function name(): string
- {
- return $this->name;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespacedName(): string
- {
- return $this->namespacedName;
- }
-
- public function isNamespaced(): bool
- {
- return $this->namespace !== '';
- }
-
- public function namespace(): string
- {
- return $this->namespace;
- }
-
- /**
- * @return non-empty-string
- */
- public function file(): string
- {
- return $this->file;
- }
-
- /**
- * @return non-negative-int
- */
- public function startLine(): int
- {
- return $this->startLine;
- }
-
- /**
- * @return non-negative-int
- */
- public function endLine(): int
- {
- return $this->endLine;
- }
-
- /**
- * @return list
- */
- public function traits(): array
- {
- return $this->traits;
- }
-
- /**
- * @return array
- */
- public function methods(): array
- {
- return $this->methods;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Visibility.php b/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Visibility.php
deleted file mode 100644
index c927977..0000000
--- a/vendor/phpunit/php-code-coverage/src/StaticAnalysis/Value/Visibility.php
+++ /dev/null
@@ -1,20 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\StaticAnalysis;
-
-/**
- * @internal This enumeration is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-enum Visibility: string
-{
- case Public = 'public';
- case Protected = 'protected';
- case Private = 'private';
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Class_.php b/vendor/phpunit/php-code-coverage/src/Target/Class_.php
deleted file mode 100644
index 9e66978..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Class_.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class Class_ extends Target
-{
- /**
- * @var class-string
- */
- private string $className;
-
- /**
- * @param class-string $className
- */
- protected function __construct(string $className)
- {
- $this->className = $className;
- }
-
- public function isClass(): true
- {
- return true;
- }
-
- /**
- * @return class-string
- */
- public function className(): string
- {
- return $this->className;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'classes';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->className;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Class ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/ClassesThatExtendClass.php b/vendor/phpunit/php-code-coverage/src/Target/ClassesThatExtendClass.php
deleted file mode 100644
index 94fdb56..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/ClassesThatExtendClass.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class ClassesThatExtendClass extends Target
-{
- /**
- * @var class-string
- */
- private string $className;
-
- /**
- * @param class-string $className
- */
- protected function __construct(string $className)
- {
- $this->className = $className;
- }
-
- public function isClassesThatExtendClass(): true
- {
- return true;
- }
-
- /**
- * @return class-string
- */
- public function className(): string
- {
- return $this->className;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'classesThatExtendClass';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->className;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Classes that extend class ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/ClassesThatImplementInterface.php b/vendor/phpunit/php-code-coverage/src/Target/ClassesThatImplementInterface.php
deleted file mode 100644
index 6bbe18e..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/ClassesThatImplementInterface.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class ClassesThatImplementInterface extends Target
-{
- /**
- * @var class-string
- */
- private string $interfaceName;
-
- /**
- * @param class-string $interfaceName
- */
- protected function __construct(string $interfaceName)
- {
- $this->interfaceName = $interfaceName;
- }
-
- public function isClassesThatImplementInterface(): true
- {
- return true;
- }
-
- /**
- * @return class-string
- */
- public function interfaceName(): string
- {
- return $this->interfaceName;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'classesThatImplementInterface';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->interfaceName;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Classes that implement interface ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Function_.php b/vendor/phpunit/php-code-coverage/src/Target/Function_.php
deleted file mode 100644
index 1d7cddd..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Function_.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class Function_ extends Target
-{
- /**
- * @var non-empty-string
- */
- private string $functionName;
-
- /**
- * @param non-empty-string $functionName
- */
- protected function __construct(string $functionName)
- {
- $this->functionName = $functionName;
- }
-
- public function isFunction(): true
- {
- return true;
- }
-
- /**
- * @return non-empty-string
- */
- public function functionName(): string
- {
- return $this->functionName;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'functions';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->functionName;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Function ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/MapBuilder.php b/vendor/phpunit/php-code-coverage/src/Target/MapBuilder.php
deleted file mode 100644
index a634e6b..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/MapBuilder.php
+++ /dev/null
@@ -1,249 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-use function array_keys;
-use function array_merge;
-use function array_slice;
-use function array_unique;
-use function count;
-use function explode;
-use function implode;
-use function range;
-use SebastianBergmann\CodeCoverage\Filter;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\Class_;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\FileAnalyser;
-use SebastianBergmann\CodeCoverage\StaticAnalysis\Trait_;
-
-/**
- * @phpstan-import-type TargetMap from Mapper
- * @phpstan-import-type TargetMapPart from Mapper
- *
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- *
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class MapBuilder
-{
- /**
- * @return TargetMap
- */
- public function build(Filter $filter, FileAnalyser $analyser): array
- {
- $namespaces = [];
- $classes = [];
- $classDetails = [];
- $classesThatExtendClass = [];
- $classesThatImplementInterface = [];
- $traits = [];
- $methods = [];
- $functions = [];
- $reverseLookup = [];
-
- foreach ($filter->files() as $file) {
- foreach ($analyser->traitsIn($file) as $trait) {
- if ($trait->isNamespaced()) {
- $this->processNamespace($namespaces, $trait->namespace(), $file, $trait->startLine(), $trait->endLine());
- }
-
- $this->process($traits, $trait->namespacedName(), $file, $trait->startLine(), $trait->endLine());
- $this->processMethods($trait, $file, $methods, $reverseLookup);
- }
- }
-
- foreach ($filter->files() as $file) {
- foreach ($analyser->traitsIn($file) as $trait) {
- foreach ($trait->traits() as $traitName) {
- if (!isset($traits[$traitName])) {
- continue;
- }
-
- $file = array_keys($traits[$traitName])[0];
-
- if (!isset($traits[$trait->namespacedName()][$file])) {
- $traits[$trait->namespacedName()][$file] = $traits[$traitName][$file];
-
- continue;
- }
-
- $traits[$trait->namespacedName()][$file] = array_unique(
- array_merge(
- $traits[$trait->namespacedName()][$file],
- $traits[$traitName][$file],
- ),
- );
- }
- }
- }
-
- foreach ($filter->files() as $file) {
- foreach ($analyser->interfacesIn($file) as $interface) {
- $classesThatImplementInterface[$interface->namespacedName()] = [];
- }
-
- foreach ($analyser->classesIn($file) as $class) {
- if ($class->isNamespaced()) {
- $this->processNamespace($namespaces, $class->namespace(), $file, $class->startLine(), $class->endLine());
- }
-
- $this->process($classes, $class->namespacedName(), $file, $class->startLine(), $class->endLine());
-
- foreach ($class->traits() as $traitName) {
- if (!isset($traits[$traitName])) {
- continue;
- }
-
- foreach ($traits[$traitName] as $file => $lines) {
- if (!isset($classes[$class->namespacedName()][$file])) {
- $classes[$class->namespacedName()][$file] = $lines;
-
- continue;
- }
-
- $classes[$class->namespacedName()][$file] = array_unique(
- array_merge(
- $classes[$class->namespacedName()][$file],
- $lines,
- ),
- );
- }
- }
-
- $this->processMethods($class, $file, $methods, $reverseLookup);
-
- $classesThatExtendClass[$class->namespacedName()] = [];
- $classDetails[] = $class;
- }
-
- foreach ($analyser->functionsIn($file) as $function) {
- if ($function->isNamespaced()) {
- $this->processNamespace($namespaces, $function->namespace(), $file, $function->startLine(), $function->endLine());
- }
-
- $this->process($functions, $function->namespacedName(), $file, $function->startLine(), $function->endLine());
-
- foreach (range($function->startLine(), $function->endLine()) as $line) {
- $reverseLookup[$file . ':' . $line] = $function->namespacedName();
- }
- }
- }
-
- foreach (array_keys($namespaces) as $namespace) {
- foreach (array_keys($namespaces[$namespace]) as $file) {
- $namespaces[$namespace][$file] = array_unique($namespaces[$namespace][$file]);
- }
- }
-
- foreach ($classDetails as $class) {
- foreach ($class->interfaces() as $interfaceName) {
- if (!isset($classesThatImplementInterface[$interfaceName])) {
- continue;
- }
-
- $this->process($classesThatImplementInterface, $interfaceName, $class->file(), $class->startLine(), $class->endLine());
- }
-
- if (!$class->hasParent()) {
- continue;
- }
-
- if (!isset($classesThatExtendClass[$class->parentClass()])) {
- continue;
- }
-
- $this->process($classesThatExtendClass, $class->parentClass(), $class->file(), $class->startLine(), $class->endLine());
- }
-
- foreach (array_keys($classesThatImplementInterface) as $className) {
- if ($classesThatImplementInterface[$className] !== []) {
- continue;
- }
-
- unset($classesThatImplementInterface[$className]);
- }
-
- foreach (array_keys($classesThatExtendClass) as $className) {
- if ($classesThatExtendClass[$className] !== []) {
- continue;
- }
-
- unset($classesThatExtendClass[$className]);
- }
-
- return [
- 'namespaces' => $namespaces,
- 'traits' => $traits,
- 'classes' => $classes,
- 'classesThatExtendClass' => $classesThatExtendClass,
- 'classesThatImplementInterface' => $classesThatImplementInterface,
- 'methods' => $methods,
- 'functions' => $functions,
- 'reverseLookup' => $reverseLookup,
- ];
- }
-
- private function processMethods(Class_|Trait_ $classOrTrait, string $file, array &$methods, array &$reverseLookup): void
- {
- foreach ($classOrTrait->methods() as $method) {
- $methodName = $classOrTrait->namespacedName() . '::' . $method->name();
-
- $this->process($methods, $methodName, $file, $method->startLine(), $method->endLine());
-
- foreach (range($method->startLine(), $method->endLine()) as $line) {
- $reverseLookup[$file . ':' . $line] = $methodName;
- }
- }
- }
-
- /**
- * @param TargetMapPart $data
- * @param non-empty-string $namespace
- * @param non-empty-string $file
- * @param positive-int $startLine
- * @param positive-int $endLine
- *
- * @param-out TargetMapPart $data
- */
- private function processNamespace(array &$data, string $namespace, string $file, int $startLine, int $endLine): void
- {
- $parts = explode('\\', $namespace);
-
- foreach (range(1, count($parts)) as $i) {
- $this->process($data, implode('\\', array_slice($parts, 0, $i)), $file, $startLine, $endLine);
- }
- }
-
- /**
- * @param TargetMapPart $data
- * @param non-empty-string $unit
- * @param non-empty-string $file
- * @param positive-int $startLine
- * @param positive-int $endLine
- *
- * @param-out TargetMapPart $data
- */
- private function process(array &$data, string $unit, string $file, int $startLine, int $endLine): void
- {
- if (!isset($data[$unit])) {
- $data[$unit] = [];
- }
-
- if (!isset($data[$unit][$file])) {
- $data[$unit][$file] = [];
- }
-
- $data[$unit][$file] = array_merge(
- $data[$unit][$file],
- range($startLine, $endLine),
- );
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Mapper.php b/vendor/phpunit/php-code-coverage/src/Target/Mapper.php
deleted file mode 100644
index 27fbe95..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Mapper.php
+++ /dev/null
@@ -1,93 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-use function array_merge;
-use function array_unique;
-
-/**
- * @phpstan-type TargetMap array{namespaces: TargetMapPart, traits: TargetMapPart, classes: TargetMapPart, classesThatExtendClass: TargetMapPart, classesThatImplementInterface: TargetMapPart, methods: TargetMapPart, functions: TargetMapPart, reverseLookup: ReverseLookup}
- * @phpstan-type TargetMapPart array>>
- * @phpstan-type ReverseLookup array
- *
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- *
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class Mapper
-{
- /**
- * @var TargetMap
- */
- private array $map;
-
- /**
- * @param TargetMap $map
- */
- public function __construct(array $map)
- {
- $this->map = $map;
- }
-
- /**
- * @return array>
- */
- public function mapTargets(TargetCollection $targets): array
- {
- $result = [];
-
- foreach ($targets as $target) {
- foreach ($this->mapTarget($target) as $file => $lines) {
- if (!isset($result[$file])) {
- $result[$file] = $lines;
-
- continue;
- }
-
- $result[$file] = array_unique(array_merge($result[$file], $lines));
- }
- }
-
- return $result;
- }
-
- /**
- * @throws InvalidCodeCoverageTargetException
- *
- * @return array>
- */
- public function mapTarget(Target $target): array
- {
- if (!isset($this->map[$target->key()][$target->target()])) {
- throw new InvalidCodeCoverageTargetException($target);
- }
-
- return $this->map[$target->key()][$target->target()];
- }
-
- /**
- * @param non-empty-string $file
- * @param positive-int $line
- *
- * @return non-empty-string
- */
- public function lookup(string $file, int $line): string
- {
- $key = $file . ':' . $line;
-
- if (isset($this->map['reverseLookup'][$key])) {
- return $this->map['reverseLookup'][$key];
- }
-
- return $key;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Method.php b/vendor/phpunit/php-code-coverage/src/Target/Method.php
deleted file mode 100644
index 0b46ba9..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Method.php
+++ /dev/null
@@ -1,83 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class Method extends Target
-{
- /**
- * @var class-string
- */
- private string $className;
-
- /**
- * @var non-empty-string
- */
- private string $methodName;
-
- /**
- * @param class-string $className
- * @param non-empty-string $methodName
- */
- protected function __construct(string $className, string $methodName)
- {
- $this->className = $className;
- $this->methodName = $methodName;
- }
-
- public function isMethod(): true
- {
- return true;
- }
-
- /**
- * @return class-string
- */
- public function className(): string
- {
- return $this->className;
- }
-
- /**
- * @return non-empty-string
- */
- public function methodName(): string
- {
- return $this->methodName;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'methods';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->className . '::' . $this->methodName;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Method ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Namespace_.php b/vendor/phpunit/php-code-coverage/src/Target/Namespace_.php
deleted file mode 100644
index 651927d..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Namespace_.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class Namespace_ extends Target
-{
- /**
- * @var non-empty-string
- */
- private string $namespace;
-
- /**
- * @param non-empty-string $namespace
- */
- protected function __construct(string $namespace)
- {
- $this->namespace = $namespace;
- }
-
- public function isNamespace(): true
- {
- return true;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespace(): string
- {
- return $this->namespace;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'namespaces';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->namespace;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Namespace ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Target.php b/vendor/phpunit/php-code-coverage/src/Target/Target.php
deleted file mode 100644
index 7432c81..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Target.php
+++ /dev/null
@@ -1,125 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-abstract class Target
-{
- /**
- * @param non-empty-string $namespace
- */
- public static function forNamespace(string $namespace): Namespace_
- {
- return new Namespace_($namespace);
- }
-
- /**
- * @param class-string $className
- */
- public static function forClass(string $className): Class_
- {
- return new Class_($className);
- }
-
- /**
- * @param class-string $className
- * @param non-empty-string $methodName
- */
- public static function forMethod(string $className, string $methodName): Method
- {
- return new Method($className, $methodName);
- }
-
- /**
- * @param class-string $interfaceName
- */
- public static function forClassesThatImplementInterface(string $interfaceName): ClassesThatImplementInterface
- {
- return new ClassesThatImplementInterface($interfaceName);
- }
-
- /**
- * @param class-string $className
- */
- public static function forClassesThatExtendClass(string $className): ClassesThatExtendClass
- {
- return new ClassesThatExtendClass($className);
- }
-
- /**
- * @param non-empty-string $functionName
- */
- public static function forFunction(string $functionName): Function_
- {
- return new Function_($functionName);
- }
-
- /**
- * @param trait-string $traitName
- */
- public static function forTrait(string $traitName): Trait_
- {
- return new Trait_($traitName);
- }
-
- public function isNamespace(): bool
- {
- return false;
- }
-
- public function isClass(): bool
- {
- return false;
- }
-
- public function isMethod(): bool
- {
- return false;
- }
-
- public function isClassesThatImplementInterface(): bool
- {
- return false;
- }
-
- public function isClassesThatExtendClass(): bool
- {
- return false;
- }
-
- public function isFunction(): bool
- {
- return false;
- }
-
- public function isTrait(): bool
- {
- return false;
- }
-
- /**
- * @return non-empty-string
- */
- abstract public function key(): string;
-
- /**
- * @return non-empty-string
- */
- abstract public function target(): string;
-
- /**
- * @return non-empty-string
- */
- abstract public function description(): string;
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/TargetCollection.php b/vendor/phpunit/php-code-coverage/src/Target/TargetCollection.php
deleted file mode 100644
index ef6e32a..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/TargetCollection.php
+++ /dev/null
@@ -1,70 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-use function count;
-use Countable;
-use IteratorAggregate;
-
-/**
- * @template-implements IteratorAggregate
- *
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class TargetCollection implements Countable, IteratorAggregate
-{
- /**
- * @var list
- */
- private array $targets;
-
- /**
- * @param list $targets
- */
- public static function fromArray(array $targets): self
- {
- return new self(...$targets);
- }
-
- private function __construct(Target ...$targets)
- {
- $this->targets = $targets;
- }
-
- /**
- * @return list
- */
- public function asArray(): array
- {
- return $this->targets;
- }
-
- public function count(): int
- {
- return count($this->targets);
- }
-
- public function isEmpty(): bool
- {
- return $this->count() === 0;
- }
-
- public function isNotEmpty(): bool
- {
- return $this->count() > 0;
- }
-
- public function getIterator(): TargetCollectionIterator
- {
- return new TargetCollectionIterator($this);
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/TargetCollectionIterator.php b/vendor/phpunit/php-code-coverage/src/Target/TargetCollectionIterator.php
deleted file mode 100644
index 9a5ca06..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/TargetCollectionIterator.php
+++ /dev/null
@@ -1,57 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-use function count;
-use Iterator;
-
-/**
- * @template-implements Iterator
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class TargetCollectionIterator implements Iterator
-{
- /**
- * @var list
- */
- private readonly array $targets;
- private int $position = 0;
-
- public function __construct(TargetCollection $metadata)
- {
- $this->targets = $metadata->asArray();
- }
-
- public function rewind(): void
- {
- $this->position = 0;
- }
-
- public function valid(): bool
- {
- return $this->position < count($this->targets);
- }
-
- public function key(): int
- {
- return $this->position;
- }
-
- public function current(): Target
- {
- return $this->targets[$this->position];
- }
-
- public function next(): void
- {
- $this->position++;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/TargetCollectionValidator.php b/vendor/phpunit/php-code-coverage/src/Target/TargetCollectionValidator.php
deleted file mode 100644
index 3703414..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/TargetCollectionValidator.php
+++ /dev/null
@@ -1,39 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-use function implode;
-
-/**
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- *
- * @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class TargetCollectionValidator
-{
- public function validate(Mapper $mapper, TargetCollection $targets): ValidationResult
- {
- $errors = [];
-
- foreach ($targets as $target) {
- try {
- $mapper->mapTarget($target);
- } catch (InvalidCodeCoverageTargetException $e) {
- $errors[] = $e->getMessage();
- }
- }
-
- if ($errors === []) {
- return ValidationResult::success();
- }
-
- return ValidationResult::failure(implode("\n", $errors));
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/Trait_.php b/vendor/phpunit/php-code-coverage/src/Target/Trait_.php
deleted file mode 100644
index a698a18..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/Trait_.php
+++ /dev/null
@@ -1,68 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final class Trait_ extends Target
-{
- /**
- * @var trait-string
- */
- private string $traitName;
-
- /**
- * @param trait-string $traitName
- */
- protected function __construct(string $traitName)
- {
- $this->traitName = $traitName;
- }
-
- public function isTrait(): true
- {
- return true;
- }
-
- /**
- * @return trait-string
- */
- public function traitName(): string
- {
- return $this->traitName;
- }
-
- /**
- * @return non-empty-string
- */
- public function key(): string
- {
- return 'traits';
- }
-
- /**
- * @return non-empty-string
- */
- public function target(): string
- {
- return $this->traitName;
- }
-
- /**
- * @return non-empty-string
- */
- public function description(): string
- {
- return 'Trait ' . $this->target();
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/ValidationFailure.php b/vendor/phpunit/php-code-coverage/src/Target/ValidationFailure.php
deleted file mode 100644
index e43791f..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/ValidationFailure.php
+++ /dev/null
@@ -1,46 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-final readonly class ValidationFailure extends ValidationResult
-{
- /**
- * @var non-empty-string
- */
- private string $message;
-
- /**
- * @param non-empty-string $message
- *
- * @noinspection PhpMissingParentConstructorInspection
- */
- protected function __construct(string $message)
- {
- $this->message = $message;
- }
-
- public function isFailure(): true
- {
- return true;
- }
-
- /**
- * @return non-empty-string
- */
- public function message(): string
- {
- return $this->message;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/ValidationResult.php b/vendor/phpunit/php-code-coverage/src/Target/ValidationResult.php
deleted file mode 100644
index 7dc0cc5..0000000
--- a/vendor/phpunit/php-code-coverage/src/Target/ValidationResult.php
+++ /dev/null
@@ -1,51 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace SebastianBergmann\CodeCoverage\Test\Target;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
- */
-abstract readonly class ValidationResult
-{
- public static function success(): ValidationSuccess
- {
- return new ValidationSuccess;
- }
-
- /**
- * @param non-empty-string $message
- */
- public static function failure(string $message): ValidationFailure
- {
- return new ValidationFailure($message);
- }
-
- protected function __construct()
- {
- }
-
- /**
- * @phpstan-assert-if-true ValidationSuccess $this
- */
- public function isSuccess(): bool
- {
- return false;
- }
-
- /**
- * @phpstan-assert-if-true ValidationFailure $this
- */
- public function isFailure(): bool
- {
- return false;
- }
-}
diff --git a/vendor/phpunit/php-code-coverage/src/Util/Percentage.php b/vendor/phpunit/php-code-coverage/src/Util/Percentage.php
index 1de640f..a69f236 100644
--- a/vendor/phpunit/php-code-coverage/src/Util/Percentage.php
+++ b/vendor/phpunit/php-code-coverage/src/Util/Percentage.php
@@ -14,10 +14,10 @@ use function sprintf;
/**
* @internal This class is not covered by the backward compatibility promise for phpunit/php-code-coverage
*/
-final readonly class Percentage
+final class Percentage
{
- private float $fraction;
- private float $total;
+ private readonly float $fraction;
+ private readonly float $total;
public static function fromFractionAndTotal(float $fraction, float $total): self
{
diff --git a/vendor/phpunit/php-code-coverage/src/Version.php b/vendor/phpunit/php-code-coverage/src/Version.php
index df7c227..4c6a045 100644
--- a/vendor/phpunit/php-code-coverage/src/Version.php
+++ b/vendor/phpunit/php-code-coverage/src/Version.php
@@ -19,7 +19,7 @@ final class Version
public static function id(): string
{
if (self::$version === '') {
- self::$version = (new VersionId('12.0', dirname(__DIR__)))->asString();
+ self::$version = (new VersionId('11.0.8', dirname(__DIR__)))->asString();
}
return self::$version;
diff --git a/vendor/phpunit/php-file-iterator/ChangeLog.md b/vendor/phpunit/php-file-iterator/ChangeLog.md
index 0a96870..bc3d870 100644
--- a/vendor/phpunit/php-file-iterator/ChangeLog.md
+++ b/vendor/phpunit/php-file-iterator/ChangeLog.md
@@ -2,12 +2,6 @@
All notable changes to this project will be documented in this file. This project adheres to [Semantic Versioning](http://semver.org/).
-## [6.0.0] - 2025-02-07
-
-### Removed
-
-* This component is no longer supported on PHP 8.2
-
## [5.1.0] - 2024-08-27
### Added
@@ -174,7 +168,6 @@ No changes
* [#23](https://github.com/sebastianbergmann/php-file-iterator/pull/23): Added support for wildcards (glob) in exclude
-[6.0.0]: https://github.com/sebastianbergmann/php-file-iterator/compare/5.1...main
[5.1.0]: https://github.com/sebastianbergmann/php-file-iterator/compare/5.0.1...5.1.0
[5.0.1]: https://github.com/sebastianbergmann/php-file-iterator/compare/5.0.0...5.0.1
[5.0.0]: https://github.com/sebastianbergmann/php-file-iterator/compare/4.1...5.0.0
diff --git a/vendor/phpunit/php-file-iterator/LICENSE b/vendor/phpunit/php-file-iterator/LICENSE
index 017eb48..89f0530 100644
--- a/vendor/phpunit/php-file-iterator/LICENSE
+++ b/vendor/phpunit/php-file-iterator/LICENSE
@@ -1,6 +1,6 @@
BSD 3-Clause License
-Copyright (c) 2009-2025, Sebastian Bergmann
+Copyright (c) 2009-2024, Sebastian Bergmann
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/vendor/phpunit/php-file-iterator/composer.json b/vendor/phpunit/php-file-iterator/composer.json
index c21c615..525526d 100644
--- a/vendor/phpunit/php-file-iterator/composer.json
+++ b/vendor/phpunit/php-file-iterator/composer.json
@@ -21,18 +21,17 @@
},
"config": {
"platform": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"optimize-autoloader": true,
"sort-packages": true
},
"prefer-stable": true,
- "minimum-stability": "dev",
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0"
+ "phpunit/phpunit": "^11.0"
},
"autoload": {
"classmap": [
@@ -41,7 +40,7 @@
},
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
}
}
diff --git a/vendor/phpunit/php-file-iterator/src/Factory.php b/vendor/phpunit/php-file-iterator/src/Factory.php
index da53df9..1b50128 100644
--- a/vendor/phpunit/php-file-iterator/src/Factory.php
+++ b/vendor/phpunit/php-file-iterator/src/Factory.php
@@ -37,8 +37,6 @@ final class Factory
* @param list|string $suffixes
* @param list|string $prefixes
* @param list $exclude
- *
- * @phpstan-ignore missingType.generics
*/
public function getFileIterator(array|string $paths, array|string $suffixes = '', array|string $prefixes = '', array $exclude = []): AppendIterator
{
@@ -115,7 +113,7 @@ final class Factory
*
* @return list
*/
- private function globstar(string $pattern): array
+ private function globstar(string $pattern)
{
if (stripos($pattern, '**') === false) {
$files = glob($pattern, GLOB_ONLYDIR);
@@ -127,24 +125,23 @@ final class Factory
$patterns = [$rootPattern . $restPattern];
$rootPattern .= '/*';
- while ($directories = glob($rootPattern, GLOB_ONLYDIR)) {
+ while ($dirs = glob($rootPattern, GLOB_ONLYDIR)) {
$rootPattern .= '/*';
- foreach ($directories as $directory) {
- $patterns[] = $directory . $restPattern;
+ foreach ($dirs as $dir) {
+ $patterns[] = $dir . $restPattern;
}
}
$files = [];
- foreach ($patterns as $_pattern) {
- $files = array_merge($files, $this->globstar($_pattern));
+ foreach ($patterns as $pat) {
+ $files = array_merge($files, $this->globstar($pat));
}
}
if ($files !== false) {
$files = array_unique($files);
-
sort($files);
return $files;
diff --git a/vendor/phpunit/php-file-iterator/src/Iterator.php b/vendor/phpunit/php-file-iterator/src/Iterator.php
index b29f235..405f25d 100644
--- a/vendor/phpunit/php-file-iterator/src/Iterator.php
+++ b/vendor/phpunit/php-file-iterator/src/Iterator.php
@@ -9,6 +9,7 @@
*/
namespace SebastianBergmann\FileIterator;
+use function assert;
use function preg_match;
use function realpath;
use function str_ends_with;
@@ -24,8 +25,8 @@ use SplFileInfo;
*/
final class Iterator extends FilterIterator
{
- public const int PREFIX = 0;
- public const int SUFFIX = 1;
+ public const PREFIX = 0;
+ public const SUFFIX = 1;
private false|string $basePath;
/**
@@ -55,6 +56,8 @@ final class Iterator extends FilterIterator
{
$current = $this->getInnerIterator()->current();
+ assert($current instanceof SplFileInfo);
+
$filename = $current->getFilename();
$realPath = $current->getRealPath();
diff --git a/vendor/phpunit/php-invoker/ChangeLog.md b/vendor/phpunit/php-invoker/ChangeLog.md
index 4bc165c..36daa30 100644
--- a/vendor/phpunit/php-invoker/ChangeLog.md
+++ b/vendor/phpunit/php-invoker/ChangeLog.md
@@ -2,12 +2,6 @@
All notable changes are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles.
-## [6.0.0] - 2025-02-07
-
-### Removed
-
-* This component is no longer supported on PHP 8.2
-
## [5.0.1] - 2024-07-03
### Changed
@@ -65,7 +59,6 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt
* This component is no longer supported on PHP 7.1 and PHP 7.2
-[6.0.0]: https://github.com/sebastianbergmann/php-invoker/compare/5.0...main
[5.0.1]: https://github.com/sebastianbergmann/php-invoker/compare/5.0.1...5.0.1
[5.0.0]: https://github.com/sebastianbergmann/php-invoker/compare/4.0...5.0.0
[4.0.0]: https://github.com/sebastianbergmann/php-invoker/compare/3.1.1...4.0.0
diff --git a/vendor/phpunit/php-invoker/LICENSE b/vendor/phpunit/php-invoker/LICENSE
index 9d94d32..ecc634d 100644
--- a/vendor/phpunit/php-invoker/LICENSE
+++ b/vendor/phpunit/php-invoker/LICENSE
@@ -1,6 +1,6 @@
BSD 3-Clause License
-Copyright (c) 2011-2025, Sebastian Bergmann
+Copyright (c) 2011-2024, Sebastian Bergmann
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/vendor/phpunit/php-invoker/README.md b/vendor/phpunit/php-invoker/README.md
index aedc339..f85a87d 100644
--- a/vendor/phpunit/php-invoker/README.md
+++ b/vendor/phpunit/php-invoker/README.md
@@ -1,6 +1,6 @@
# phpunit/php-invoker
-[](https://packagist.org/packages/phpunit/php-invoker)
+[](https://packagist.org/packages/phpunit/php-invoker)
[](https://github.com/sebastianbergmann/php-invoker/actions)
[](https://codecov.io/gh/sebastianbergmann/php-invoker)
diff --git a/vendor/phpunit/php-invoker/composer.json b/vendor/phpunit/php-invoker/composer.json
index ade7389..cbe9e8e 100644
--- a/vendor/phpunit/php-invoker/composer.json
+++ b/vendor/phpunit/php-invoker/composer.json
@@ -18,21 +18,20 @@
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"security": "https://github.com/sebastianbergmann/php-invoker/security/policy"
},
- "minimum-stability": "dev",
"prefer-stable": true,
"config": {
"platform": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"optimize-autoloader": true,
"sort-packages": true
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"autoload": {
"classmap": [
@@ -49,7 +48,7 @@
},
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
}
}
diff --git a/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php b/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php
index 7f410d3..c864982 100644
--- a/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php
+++ b/vendor/phpunit/php-invoker/src/exceptions/ProcessControlExtensionNotLoadedException.php
@@ -9,7 +9,6 @@
*/
namespace SebastianBergmann\Invoker;
-use const PHP_EOL;
use function extension_loaded;
use function function_exists;
use function implode;
diff --git a/vendor/phpunit/php-text-template/ChangeLog.md b/vendor/phpunit/php-text-template/ChangeLog.md
index 527f5ba..bf2e049 100644
--- a/vendor/phpunit/php-text-template/ChangeLog.md
+++ b/vendor/phpunit/php-text-template/ChangeLog.md
@@ -2,12 +2,6 @@
All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
-## [5.0.0] - 2025-02-07
-
-### Removed
-
-* This component is no longer supported on PHP 8.2
-
## [4.0.1] - 2024-07-03
### Changed
@@ -67,7 +61,6 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt
* Removed support for PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, PHP 7.0, PHP 7.1, and PHP 7.2
-[5.0.0]: https://github.com/sebastianbergmann/php-text-template/compare/4.0...main
[4.0.1]: https://github.com/sebastianbergmann/php-text-template/compare/4.0.0...4.0.1
[4.0.0]: https://github.com/sebastianbergmann/php-text-template/compare/3.0...4.0.0
[3.0.1]: https://github.com/sebastianbergmann/php-text-template/compare/3.0.0...3.0.1
diff --git a/vendor/phpunit/php-text-template/LICENSE b/vendor/phpunit/php-text-template/LICENSE
index 017eb48..89f0530 100644
--- a/vendor/phpunit/php-text-template/LICENSE
+++ b/vendor/phpunit/php-text-template/LICENSE
@@ -1,6 +1,6 @@
BSD 3-Clause License
-Copyright (c) 2009-2025, Sebastian Bergmann
+Copyright (c) 2009-2024, Sebastian Bergmann
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/vendor/phpunit/php-text-template/README.md b/vendor/phpunit/php-text-template/README.md
index 009d546..6301593 100644
--- a/vendor/phpunit/php-text-template/README.md
+++ b/vendor/phpunit/php-text-template/README.md
@@ -1,4 +1,4 @@
-[](https://packagist.org/packages/phpunit/php-text-template)
+[](https://packagist.org/packages/phpunit/php-text-template)
[](https://github.com/sebastianbergmann/php-text-template/actions)
[](https://codecov.io/gh/sebastianbergmann/php-text-template)
diff --git a/vendor/phpunit/php-text-template/composer.json b/vendor/phpunit/php-text-template/composer.json
index 1bb365b..0f47249 100644
--- a/vendor/phpunit/php-text-template/composer.json
+++ b/vendor/phpunit/php-text-template/composer.json
@@ -20,18 +20,17 @@
},
"config": {
"platform": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"optimize-autoloader": true,
"sort-packages": true
},
- "minimum-stability": "dev",
"prefer-stable": true,
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"autoload": {
"classmap": [
@@ -40,7 +39,7 @@
},
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
}
}
diff --git a/vendor/phpunit/php-timer/ChangeLog.md b/vendor/phpunit/php-timer/ChangeLog.md
index be6a355..5348875 100644
--- a/vendor/phpunit/php-timer/ChangeLog.md
+++ b/vendor/phpunit/php-timer/ChangeLog.md
@@ -2,12 +2,6 @@
All notable changes are documented in this file using the [Keep a CHANGELOG](http://keepachangelog.com/) principles.
-## [8.0.0] - 2025-02-07
-
-### Removed
-
-* This component is no longer supported on PHP 8.1
-
## [7.0.1] - 2024-07-03
### Changed
@@ -145,7 +139,6 @@ All notable changes are documented in this file using the [Keep a CHANGELOG](htt
* This component is no longer supported on PHP 5.3, PHP 5.4, PHP 5.5, PHP 5.6, and PHP 7.0
-[8.0.0]: https://github.com/sebastianbergmann/php-timer/compare/7.0...main
[7.0.1]: https://github.com/sebastianbergmann/php-timer/compare/7.0.0...7.0.1
[7.0.0]: https://github.com/sebastianbergmann/php-timer/compare/6.0...7.0.0
[6.0.0]: https://github.com/sebastianbergmann/php-timer/compare/5.0.3...6.0.0
diff --git a/vendor/phpunit/php-timer/LICENSE b/vendor/phpunit/php-timer/LICENSE
index fd52ce6..60a032d 100644
--- a/vendor/phpunit/php-timer/LICENSE
+++ b/vendor/phpunit/php-timer/LICENSE
@@ -1,6 +1,6 @@
BSD 3-Clause License
-Copyright (c) 2010-2025, Sebastian Bergmann
+Copyright (c) 2010-2024, Sebastian Bergmann
All rights reserved.
Redistribution and use in source and binary forms, with or without
diff --git a/vendor/phpunit/php-timer/README.md b/vendor/phpunit/php-timer/README.md
index bc9157c..ae0d5a3 100644
--- a/vendor/phpunit/php-timer/README.md
+++ b/vendor/phpunit/php-timer/README.md
@@ -1,6 +1,6 @@
# phpunit/php-timer
-[](https://packagist.org/packages/phpunit/php-timer)
+[](https://packagist.org/packages/phpunit/php-timer)
[](https://github.com/sebastianbergmann/php-timer/actions)
[](https://codecov.io/gh/sebastianbergmann/php-timer)
diff --git a/vendor/phpunit/php-timer/composer.json b/vendor/phpunit/php-timer/composer.json
index a3ece84..f4991e4 100644
--- a/vendor/phpunit/php-timer/composer.json
+++ b/vendor/phpunit/php-timer/composer.json
@@ -18,17 +18,16 @@
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"security": "https://github.com/sebastianbergmann/php-timer/security/policy"
},
- "minimum-stability": "dev",
"prefer-stable": true,
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"config": {
"platform": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"optimize-autoloader": true,
"sort-packages": true
@@ -40,7 +39,7 @@
},
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
}
}
diff --git a/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php b/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php
index f797bc0..e26ea62 100644
--- a/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php
+++ b/vendor/phpunit/php-timer/src/ResourceUsageFormatter.php
@@ -19,7 +19,7 @@ final class ResourceUsageFormatter
/**
* @var array
*/
- private const array SIZES = [
+ private const SIZES = [
'GB' => 1073741824,
'MB' => 1048576,
'KB' => 1024,
diff --git a/vendor/phpunit/phpunit/.phpunit.result.cache b/vendor/phpunit/phpunit/.phpunit.result.cache
new file mode 100644
index 0000000..972a1b3
--- /dev/null
+++ b/vendor/phpunit/phpunit/.phpunit.result.cache
@@ -0,0 +1 @@
+{"version":1,"defects":[],"times":{"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testSort":0.01,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testSearch":0,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testGetRows":0.001,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testGetValue":0.002,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testCount":0.001,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testDelete":0,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testClear":0.001,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testMerge":0,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testMaxBy":0,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testGetColumn":0.002,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testToArray":0,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testMinBy":0,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testIsExist":0.001,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testUpdate":0.001,"goodboyalex\\php_components_pack\\tests\\classes\\ObjectArrayTest::testGetRow":0.002}}
\ No newline at end of file
diff --git a/vendor/phpunit/phpunit/ChangeLog-11.5.md b/vendor/phpunit/phpunit/ChangeLog-11.5.md
new file mode 100644
index 0000000..b36718d
--- /dev/null
+++ b/vendor/phpunit/phpunit/ChangeLog-11.5.md
@@ -0,0 +1,97 @@
+# Changes in PHPUnit 11.5
+
+All notable changes of the PHPUnit 11.5 release series are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles.
+
+## [11.5.6] - 2025-01-31
+
+### Changed
+
+* [#6112](https://github.com/sebastianbergmann/phpunit/pull/6112): Improve performance of `SourceMapper`
+
+### Fixed
+
+* [#6115](https://github.com/sebastianbergmann/phpunit/issues/6115): Backed enumerations with values not of type `string` cannot be used in customized TestDox output
+
+## [11.5.5] - 2025-01-29
+
+### Changed
+
+* Do not skip execution of test that depends on a test that is larger than itself
+
+## [11.5.4] - 2025-01-28
+
+### Changed
+
+* [#5958](https://github.com/sebastianbergmann/phpunit/issues/5958): Support for `#[CoversTrait]` and `#[UsesTrait]` attributes is no longer deprecated
+* [#5960](https://github.com/sebastianbergmann/phpunit/issues/5960): Support for targeting trait methods with the `#[CoversMethod]` and `#[UsesMethod]` attributes is no longer deprecated
+
+### Fixed
+
+* [#6103](https://github.com/sebastianbergmann/phpunit/issues/6103): Output from test run in separate process is printed twice
+* [#6109](https://github.com/sebastianbergmann/phpunit/issues/6109): Skipping a test in a before-class method crashes JUnit XML logger
+* [#6111](https://github.com/sebastianbergmann/phpunit/issues/6111): Deprecations cause `SourceMapper` to scan all `` files
+
+## [11.5.3] - 2025-01-13
+
+### Added
+
+* `Test\AfterLastTestMethodErrored`, `Test\AfterTestMethodErrored`, `Test\BeforeTestMethodErrored`, `Test\PostConditionErrored`, and `Test\PreConditionErrored` events
+
+### Fixed
+
+* [#6093](https://github.com/sebastianbergmann/phpunit/issues/6093): Test Double Code Generator does not work when PHPUnit is used from PHAR on PHP 8.4
+* [#6094](https://github.com/sebastianbergmann/phpunit/issues/6094): Errors in after-last-test methods are not reported
+* [#6095](https://github.com/sebastianbergmann/phpunit/issues/6095): Expectation is not counted correctly when a doubled method is called more often than is expected
+* [#6096](https://github.com/sebastianbergmann/phpunit/issues/6096): `--list-tests-xml` is broken when a group with a numeric name is defined
+* [#6098](https://github.com/sebastianbergmann/phpunit/issues/6098): No `system-out` element in JUnit XML logfile
+* [#6100](https://github.com/sebastianbergmann/phpunit/issues/6100): Suppressed deprecations incorrectly stop test execution when execution should be stopped on deprecation
+
+## [11.5.2] - 2024-12-21
+
+### Fixed
+
+* [#6082](https://github.com/sebastianbergmann/phpunit/issues/6082): `assertArrayHasKey()`, `assertArrayNotHasKey()`, `arrayHasKey()`, and `ArrayHasKey::__construct()` do not support all possible key types
+* [#6087](https://github.com/sebastianbergmann/phpunit/issues/6087): `--migrate-configuration` does not remove `beStrictAboutTodoAnnotatedTests` attribute from XML configuration file
+
+## [11.5.1] - 2024-12-11
+
+### Added
+
+* [#6081](https://github.com/sebastianbergmann/phpunit/pull/6081): `DefaultResultCache::mergeWith()` for merging result cache instances
+
+### Fixed
+
+* [#6066](https://github.com/sebastianbergmann/phpunit/pull/6066): TeamCity logger does not handle error/skipped events in before-class methods correctly
+
+## [11.5.0] - 2024-12-06
+
+### Added
+
+* [#5948](https://github.com/sebastianbergmann/phpunit/pull/5948): Support for Property Hooks in Test Doubles
+* [#5954](https://github.com/sebastianbergmann/phpunit/issues/5954): Provide a way to stop execution at a particular deprecation
+* Method `assertContainsNotOnlyInstancesOf()` in the `PHPUnit\Framework\Assert` class as the inverse of the `assertContainsOnlyInstancesOf()` method
+* Methods `assertContainsOnlyArray()`, `assertContainsOnlyBool()`, `assertContainsOnlyCallable()`, `assertContainsOnlyFloat()`, `assertContainsOnlyInt()`, `assertContainsOnlyIterable()`, `assertContainsOnlyNull()`, `assertContainsOnlyNumeric()`, `assertContainsOnlyObject()`, `assertContainsOnlyResource()`, `assertContainsOnlyClosedResource()`, `assertContainsOnlyScalar()`, and `assertContainsOnlyString()` in the `PHPUnit\Framework\Assert` class as specialized alternatives for the generic `assertContainsOnly()` method
+* Methods `assertContainsNotOnlyArray()`, `assertContainsNotOnlyBool()`, `assertContainsNotOnlyCallable()`, `assertContainsNotOnlyFloat()`, `assertContainsNotOnlyInt()`, `assertContainsNotOnlyIterable()`, `assertContainsNotOnlyNull()`, `assertContainsNotOnlyNumeric()`, `assertContainsNotOnlyObject()`, `assertContainsNotOnlyResource()`, `assertContainsNotOnlyClosedResource()`, `assertContainsNotOnlyScalar()`, and `assertContainsNotOnlyString()` in the `PHPUnit\Framework\Assert` class as specialized alternatives for the generic `assertNotContainsOnly()` method
+* Methods `containsOnlyArray()`, `containsOnlyBool()`, `containsOnlyCallable()`, `containsOnlyFloat()`, `containsOnlyInt()`, `containsOnlyIterable()`, `containsOnlyNull()`, `containsOnlyNumeric()`, `containsOnlyObject()`, `containsOnlyResource()`, `containsOnlyClosedResource()`, `containsOnlyScalar()`, and `containsOnlyString()` in the `PHPUnit\Framework\Assert` class as specialized alternatives for the generic `containsOnly()` method
+* Methods `isArray()`, `isBool()`, `isCallable()`, `isFloat()`, `isInt()`, `isIterable()`, `isNumeric()`, `isObject()`, `isResource()`, `isClosedResource()`, `isScalar()`, `isString()` in the `PHPUnit\Framework\Assert` class as specialized alternatives for the generic `isType()` method
+* `TestRunner\ChildProcessStarted` and `TestRunner\ChildProcessFinished` events
+
+### Changed
+
+* [#5998](https://github.com/sebastianbergmann/phpunit/pull/5998): Do not run `SKIPIF` section of PHPT test in separate process when it is free of side effects
+* [#5999](https://github.com/sebastianbergmann/phpunit/pull/5999): Do not run `CLEAN` section of PHPT test in separate process when it is free of side effects that modify the parent process
+
+### Deprecated
+
+* [#6052](https://github.com/sebastianbergmann/phpunit/issues/6052): `isType()` (use `isArray()`, `isBool()`, `isCallable()`, `isFloat()`, `isInt()`, `isIterable()`, `isNull()`, `isNumeric()`, `isObject()`, `isResource()`, `isClosedResource()`, `isScalar()`, or `isString()` instead)
+* [#6055](https://github.com/sebastianbergmann/phpunit/issues/6055): `assertContainsOnly()` (use `assertContainsOnlyArray()`, `assertContainsOnlyBool()`, `assertContainsOnlyCallable()`, `assertContainsOnlyFloat()`, `assertContainsOnlyInt()`, `assertContainsOnlyIterable()`, `assertContainsOnlyNumeric()`, `assertContainsOnlyObject()`, `assertContainsOnlyResource()`, `assertContainsOnlyClosedResource()`, `assertContainsOnlyScalar()`, or `assertContainsOnlyString()` instead)
+* [#6055](https://github.com/sebastianbergmann/phpunit/issues/6055): `assertNotContainsOnly()` (use `assertContainsNotOnlyArray()`, `assertContainsNotOnlyBool()`, `assertContainsNotOnlyCallable()`, `assertContainsNotOnlyFloat()`, `assertContainsNotOnlyInt()`, `assertContainsNotOnlyIterable()`, `assertContainsNotOnlyNumeric()`, `assertContainsNotOnlyObject()`, `assertContainsNotOnlyResource()`, `assertContainsNotOnlyClosedResource()`, `assertContainsNotOnlyScalar()`, or `assertContainsNotOnlyString()` instead)
+* [#6059](https://github.com/sebastianbergmann/phpunit/issues/6059): `containsOnly()` (use `containsOnlyArray()`, `containsOnlyBool()`, `containsOnlyCallable()`, `containsOnlyFloat()`, `containsOnlyInt()`, `containsOnlyIterable()`, `containsOnlyNumeric()`, `containsOnlyObject()`, `containsOnlyResource()`, `containsOnlyClosedResource()`, `containsOnlyScalar()`, or `containsOnlyString()` instead)
+
+[11.5.6]: https://github.com/sebastianbergmann/phpunit/compare/11.5.5...11.5.6
+[11.5.5]: https://github.com/sebastianbergmann/phpunit/compare/11.5.4...11.5.5
+[11.5.4]: https://github.com/sebastianbergmann/phpunit/compare/11.5.3...11.5.4
+[11.5.3]: https://github.com/sebastianbergmann/phpunit/compare/11.5.2...11.5.3
+[11.5.2]: https://github.com/sebastianbergmann/phpunit/compare/11.5.1...11.5.2
+[11.5.1]: https://github.com/sebastianbergmann/phpunit/compare/11.5.0...11.5.1
+[11.5.0]: https://github.com/sebastianbergmann/phpunit/compare/11.4.4...11.5.0
diff --git a/vendor/phpunit/phpunit/ChangeLog-12.0.md b/vendor/phpunit/phpunit/ChangeLog-12.0.md
deleted file mode 100644
index 42fc04a..0000000
--- a/vendor/phpunit/phpunit/ChangeLog-12.0.md
+++ /dev/null
@@ -1,52 +0,0 @@
-# Changes in PHPUnit 12.0
-
-All notable changes of the PHPUnit 12.0 release series are documented in this file using the [Keep a CHANGELOG](https://keepachangelog.com/) principles.
-
-## [12.0.0] - 2025-02-07
-
-### Added
-
-* [#5984](https://github.com/sebastianbergmann/phpunit/issues/5984): `#[CoversClassesThatExtendClass]` and `#[UsesClassesThatExtendClass]`
-* [#5985](https://github.com/sebastianbergmann/phpunit/issues/5985): `#[CoversClassesThatImplementInterface]` and `#[UsesClassesThatImplementInterface]`
-* [#6073](https://github.com/sebastianbergmann/phpunit/issues/6073): `#[CoversNamespace]` and `#[UsesNamespace]`
-* [#6074](https://github.com/sebastianbergmann/phpunit/pull/6074): `#[RequiresEnvironmentVariable]`
-
-### Changed
-
-* [#5872](https://github.com/sebastianbergmann/phpunit/issues/5872): The default value for `shortenArraysForExportThreshold` is now `10` (limit export of arrays to 10 levels) instead of `0` (do not limit export of arrays)
-
-### Deprecated
-
-* [#6053](https://github.com/sebastianbergmann/phpunit/issues/6053): `Assert::isType()` (was soft-deprecated in PHPUnit 11.5)
-* [#6056](https://github.com/sebastianbergmann/phpunit/issues/6056): `assertContainsOnly()` (was soft-deprecated in PHPUnit 11.5)
-* [#6056](https://github.com/sebastianbergmann/phpunit/issues/6056): `assertNotContainsOnly()` (was soft-deprecated in PHPUnit 11.5)
-* [#6060](https://github.com/sebastianbergmann/phpunit/issues/6060): `containsOnly()` (was soft-deprecated in PHPUnit 11.5)
-
-### Removed
-
-* [#5215](https://github.com/sebastianbergmann/phpunit/issues/5215): `TestCase::iniSet()`
-* [#5217](https://github.com/sebastianbergmann/phpunit/issues/5217): `TestCase::setLocale()`
-* [#5246](https://github.com/sebastianbergmann/phpunit/issues/5246): `TestCase::createTestProxy()`
-* [#5247](https://github.com/sebastianbergmann/phpunit/issues/5247): `TestCase::getMockForAbstractClass()`
-* [#5248](https://github.com/sebastianbergmann/phpunit/issues/5248): `TestCase::getMockFromWsdl()`
-* [#5249](https://github.com/sebastianbergmann/phpunit/issues/5249): `TestCase::getMockForTrait()`
-* [#5250](https://github.com/sebastianbergmann/phpunit/issues/5250): `TestCase::getObjectForTrait()`
-* [#5310](https://github.com/sebastianbergmann/phpunit/issues/5310): `MockBuilder::enableAutoload()` and `MockBuilder::disableAutoload()`
-* [#5311](https://github.com/sebastianbergmann/phpunit/issues/5311): `MockBuilder::allowMockingUnknownTypes()` and `MockBuilder::disallowMockingUnknownTypes()`
-* [#5312](https://github.com/sebastianbergmann/phpunit/issues/5312): `MockBuilder::enableProxyingToOriginalMethods()`, `MockBuilder::disableProxyingToOriginalMethods()`, and `MockBuilder::setProxyTarget()`
-* [#5313](https://github.com/sebastianbergmann/phpunit/issues/5313): `MockBuilder::getMockForTrait()`
-* [#5314](https://github.com/sebastianbergmann/phpunit/issues/5314): `MockBuilder::getMockForAbstractClass()`
-* [#5316](https://github.com/sebastianbergmann/phpunit/issues/5316): `MockBuilder::enableArgumentCloning()` and `MockBuilder::disableArgumentCloning()`
-* [#5321](https://github.com/sebastianbergmann/phpunit/issues/5321): `MockBuilder::addMethods()`
-* [#5416](https://github.com/sebastianbergmann/phpunit/issues/5416): Support for doubling interfaces (or classes) that have a method named `method`
-* [#5424](https://github.com/sebastianbergmann/phpunit/issues/5424): `TestCase` methods for creating return stub configuration objects
-* [#5473](https://github.com/sebastianbergmann/phpunit/issues/5473): `assertStringNotMatchesFormat()` and `assertStringNotMatchesFormatFile()`
-* [#5536](https://github.com/sebastianbergmann/phpunit/issues/5536): Support for configuring expectations using `expects()` on test stubs
-* [#5541](https://github.com/sebastianbergmann/phpunit/issues/5541): Support for metadata in doc-comments
-* [#5710](https://github.com/sebastianbergmann/phpunit/issues/5710): Support for using comma-separated values with the `--group`, `--exclude-group`, `--covers`, `--uses`, and `--test-suffix` CLI options
-* [#5756](https://github.com/sebastianbergmann/phpunit/issues/5756): Support for the `restrictDeprecations` attribute on the `` element of the XML configuration file
-* [#5801](https://github.com/sebastianbergmann/phpunit/issues/5801): Support for targeting traits with `#[CoversClass]` and `#[UsesClass]` attributes
-* [#5952](https://github.com/sebastianbergmann/phpunit/issues/5952): `includeUncoveredFiles` configuration option
-* [#5978](https://github.com/sebastianbergmann/phpunit/issues/5978): Support for PHP 8.2
-
-[12.0.0]: https://github.com/sebastianbergmann/phpunit/compare/11.5...main
diff --git a/vendor/phpunit/phpunit/DEPRECATIONS.md b/vendor/phpunit/phpunit/DEPRECATIONS.md
index e9e015a..6319da8 100644
--- a/vendor/phpunit/phpunit/DEPRECATIONS.md
+++ b/vendor/phpunit/phpunit/DEPRECATIONS.md
@@ -8,6 +8,66 @@ This functionality is currently [hard-deprecated](https://phpunit.de/backward-co
#### Assertions, Constraints, and Expectations
+| Issue | Description | Since | Replacement |
+|-------------------------------------------------------------------|----------------------------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [#5472](https://github.com/sebastianbergmann/phpunit/issues/5472) | `Assert::assertStringNotMatchesFormat()` | 10.4.0 | |
+| [#5472](https://github.com/sebastianbergmann/phpunit/issues/5472) | `Assert::assertStringNotMatchesFormatFile()` | 10.4.0 | |
+
+#### Test Double API
+
+| Issue | Description | Since | Replacement |
+|-------------------------------------------------------------------|--------------------------------------------------------------------------------|--------|-----------------------------------------------------------------------------------------|
+| [#5240](https://github.com/sebastianbergmann/phpunit/issues/5240) | `TestCase::createTestProxy()` | 10.1.0 | |
+| [#5241](https://github.com/sebastianbergmann/phpunit/issues/5241) | `TestCase::getMockForAbstractClass()` | 10.1.0 | |
+| [#5242](https://github.com/sebastianbergmann/phpunit/issues/5242) | `TestCase::getMockFromWsdl()` | 10.1.0 | |
+| [#5243](https://github.com/sebastianbergmann/phpunit/issues/5243) | `TestCase::getMockForTrait()` | 10.1.0 | |
+| [#5244](https://github.com/sebastianbergmann/phpunit/issues/5244) | `TestCase::getObjectForTrait()` | 10.1.0 | |
+| [#5305](https://github.com/sebastianbergmann/phpunit/issues/5305) | `MockBuilder::getMockForAbstractClass()` | 10.1.0 | |
+| [#5306](https://github.com/sebastianbergmann/phpunit/issues/5306) | `MockBuilder::getMockForTrait()` | 10.1.0 | |
+| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::disableProxyingToOriginalMethods()` | 10.1.0 | |
+| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::enableProxyingToOriginalMethods()` | 10.1.0 | |
+| [#5307](https://github.com/sebastianbergmann/phpunit/issues/5307) | `MockBuilder::setProxyTarget()` | 10.1.0 | |
+| [#5308](https://github.com/sebastianbergmann/phpunit/issues/5308) | `MockBuilder::allowMockingUnknownTypes()` | 10.1.0 | |
+| [#5308](https://github.com/sebastianbergmann/phpunit/issues/5308) | `MockBuilder::disallowMockingUnknownTypes()` | 10.1.0 | |
+| [#5309](https://github.com/sebastianbergmann/phpunit/issues/5309) | `MockBuilder::disableAutoload()` | 10.1.0 | |
+| [#5309](https://github.com/sebastianbergmann/phpunit/issues/5309) | `MockBuilder::enableAutoload()` | 10.1.0 | |
+| [#5315](https://github.com/sebastianbergmann/phpunit/issues/5315) | `MockBuilder::disableArgumentCloning()` | 10.1.0 | |
+| [#5315](https://github.com/sebastianbergmann/phpunit/issues/5315) | `MockBuilder::enableArgumentCloning()` | 10.1.0 | |
+| [#5320](https://github.com/sebastianbergmann/phpunit/issues/5320) | `MockBuilder::addMethods()` | 10.1.0 | |
+| [#5415](https://github.com/sebastianbergmann/phpunit/issues/5415) | Support for doubling interfaces (or classes) that have a method named `method` | 11.0.0 | |
+| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::onConsecutiveCalls()` | 10.3.0 | Use `$double->willReturn()` instead of `$double->will($this->onConsecutiveCalls())` |
+| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnArgument()` | 10.3.0 | Use `$double->willReturnArgument()` instead of `$double->will($this->returnArgument())` |
+| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnCallback()` | 10.3.0 | Use `$double->willReturnCallback()` instead of `$double->will($this->returnCallback())` |
+| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnSelf()` | 10.3.0 | Use `$double->willReturnSelf()` instead of `$double->will($this->returnSelf())` |
+| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnValue()` | 10.3.0 | Use `$double->willReturn()` instead of `$double->will($this->returnValue())` |
+| [#5423](https://github.com/sebastianbergmann/phpunit/issues/5423) | `TestCase::returnValueMap()` | 10.3.0 | Use `$double->willReturnMap()` instead of `$double->will($this->returnValueMap())` |
+| [#5535](https://github.com/sebastianbergmann/phpunit/issues/5525) | Configuring expectations using `expects()` on test stubs | 11.0.0 | Create a mock object when you need to configure expectations on a test double |
+
+### Running Tests
+
+| Issue | Description | Since | Replacement |
+|-------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------|--------|----------------------------------------------------------------------------------------------------|
+| [#5689](https://github.com/sebastianbergmann/phpunit/issues/5689) | `restrictDeprecations` attribute on the `` element of the XML configuration file | 11.1.0 | Use `ignoreSelfDeprecations`, `ignoreDirectDeprecations`, and `ignoreIndirectDeprecations` instead |
+| [#5709](https://github.com/sebastianbergmann/phpunit/issues/5709) | Support for using comma-separated values with the `--group`, `--exclude-group`, `--covers`, `--uses`, and `--test-suffix` CLI options | 11.1.0 | Use `--group foo --group bar` instead of `--group foo,bar`, for example |
+
+#### Miscellaneous
+
+| Issue | Description | Since | Replacement |
+|-------------------------------------------------------------------|-------------------------------------------------------------|--------|-----------------------------------------------------------------------------------------|
+| [#4505](https://github.com/sebastianbergmann/phpunit/issues/4505) | Metadata in doc-comments | 10.3.0 | Metadata in attributes |
+| [#5214](https://github.com/sebastianbergmann/phpunit/issues/5214) | `TestCase::iniSet()` | 10.3.0 | |
+| [#5216](https://github.com/sebastianbergmann/phpunit/issues/5216) | `TestCase::setLocale()` | 10.3.0 | |
+| [#5800](https://github.com/sebastianbergmann/phpunit/issues/5800) | Targeting traits with `#[CoversClass]` and `#[UsesClass]` | 11.2.0 | `#[CoversClass]` and `#[UsesClass]` also target the traits used by the targeted classes |
+| [#5951](https://github.com/sebastianbergmann/phpunit/issues/5951) | `includeUncoveredFiles` configuration option | 11.4.0 | |
+
+## Soft Deprecations
+
+This functionality is currently [soft-deprecated](https://phpunit.de/backward-compatibility.html#soft-deprecation):
+
+### Writing Tests
+
+#### Assertions, Constraints, and Expectations
+
| Issue | Description | Since | Replacement |
|-------------------------------------------------------------------|-----------------------------------|--------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [#6052](https://github.com/sebastianbergmann/phpunit/issues/6052) | `Assert::isType()` | 11.5.0 | Use `isArray()`, `isBool()`, `isCallable()`, `isFloat()`, `isInt()`, `isIterable()`, `isNull()`, `isNumeric()`, `isObject()`, `isResource()`, `isClosedResource()`, `isScalar()`, or `isString()` instead |
diff --git a/vendor/phpunit/phpunit/README.md b/vendor/phpunit/phpunit/README.md
index 4b5abe2..1ca144a 100644
--- a/vendor/phpunit/phpunit/README.md
+++ b/vendor/phpunit/phpunit/README.md
@@ -1,20 +1,14 @@
-[](https://phpunit.de/?ref=github)
-
-[](https://github.com/sebastianbergmann/phpunit/actions)
-[](https://codecov.io/gh/sebastianbergmann/phpunit)
-[](https://packagist.org/packages/phpunit/phpunit)
-[](https://packagist.org/packages/phpunit/phpunit/stats)
-[](https://packagist.org/packages/phpunit/phpunit/stats)
-[](https://packagist.org/packages/phpunit/phpunit/stats)
-
# PHPUnit
-PHPUnit is a programmer-oriented testing framework for PHP.
-It is an instance of the xUnit architecture for unit testing frameworks.
+[](https://packagist.org/packages/phpunit/phpunit)
+[](https://github.com/sebastianbergmann/phpunit/actions)
+[](https://codecov.io/gh/sebastianbergmann/phpunit)
+
+PHPUnit is a programmer-oriented testing framework for PHP. It is an instance of the xUnit architecture for unit testing frameworks.
## Installation
-We distribute a [PHP Archive (PHAR)](https://php.net/phar) that has all required dependencies of PHPUnit bundled in a single file:
+We distribute a [PHP Archive (PHAR)](https://php.net/phar) that has all required (as well as some optional) dependencies of PHPUnit bundled in a single file:
```bash
$ wget https://phar.phpunit.de/phpunit-X.Y.phar
@@ -24,86 +18,17 @@ $ php phpunit-X.Y.phar --version
Please replace `X.Y` with the version of PHPUnit you are interested in.
-Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies.
-Please refer to the [documentation](https://phpunit.de/documentation.html?ref=github) for details on how to install PHPUnit.
+Alternatively, you may use [Composer](https://getcomposer.org/) to download and install PHPUnit as well as its dependencies. Please refer to the [documentation](https://phpunit.de/documentation.html) for details on how to install PHPUnit.
## Contribute
Please refer to [CONTRIBUTING.md](https://github.com/sebastianbergmann/phpunit/blob/main/.github/CONTRIBUTING.md) for information on how to contribute to PHPUnit and its related projects.
-A big "Thank you!" to everyone who has contributed to PHPUnit!
-You can find a detailed list of contributors on every PHPUnit related package on GitHub.
+## List of Contributors
-Here is a list of all components that are primarily developed and maintained by [Sebastian Bergmann](https://sebastian-bergmann.de/open-source.html?ref=github):
+Thanks to everyone who has contributed to PHPUnit! You can find a detailed list of contributors on every PHPUnit related package on GitHub. This list shows only the major components:
-* [phpunit/phpunit](https://github.com/sebastianbergmann/phpunit)
-* [phpunit/php-code-coverage](https://github.com/sebastianbergmann/php-code-coverage)
-* [phpunit/php-file-iterator](https://github.com/sebastianbergmann/php-file-iterator)
-* [phpunit/php-invoker](https://github.com/sebastianbergmann/php-invoker)
-* [phpunit/php-text-template](https://github.com/sebastianbergmann/php-text-template)
-* [phpunit/php-timer](https://github.com/sebastianbergmann/php-timer)
-* [sebastian/cli-parser](https://github.com/sebastianbergmann/cli-parser)
-* [sebastian/comparator](https://github.com/sebastianbergmann/comparator)
-* [sebastian/complexity](https://github.com/sebastianbergmann/complexity)
-* [sebastian/diff](https://github.com/sebastianbergmann/diff)
-* [sebastian/environment](https://github.com/sebastianbergmann/environment)
-* [sebastian/exporter](https://github.com/sebastianbergmann/exporter)
-* [sebastian/global-state](https://github.com/sebastianbergmann/global-state)
-* [sebastian/lines-of-code](https://github.com/sebastianbergmann/lines-of-code)
-* [sebastian/object-enumerator](https://github.com/sebastianbergmann/object-enumerator)
-* [sebastian/object-reflector](https://github.com/sebastianbergmann/object-reflector)
-* [sebastian/recursion-context](https://github.com/sebastianbergmann/recursion-context)
-* [sebastian/type](https://github.com/sebastianbergmann/type)
-* [sebastian/version](https://github.com/sebastianbergmann/version)
+* [PHPUnit](https://github.com/sebastianbergmann/phpunit/graphs/contributors)
+* [php-code-coverage](https://github.com/sebastianbergmann/php-code-coverage/graphs/contributors)
-A very special thanks to everyone who has contributed to the [PHPUnit Manual](https://github.com/sebastianbergmann/phpunit-documentation-english).
-
-In addition to the components listed above, PHPUnit depends on the components listed below:
-
-* [myclabs/deep-copy](https://github.com/myclabs/DeepCopy)
-* [nikic/php-parser](https://github.com/nikic/php-parser)
-* [phar-io/manifest](https://github.com/phar-io/manifest)
-* [phar-io/version](https://github.com/phar-io/version)
-* [staabm/side-effects-detector](https://github.com/staabm/side-effects-detector)
-* [theseer/tokenizer](https://github.com/theseer/tokenizer)
-
-These tools are used to develop PHPUnit:
-
-* [Composer](https://getcomposer.org/)
-* [Phive](https://phar.io/)
-* [PHP Autoload Builder](https://github.com/theseer/Autoload/)
-* [PHP-CS-Fixer](https://cs.symfony.com/)
-* [PHP-Scoper](https://github.com/humbug/php-scoper)
-* [PHPStan](https://phpstan.org/)
-
-## Sponsors
-
-It has taken [Sebastian Bergmann](https://sebastian-bergmann.de/open-source.html?ref=github) thousands of hours to develop, test, and support PHPUnit.
-[**You can sponsor his Open Source work through GitHub Sponsors**](https://github.com/sponsors/sebastianbergmann), for example.
-
-These businesses support Sebastian Bergmann's work on PHPUnit:
-
-
-
-
-  |
-  |
-  |
-
-
-  |
-  |
-  |
-
-
-  |
-  |
-
-
-
-
-Would you like to see your logo here as well as on the [PHPUnit website](https://phpunit.de/sponsors.html?ref=github)?
-Contact Sebastian Bergmann at [sponsoring@phpunit.de](mailto:sponsoring@phpunit.de) to learn more about how you can support his work on PHPUnit.
-
-Whether you are a CEO, CFO, CTO, or a developer: your company surely depends on Open Source software.
-[It is time to pay your share](https://opensourcepledge.com/) and support maintainers like [Sebastian Bergmann](https://sebastian-bergmann.de/open-source.html?ref=github).
+A very special thanks to everyone who has contributed to the [documentation](https://github.com/sebastianbergmann/phpunit-documentation-english/graphs/contributors).
diff --git a/vendor/phpunit/phpunit/composer.json b/vendor/phpunit/phpunit/composer.json
index 5698c7d..b666777 100644
--- a/vendor/phpunit/phpunit/composer.json
+++ b/vendor/phpunit/phpunit/composer.json
@@ -20,10 +20,9 @@
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
"security": "https://github.com/sebastianbergmann/phpunit/security/policy"
},
- "minimum-stability": "dev",
"prefer-stable": true,
"require": {
- "php": ">=8.3",
+ "php": ">=8.2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -33,29 +32,33 @@
"myclabs/deep-copy": "^1.12.1",
"phar-io/manifest": "^2.0.4",
"phar-io/version": "^3.2.1",
- "phpunit/php-code-coverage": "^12.0-dev",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-invoker": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "phpunit/php-timer": "^8.0-dev",
- "sebastian/cli-parser": "^4.0-dev",
- "sebastian/comparator": "^7.0-dev",
- "sebastian/diff": "^7.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/exporter": "^7.0-dev",
- "sebastian/global-state": "^8.0-dev",
- "sebastian/object-enumerator": "^7.0-dev",
- "sebastian/type": "^6.0-dev",
- "sebastian/version": "^6.0-dev",
+ "phpunit/php-code-coverage": "^11.0.8",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-invoker": "^5.0.1",
+ "phpunit/php-text-template": "^4.0.1",
+ "phpunit/php-timer": "^7.0.1",
+ "sebastian/cli-parser": "^3.0.2",
+ "sebastian/code-unit": "^3.0.2",
+ "sebastian/comparator": "^6.3.0",
+ "sebastian/diff": "^6.0.2",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/exporter": "^6.3.0",
+ "sebastian/global-state": "^7.0.2",
+ "sebastian/object-enumerator": "^6.0.1",
+ "sebastian/type": "^5.1.0",
+ "sebastian/version": "^5.0.2",
"staabm/side-effects-detector": "^1.0.5"
},
"config": {
"platform": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"optimize-autoloader": true,
"sort-packages": true
},
+ "suggest": {
+ "ext-soap": "To be able to generate mocks based on WSDL files"
+ },
"bin": [
"phpunit"
],
@@ -75,6 +78,7 @@
"tests/_files/deprecation-trigger/trigger_deprecation.php",
"tests/unit/Event/AbstractEventTestCase.php",
"tests/unit/Framework/MockObject/TestDoubleTestCase.php",
+ "tests/unit/Metadata/Parser/AnnotationParserTestCase.php",
"tests/unit/Metadata/Parser/AttributeParserTestCase.php",
"tests/unit/Framework/Assert/assertContainsOnlyArrayTest.php",
"tests/unit/Framework/Assert/assertContainsOnlyBoolTest.php",
@@ -103,6 +107,7 @@
"tests/unit/Framework/Assert/assertNullTest.php",
"tests/unit/Framework/Assert/assertSameSizeTest.php",
"tests/unit/Framework/Assert/assertSameTest.php",
+ "tests/_files/CoverageNamespacedFunctionTest.php",
"tests/_files/CoveredFunction.php",
"tests/_files/Generator.php",
"tests/_files/NamespaceCoveredFunction.php"
@@ -110,7 +115,7 @@
},
"extra": {
"branch-alias": {
- "dev-main": "12.0-dev"
+ "dev-main": "11.5-dev"
}
}
}
diff --git a/vendor/phpunit/phpunit/composer.lock b/vendor/phpunit/phpunit/composer.lock
index 62eae2b..692401c 100644
--- a/vendor/phpunit/phpunit/composer.lock
+++ b/vendor/phpunit/phpunit/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": "65fa32471e464a761351d14ae15a23b7",
+ "content-hash": "8bb9756429367fe5f916165dd00b8a5a",
"packages": [
{
"name": "myclabs/deep-copy",
@@ -244,44 +244,44 @@
},
{
"name": "phpunit/php-code-coverage",
- "version": "dev-main",
+ "version": "11.0.8",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-code-coverage.git",
- "reference": "30b614244b02907cf0b2edc559fd5e24bd05ea57"
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/30b614244b02907cf0b2edc559fd5e24bd05ea57",
- "reference": "30b614244b02907cf0b2edc559fd5e24bd05ea57",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/418c59fd080954f8c4aa5631d9502ecda2387118",
+ "reference": "418c59fd080954f8c4aa5631d9502ecda2387118",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-libxml": "*",
"ext-xmlwriter": "*",
- "nikic/php-parser": "^5.4.0",
- "php": ">=8.3",
- "phpunit/php-file-iterator": "^6.0-dev",
- "phpunit/php-text-template": "^5.0-dev",
- "sebastian/complexity": "^5.0-dev",
- "sebastian/environment": "^8.0-dev",
- "sebastian/lines-of-code": "^4.0-dev",
- "sebastian/version": "^6.0-dev",
+ "nikic/php-parser": "^5.3.1",
+ "php": ">=8.2",
+ "phpunit/php-file-iterator": "^5.1.0",
+ "phpunit/php-text-template": "^4.0.1",
+ "sebastian/code-unit-reverse-lookup": "^4.0.1",
+ "sebastian/complexity": "^4.0.1",
+ "sebastian/environment": "^7.2.0",
+ "sebastian/lines-of-code": "^3.0.1",
+ "sebastian/version": "^5.0.2",
"theseer/tokenizer": "^1.2.3"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.5.0"
},
"suggest": {
"ext-pcov": "PHP extension that provides line coverage",
"ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "12.0.x-dev"
+ "dev-main": "11.0.x-dev"
}
},
"autoload": {
@@ -310,7 +310,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-code-coverage/issues",
"security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy",
- "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/11.0.8"
},
"funding": [
{
@@ -318,33 +318,32 @@
"type": "github"
}
],
- "time": "2025-01-28T10:09:07+00:00"
+ "time": "2024-12-11T12:34:27+00:00"
},
{
"name": "phpunit/php-file-iterator",
- "version": "dev-main",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-file-iterator.git",
- "reference": "a1339a60b2206324e440c4a3806bbd873fda0860"
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a1339a60b2206324e440c4a3806bbd873fda0860",
- "reference": "a1339a60b2206324e440c4a3806bbd873fda0860",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/118cfaaa8bc5aef3287bf315b6060b1174754af6",
+ "reference": "118cfaaa8bc5aef3287bf315b6060b1174754af6",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -372,7 +371,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-file-iterator/issues",
"security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy",
- "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/5.1.0"
},
"funding": [
{
@@ -380,37 +379,36 @@
"type": "github"
}
],
- "time": "2025-01-15T13:41:39+00:00"
+ "time": "2024-08-27T05:02:59+00:00"
},
{
"name": "phpunit/php-invoker",
- "version": "dev-main",
+ "version": "5.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-invoker.git",
- "reference": "a79e641e661a20d3b8c264b0b3b9eb0d98f98506"
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/a79e641e661a20d3b8c264b0b3b9eb0d98f98506",
- "reference": "a79e641e661a20d3b8c264b0b3b9eb0d98f98506",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/c1ca3814734c07492b3d4c5f794f4b0995333da2",
+ "reference": "c1ca3814734c07492b3d4c5f794f4b0995333da2",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
"ext-pcntl": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-pcntl": "*"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -437,7 +435,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-invoker/issues",
"security": "https://github.com/sebastianbergmann/php-invoker/security/policy",
- "source": "https://github.com/sebastianbergmann/php-invoker/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-invoker/tree/5.0.1"
},
"funding": [
{
@@ -445,33 +443,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:05:12+00:00"
+ "time": "2024-07-03T05:07:44+00:00"
},
{
"name": "phpunit/php-text-template",
- "version": "dev-main",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-text-template.git",
- "reference": "0199874fd3f2ae19aa9813bdfcb68e67671eee64"
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0199874fd3f2ae19aa9813bdfcb68e67671eee64",
- "reference": "0199874fd3f2ae19aa9813bdfcb68e67671eee64",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
+ "reference": "3e0404dc6b300e6bf56415467ebcb3fe4f33e964",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -498,7 +495,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-text-template/issues",
"security": "https://github.com/sebastianbergmann/php-text-template/security/policy",
- "source": "https://github.com/sebastianbergmann/php-text-template/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-text-template/tree/4.0.1"
},
"funding": [
{
@@ -506,33 +503,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:08:04+00:00"
+ "time": "2024-07-03T05:08:43+00:00"
},
{
"name": "phpunit/php-timer",
- "version": "dev-main",
+ "version": "7.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/php-timer.git",
- "reference": "aa0f95babbd87f096f1c20364204f195dd4b4608"
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/aa0f95babbd87f096f1c20364204f195dd4b4608",
- "reference": "aa0f95babbd87f096f1c20364204f195dd4b4608",
+ "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
+ "reference": "3b415def83fbcb41f991d9ebf16ae4ad8b7837b3",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -559,7 +555,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/php-timer/issues",
"security": "https://github.com/sebastianbergmann/php-timer/security/policy",
- "source": "https://github.com/sebastianbergmann/php-timer/tree/main"
+ "source": "https://github.com/sebastianbergmann/php-timer/tree/7.0.1"
},
"funding": [
{
@@ -567,33 +563,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:10:48+00:00"
+ "time": "2024-07-03T05:09:35+00:00"
},
{
"name": "sebastian/cli-parser",
- "version": "dev-main",
+ "version": "3.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/cli-parser.git",
- "reference": "7f79d38ab02a0cb4089f31207ca11b74f49c7848"
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/7f79d38ab02a0cb4089f31207ca11b74f49c7848",
- "reference": "7f79d38ab02a0cb4089f31207ca11b74f49c7848",
+ "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/15c5dd40dc4f38794d383bb95465193f5e0ae180",
+ "reference": "15c5dd40dc4f38794d383bb95465193f5e0ae180",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -617,7 +612,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/cli-parser/issues",
"security": "https://github.com/sebastianbergmann/cli-parser/security/policy",
- "source": "https://github.com/sebastianbergmann/cli-parser/tree/main"
+ "source": "https://github.com/sebastianbergmann/cli-parser/tree/3.0.2"
},
"funding": [
{
@@ -625,40 +620,152 @@
"type": "github"
}
],
- "time": "2025-01-16T08:13:26+00:00"
+ "time": "2024-07-03T04:41:36+00:00"
},
{
- "name": "sebastian/comparator",
- "version": "dev-main",
+ "name": "sebastian/code-unit",
+ "version": "3.0.2",
"source": {
"type": "git",
- "url": "https://github.com/sebastianbergmann/comparator.git",
- "reference": "07f683f544931bc816c47faf894e387f2216a1e9"
+ "url": "https://github.com/sebastianbergmann/code-unit.git",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/07f683f544931bc816c47faf894e387f2216a1e9",
- "reference": "07f683f544931bc816c47faf894e387f2216a1e9",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "reference": "ee88b0cdbe74cf8dd3b54940ff17643c0d6543ca",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^11.5"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "3.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",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit/issues",
+ "security": "https://github.com/sebastianbergmann/code-unit/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit/tree/3.0.2"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-12-12T09:59:06+00:00"
+ },
+ {
+ "name": "sebastian/code-unit-reverse-lookup",
+ "version": "4.0.1",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/183a9b2632194febd219bb9246eee421dad8d45e",
+ "reference": "183a9b2632194febd219bb9246eee421dad8d45e",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.2"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^11.0"
+ },
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-main": "4.0-dev"
+ }
+ },
+ "autoload": {
+ "classmap": [
+ "src/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Sebastian Bergmann",
+ "email": "sebastian@phpunit.de"
+ }
+ ],
+ "description": "Looks up which function or method a line of code belongs to",
+ "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/",
+ "support": {
+ "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues",
+ "security": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/security/policy",
+ "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/4.0.1"
+ },
+ "funding": [
+ {
+ "url": "https://github.com/sebastianbergmann",
+ "type": "github"
+ }
+ ],
+ "time": "2024-07-03T04:45:54+00:00"
+ },
+ {
+ "name": "sebastian/comparator",
+ "version": "6.3.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/sebastianbergmann/comparator.git",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
+ "reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
"shasum": ""
},
"require": {
"ext-dom": "*",
"ext-mbstring": "*",
- "php": ">=8.3",
- "sebastian/diff": "^7.0",
- "sebastian/exporter": "^7.0"
+ "php": ">=8.2",
+ "sebastian/diff": "^6.0",
+ "sebastian/exporter": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.4"
},
"suggest": {
"ext-bcmath": "For comparing BcMath\\Number objects"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.2-dev"
}
},
"autoload": {
@@ -698,7 +805,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/comparator/issues",
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
- "source": "https://github.com/sebastianbergmann/comparator/tree/main"
+ "source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
},
"funding": [
{
@@ -706,34 +813,33 @@
"type": "github"
}
],
- "time": "2025-01-16T09:21:21+00:00"
+ "time": "2025-01-06T10:28:19+00:00"
},
{
"name": "sebastian/complexity",
- "version": "dev-main",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/complexity.git",
- "reference": "eec688b04904c5ecfa3b94f59bc60485209805a9"
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/eec688b04904c5ecfa3b94f59bc60485209805a9",
- "reference": "eec688b04904c5ecfa3b94f59bc60485209805a9",
+ "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/ee41d384ab1906c68852636b6de493846e13e5a0",
+ "reference": "ee41d384ab1906c68852636b6de493846e13e5a0",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -757,7 +863,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/complexity/issues",
"security": "https://github.com/sebastianbergmann/complexity/security/policy",
- "source": "https://github.com/sebastianbergmann/complexity/tree/main"
+ "source": "https://github.com/sebastianbergmann/complexity/tree/4.0.1"
},
"funding": [
{
@@ -765,34 +871,33 @@
"type": "github"
}
],
- "time": "2025-01-16T08:20:43+00:00"
+ "time": "2024-07-03T04:49:50+00:00"
},
{
"name": "sebastian/diff",
- "version": "dev-main",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/diff.git",
- "reference": "87a9594e6994ba8ee9010836903305a64c895083"
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/87a9594e6994ba8ee9010836903305a64c895083",
- "reference": "87a9594e6994ba8ee9010836903305a64c895083",
+ "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544",
+ "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev",
+ "phpunit/phpunit": "^11.0",
"symfony/process": "^4.2 || ^5"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -825,7 +930,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/diff/issues",
"security": "https://github.com/sebastianbergmann/diff/security/policy",
- "source": "https://github.com/sebastianbergmann/diff/tree/main"
+ "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2"
},
"funding": [
{
@@ -833,36 +938,35 @@
"type": "github"
}
],
- "time": "2025-01-16T09:04:01+00:00"
+ "time": "2024-07-03T04:53:05+00:00"
},
{
"name": "sebastian/environment",
- "version": "dev-main",
+ "version": "7.2.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/environment.git",
- "reference": "92b1a897b49e191a8fbca823d75bc0e157ff7cdb"
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/92b1a897b49e191a8fbca823d75bc0e157ff7cdb",
- "reference": "92b1a897b49e191a8fbca823d75bc0e157ff7cdb",
+ "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
+ "reference": "855f3ae0ab316bbafe1ba4e16e9f3c078d24a0c5",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
"suggest": {
"ext-posix": "*"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.2-dev"
}
},
"autoload": {
@@ -890,7 +994,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/environment/issues",
"security": "https://github.com/sebastianbergmann/environment/security/policy",
- "source": "https://github.com/sebastianbergmann/environment/tree/main"
+ "source": "https://github.com/sebastianbergmann/environment/tree/7.2.0"
},
"funding": [
{
@@ -898,35 +1002,34 @@
"type": "github"
}
],
- "time": "2025-01-16T08:28:42+00:00"
+ "time": "2024-07-03T04:54:44+00:00"
},
{
"name": "sebastian/exporter",
- "version": "dev-main",
+ "version": "6.3.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/exporter.git",
- "reference": "17e38c7a602c690c6f097b6aeaf47d0771ace9ca"
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/17e38c7a602c690c6f097b6aeaf47d0771ace9ca",
- "reference": "17e38c7a602c690c6f097b6aeaf47d0771ace9ca",
+ "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/3473f61172093b2da7de1fb5782e1f24cc036dc3",
+ "reference": "3473f61172093b2da7de1fb5782e1f24cc036dc3",
"shasum": ""
},
"require": {
"ext-mbstring": "*",
- "php": ">=8.3",
- "sebastian/recursion-context": "^7.0-dev"
+ "php": ">=8.2",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.3"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.1-dev"
}
},
"autoload": {
@@ -969,7 +1072,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/exporter/issues",
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
- "source": "https://github.com/sebastianbergmann/exporter/tree/main"
+ "source": "https://github.com/sebastianbergmann/exporter/tree/6.3.0"
},
"funding": [
{
@@ -977,36 +1080,35 @@
"type": "github"
}
],
- "time": "2025-01-16T08:54:00+00:00"
+ "time": "2024-12-05T09:17:50+00:00"
},
{
"name": "sebastian/global-state",
- "version": "dev-main",
+ "version": "7.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/global-state.git",
- "reference": "8a089e5a2a118a6725b603a47be1d1a9da1b9a68"
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/8a089e5a2a118a6725b603a47be1d1a9da1b9a68",
- "reference": "8a089e5a2a118a6725b603a47be1d1a9da1b9a68",
+ "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/3be331570a721f9a4b5917f4209773de17f747d7",
+ "reference": "3be331570a721f9a4b5917f4209773de17f747d7",
"shasum": ""
},
"require": {
- "php": ">=8.3",
- "sebastian/object-reflector": "^5.0",
- "sebastian/recursion-context": "^7.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
"ext-dom": "*",
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "8.0-dev"
+ "dev-main": "7.0-dev"
}
},
"autoload": {
@@ -1032,7 +1134,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/global-state/issues",
"security": "https://github.com/sebastianbergmann/global-state/security/policy",
- "source": "https://github.com/sebastianbergmann/global-state/tree/main"
+ "source": "https://github.com/sebastianbergmann/global-state/tree/7.0.2"
},
"funding": [
{
@@ -1040,34 +1142,33 @@
"type": "github"
}
],
- "time": "2025-01-16T09:14:38+00:00"
+ "time": "2024-07-03T04:57:36+00:00"
},
{
"name": "sebastian/lines-of-code",
- "version": "dev-main",
+ "version": "3.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/lines-of-code.git",
- "reference": "fe8070ab1160c447839048ab240c07c448caa2b2"
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/fe8070ab1160c447839048ab240c07c448caa2b2",
- "reference": "fe8070ab1160c447839048ab240c07c448caa2b2",
+ "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/d36ad0d782e5756913e42ad87cb2890f4ffe467a",
+ "reference": "d36ad0d782e5756913e42ad87cb2890f4ffe467a",
"shasum": ""
},
"require": {
"nikic/php-parser": "^5.0",
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "4.0-dev"
+ "dev-main": "3.0-dev"
}
},
"autoload": {
@@ -1091,7 +1192,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/lines-of-code/issues",
"security": "https://github.com/sebastianbergmann/lines-of-code/security/policy",
- "source": "https://github.com/sebastianbergmann/lines-of-code/tree/main"
+ "source": "https://github.com/sebastianbergmann/lines-of-code/tree/3.0.1"
},
"funding": [
{
@@ -1099,35 +1200,34 @@
"type": "github"
}
],
- "time": "2025-01-16T08:36:53+00:00"
+ "time": "2024-07-03T04:58:38+00:00"
},
{
"name": "sebastian/object-enumerator",
- "version": "dev-main",
+ "version": "6.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-enumerator.git",
- "reference": "250d806a14baca8c4b37823426277dbcb8d4440d"
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/250d806a14baca8c4b37823426277dbcb8d4440d",
- "reference": "250d806a14baca8c4b37823426277dbcb8d4440d",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/f5b498e631a74204185071eb41f33f38d64608aa",
+ "reference": "f5b498e631a74204185071eb41f33f38d64608aa",
"shasum": ""
},
"require": {
- "php": ">=8.3",
- "sebastian/object-reflector": "^5.0",
- "sebastian/recursion-context": "^7.0"
+ "php": ">=8.2",
+ "sebastian/object-reflector": "^4.0",
+ "sebastian/recursion-context": "^6.0"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1150,7 +1250,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-enumerator/issues",
"security": "https://github.com/sebastianbergmann/object-enumerator/security/policy",
- "source": "https://github.com/sebastianbergmann/object-enumerator/tree/main"
+ "source": "https://github.com/sebastianbergmann/object-enumerator/tree/6.0.1"
},
"funding": [
{
@@ -1158,33 +1258,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:38:51+00:00"
+ "time": "2024-07-03T05:00:13+00:00"
},
{
"name": "sebastian/object-reflector",
- "version": "dev-main",
+ "version": "4.0.1",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/object-reflector.git",
- "reference": "7dddd66b56ba05cb474de46b2b623e92b42bff3a"
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/7dddd66b56ba05cb474de46b2b623e92b42bff3a",
- "reference": "7dddd66b56ba05cb474de46b2b623e92b42bff3a",
+ "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/6e1a43b411b2ad34146dee7524cb13a068bb35f9",
+ "reference": "6e1a43b411b2ad34146dee7524cb13a068bb35f9",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "5.0-dev"
+ "dev-main": "4.0-dev"
}
},
"autoload": {
@@ -1207,7 +1306,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/object-reflector/issues",
"security": "https://github.com/sebastianbergmann/object-reflector/security/policy",
- "source": "https://github.com/sebastianbergmann/object-reflector/tree/main"
+ "source": "https://github.com/sebastianbergmann/object-reflector/tree/4.0.1"
},
"funding": [
{
@@ -1215,33 +1314,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:40:54+00:00"
+ "time": "2024-07-03T05:01:32+00:00"
},
{
"name": "sebastian/recursion-context",
- "version": "dev-main",
+ "version": "6.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/recursion-context.git",
- "reference": "c9442e27dc9965ad453397725830d8ecb5497410"
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/c9442e27dc9965ad453397725830d8ecb5497410",
- "reference": "c9442e27dc9965ad453397725830d8ecb5497410",
+ "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/694d156164372abbd149a4b85ccda2e4670c0e16",
+ "reference": "694d156164372abbd149a4b85ccda2e4670c0e16",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.0"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "7.0-dev"
+ "dev-main": "6.0-dev"
}
},
"autoload": {
@@ -1272,7 +1370,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/recursion-context/issues",
"security": "https://github.com/sebastianbergmann/recursion-context/security/policy",
- "source": "https://github.com/sebastianbergmann/recursion-context/tree/main"
+ "source": "https://github.com/sebastianbergmann/recursion-context/tree/6.0.2"
},
"funding": [
{
@@ -1280,33 +1378,32 @@
"type": "github"
}
],
- "time": "2025-01-16T08:53:18+00:00"
+ "time": "2024-07-03T05:10:34+00:00"
},
{
"name": "sebastian/type",
- "version": "dev-main",
+ "version": "5.1.0",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/type.git",
- "reference": "b07de32ccc63961cfcf87c4531816388dbaf264f"
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/b07de32ccc63961cfcf87c4531816388dbaf264f",
- "reference": "b07de32ccc63961cfcf87c4531816388dbaf264f",
+ "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/461b9c5da241511a2a0e8f240814fb23ce5c0aac",
+ "reference": "461b9c5da241511a2a0e8f240814fb23ce5c0aac",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
"require-dev": {
- "phpunit/phpunit": "^12.0-dev"
+ "phpunit/phpunit": "^11.3"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.1-dev"
}
},
"autoload": {
@@ -1330,7 +1427,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/type/issues",
"security": "https://github.com/sebastianbergmann/type/security/policy",
- "source": "https://github.com/sebastianbergmann/type/tree/main"
+ "source": "https://github.com/sebastianbergmann/type/tree/5.1.0"
},
"funding": [
{
@@ -1338,30 +1435,29 @@
"type": "github"
}
],
- "time": "2025-01-16T08:45:13+00:00"
+ "time": "2024-09-17T13:12:04+00:00"
},
{
"name": "sebastian/version",
- "version": "dev-main",
+ "version": "5.0.2",
"source": {
"type": "git",
"url": "https://github.com/sebastianbergmann/version.git",
- "reference": "3e8786f0e004140c3be066577af51e7ea0446e54"
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/3e8786f0e004140c3be066577af51e7ea0446e54",
- "reference": "3e8786f0e004140c3be066577af51e7ea0446e54",
+ "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c687e3387b99f5b03b6caa64c74b63e2936ff874",
+ "reference": "c687e3387b99f5b03b6caa64c74b63e2936ff874",
"shasum": ""
},
"require": {
- "php": ">=8.3"
+ "php": ">=8.2"
},
- "default-branch": true,
"type": "library",
"extra": {
"branch-alias": {
- "dev-main": "6.0-dev"
+ "dev-main": "5.0-dev"
}
},
"autoload": {
@@ -1385,7 +1481,7 @@
"support": {
"issues": "https://github.com/sebastianbergmann/version/issues",
"security": "https://github.com/sebastianbergmann/version/security/policy",
- "source": "https://github.com/sebastianbergmann/version/tree/main"
+ "source": "https://github.com/sebastianbergmann/version/tree/5.0.2"
},
"funding": [
{
@@ -1393,7 +1489,7 @@
"type": "github"
}
],
- "time": "2025-01-16T08:47:17+00:00"
+ "time": "2024-10-09T05:16:32+00:00"
},
{
"name": "staabm/side-effects-detector",
@@ -1500,27 +1596,12 @@
],
"packages-dev": [],
"aliases": [],
- "minimum-stability": "dev",
- "stability-flags": {
- "phpunit/php-code-coverage": 20,
- "phpunit/php-file-iterator": 20,
- "phpunit/php-invoker": 20,
- "phpunit/php-text-template": 20,
- "phpunit/php-timer": 20,
- "sebastian/cli-parser": 20,
- "sebastian/comparator": 20,
- "sebastian/diff": 20,
- "sebastian/environment": 20,
- "sebastian/exporter": 20,
- "sebastian/global-state": 20,
- "sebastian/object-enumerator": 20,
- "sebastian/type": 20,
- "sebastian/version": 20
- },
+ "minimum-stability": "stable",
+ "stability-flags": {},
"prefer-stable": true,
"prefer-lowest": false,
"platform": {
- "php": ">=8.3",
+ "php": ">=8.2",
"ext-dom": "*",
"ext-json": "*",
"ext-libxml": "*",
@@ -1530,7 +1611,7 @@
},
"platform-dev": {},
"platform-overrides": {
- "php": "8.3.0"
+ "php": "8.2.0"
},
"plugin-api-version": "2.6.0"
}
diff --git a/vendor/phpunit/phpunit/phpunit b/vendor/phpunit/phpunit/phpunit
index 84afaf1..6fa992b 100644
--- a/vendor/phpunit/phpunit/phpunit
+++ b/vendor/phpunit/phpunit/phpunit
@@ -24,11 +24,11 @@ if (!version_compare(PHP_VERSION, PHP_VERSION, '=')) {
die(1);
}
-if (version_compare('8.3.0', PHP_VERSION, '>')) {
+if (version_compare('8.2.0', PHP_VERSION, '>')) {
fwrite(
STDERR,
sprintf(
- 'This version of PHPUnit requires PHP >= 8.3.' . PHP_EOL .
+ 'This version of PHPUnit requires PHP >= 8.2.' . PHP_EOL .
'You are using PHP %s (%s).' . PHP_EOL,
PHP_VERSION,
PHP_BINARY
diff --git a/vendor/phpunit/phpunit/phpunit.xsd b/vendor/phpunit/phpunit/phpunit.xsd
index 839b1c3..7613f22 100644
--- a/vendor/phpunit/phpunit/phpunit.xsd
+++ b/vendor/phpunit/phpunit/phpunit.xsd
@@ -2,7 +2,7 @@
- This Schema file defines the rules by which the XML configuration file of PHPUnit 12.0 may be structured.
+ This Schema file defines the rules by which the XML configuration file of PHPUnit 11.5 may be structured.
@@ -218,7 +218,7 @@
-
+
diff --git a/vendor/phpunit/phpunit/schema/11.5.xsd b/vendor/phpunit/phpunit/schema/11.5.xsd
deleted file mode 100644
index 7613f22..0000000
--- a/vendor/phpunit/phpunit/schema/11.5.xsd
+++ /dev/null
@@ -1,334 +0,0 @@
-
-
-
-
- This Schema file defines the rules by which the XML configuration file of PHPUnit 11.5 may be structured.
-
-
-
-
-
- Root Element
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The main type specifying the document structure
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php b/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php
index 7dc51da..7106882 100644
--- a/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php
+++ b/vendor/phpunit/phpunit/src/Event/Emitter/DispatchingEmitter.php
@@ -27,6 +27,7 @@ use PHPUnit\Event\TestSuite\Sorted as TestSuiteSorted;
use PHPUnit\Event\TestSuite\Started as TestSuiteStarted;
use PHPUnit\Event\TestSuite\TestSuite;
use PHPUnit\TextUI\Configuration\Configuration;
+use PHPUnit\Util\Exporter;
/**
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
@@ -554,6 +555,62 @@ final class DispatchingEmitter implements Emitter
);
}
+ /**
+ * @param trait-string $traitName
+ *
+ * @throws InvalidArgumentException
+ * @throws UnknownEventTypeException
+ */
+ public function testCreatedMockObjectForTrait(string $traitName): void
+ {
+ $this->dispatcher->dispatch(
+ new Test\MockObjectForTraitCreated(
+ $this->telemetryInfo(),
+ $traitName,
+ ),
+ );
+ }
+
+ /**
+ * @param class-string $className
+ *
+ * @throws InvalidArgumentException
+ * @throws UnknownEventTypeException
+ */
+ public function testCreatedMockObjectForAbstractClass(string $className): void
+ {
+ $this->dispatcher->dispatch(
+ new Test\MockObjectForAbstractClassCreated(
+ $this->telemetryInfo(),
+ $className,
+ ),
+ );
+ }
+
+ /**
+ * @param class-string $originalClassName
+ * @param class-string $mockClassName
+ * @param list $methods
+ * @param list $options
+ *
+ * @throws InvalidArgumentException
+ * @throws UnknownEventTypeException
+ */
+ public function testCreatedMockObjectFromWsdl(string $wsdlFile, string $originalClassName, string $mockClassName, array $methods, bool $callOriginalConstructor, array $options): void
+ {
+ $this->dispatcher->dispatch(
+ new Test\MockObjectFromWsdlCreated(
+ $this->telemetryInfo(),
+ $wsdlFile,
+ $originalClassName,
+ $mockClassName,
+ $methods,
+ $callOriginalConstructor,
+ $options,
+ ),
+ );
+ }
+
/**
* @param class-string $className
*
@@ -571,6 +628,24 @@ final class DispatchingEmitter implements Emitter
);
}
+ /**
+ * @param class-string $className
+ * @param list $constructorArguments
+ *
+ * @throws InvalidArgumentException
+ * @throws UnknownEventTypeException
+ */
+ public function testCreatedTestProxy(string $className, array $constructorArguments): void
+ {
+ $this->dispatcher->dispatch(
+ new Test\TestProxyCreated(
+ $this->telemetryInfo(),
+ $className,
+ Exporter::export($constructorArguments),
+ ),
+ );
+ }
+
/**
* @param class-string $className
*
diff --git a/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php b/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php
index 958ba44..8ff025d 100644
--- a/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php
+++ b/vendor/phpunit/phpunit/src/Event/Emitter/Emitter.php
@@ -127,11 +127,35 @@ interface Emitter
*/
public function testCreatedMockObjectForIntersectionOfInterfaces(array $interfaces): void;
+ /**
+ * @param trait-string $traitName
+ */
+ public function testCreatedMockObjectForTrait(string $traitName): void;
+
+ /**
+ * @param class-string $className
+ */
+ public function testCreatedMockObjectForAbstractClass(string $className): void;
+
+ /**
+ * @param class-string $originalClassName
+ * @param class-string $mockClassName
+ * @param list $methods
+ * @param list $options
+ */
+ public function testCreatedMockObjectFromWsdl(string $wsdlFile, string $originalClassName, string $mockClassName, array $methods, bool $callOriginalConstructor, array $options): void;
+
/**
* @param class-string $className
*/
public function testCreatedPartialMockObject(string $className, string ...$methodNames): void;
+ /**
+ * @param class-string $className
+ * @param list $constructorArguments
+ */
+ public function testCreatedTestProxy(string $className, array $constructorArguments): void;
+
/**
* @param class-string $className
*/
@@ -155,6 +179,9 @@ interface Emitter
public function testMarkedAsIncomplete(Code\Test $test, Throwable $throwable): void;
+ /**
+ * @param non-empty-string $message
+ */
public function testSkipped(Code\Test $test, string $message): void;
/**
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatExtendClass.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php
similarity index 50%
rename from vendor/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatExtendClass.php
rename to vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php
index 486fc5b..6dcc79a 100644
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatExtendClass.php
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreated.php
@@ -7,18 +7,21 @@
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
-namespace PHPUnit\Framework\Attributes;
+namespace PHPUnit\Event\Test;
-use Attribute;
+use function sprintf;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
/**
* @immutable
*
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*/
-#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
-final readonly class CoversClassesThatExtendClass
+final readonly class MockObjectForAbstractClassCreated implements Event
{
+ private Telemetry\Info $telemetryInfo;
+
/**
* @var class-string
*/
@@ -27,9 +30,15 @@ final readonly class CoversClassesThatExtendClass
/**
* @param class-string $className
*/
- public function __construct(string $className)
+ public function __construct(Telemetry\Info $telemetryInfo, string $className)
{
- $this->className = $className;
+ $this->telemetryInfo = $telemetryInfo;
+ $this->className = $className;
+ }
+
+ public function telemetryInfo(): Telemetry\Info
+ {
+ return $this->telemetryInfo;
}
/**
@@ -39,4 +48,12 @@ final readonly class CoversClassesThatExtendClass
{
return $this->className;
}
+
+ public function asString(): string
+ {
+ return sprintf(
+ 'Mock Object Created (%s)',
+ $this->className,
+ );
+ }
}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreatedSubscriber.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreatedSubscriber.php
new file mode 100644
index 0000000..c335d19
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForAbstractClassCreatedSubscriber.php
@@ -0,0 +1,20 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface MockObjectForAbstractClassCreatedSubscriber extends Subscriber
+{
+ public function notify(MockObjectForAbstractClassCreated $event): void;
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php
new file mode 100644
index 0000000..fc5b545
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreated.php
@@ -0,0 +1,59 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use function sprintf;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final readonly class MockObjectForTraitCreated implements Event
+{
+ private Telemetry\Info $telemetryInfo;
+
+ /**
+ * @var trait-string
+ */
+ private string $traitName;
+
+ /**
+ * @param trait-string $traitName
+ */
+ public function __construct(Telemetry\Info $telemetryInfo, string $traitName)
+ {
+ $this->telemetryInfo = $telemetryInfo;
+ $this->traitName = $traitName;
+ }
+
+ public function telemetryInfo(): Telemetry\Info
+ {
+ return $this->telemetryInfo;
+ }
+
+ /**
+ * @return trait-string
+ */
+ public function traitName(): string
+ {
+ return $this->traitName;
+ }
+
+ public function asString(): string
+ {
+ return sprintf(
+ 'Mock Object Created (%s)',
+ $this->traitName,
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreatedSubscriber.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreatedSubscriber.php
new file mode 100644
index 0000000..a7e7dd0
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectForTraitCreatedSubscriber.php
@@ -0,0 +1,20 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface MockObjectForTraitCreatedSubscriber extends Subscriber
+{
+ public function notify(MockObjectForTraitCreated $event): void;
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php
new file mode 100644
index 0000000..25f5ab8
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreated.php
@@ -0,0 +1,118 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use function sprintf;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final readonly class MockObjectFromWsdlCreated implements Event
+{
+ private Telemetry\Info $telemetryInfo;
+ private string $wsdlFile;
+
+ /**
+ * @var class-string
+ */
+ private string $originalClassName;
+
+ /**
+ * @var class-string
+ */
+ private string $mockClassName;
+
+ /**
+ * @var list
+ */
+ private array $methods;
+ private bool $callOriginalConstructor;
+
+ /**
+ * @var list
+ */
+ private array $options;
+
+ /**
+ * @param class-string $originalClassName
+ * @param class-string $mockClassName
+ * @param list $methods
+ * @param list $options
+ */
+ public function __construct(Telemetry\Info $telemetryInfo, string $wsdlFile, string $originalClassName, string $mockClassName, array $methods, bool $callOriginalConstructor, array $options)
+ {
+ $this->telemetryInfo = $telemetryInfo;
+ $this->wsdlFile = $wsdlFile;
+ $this->originalClassName = $originalClassName;
+ $this->mockClassName = $mockClassName;
+ $this->methods = $methods;
+ $this->callOriginalConstructor = $callOriginalConstructor;
+ $this->options = $options;
+ }
+
+ public function telemetryInfo(): Telemetry\Info
+ {
+ return $this->telemetryInfo;
+ }
+
+ public function wsdlFile(): string
+ {
+ return $this->wsdlFile;
+ }
+
+ /**
+ * @return class-string
+ */
+ public function originalClassName(): string
+ {
+ return $this->originalClassName;
+ }
+
+ /**
+ * @return class-string
+ */
+ public function mockClassName(): string
+ {
+ return $this->mockClassName;
+ }
+
+ /**
+ * @return list
+ */
+ public function methods(): array
+ {
+ return $this->methods;
+ }
+
+ public function callOriginalConstructor(): bool
+ {
+ return $this->callOriginalConstructor;
+ }
+
+ /**
+ * @return list
+ */
+ public function options(): array
+ {
+ return $this->options;
+ }
+
+ public function asString(): string
+ {
+ return sprintf(
+ 'Mock Object Created (%s)',
+ $this->wsdlFile,
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreatedSubscriber.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreatedSubscriber.php
new file mode 100644
index 0000000..fb0524b
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/MockObjectFromWsdlCreatedSubscriber.php
@@ -0,0 +1,20 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface MockObjectFromWsdlCreatedSubscriber extends Subscriber
+{
+ public function notify(MockObjectFromWsdlCreated $event): void;
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php
new file mode 100644
index 0000000..83db771
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreated.php
@@ -0,0 +1,66 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use function sprintf;
+use PHPUnit\Event\Event;
+use PHPUnit\Event\Telemetry;
+
+/**
+ * @immutable
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+final readonly class TestProxyCreated implements Event
+{
+ private Telemetry\Info $telemetryInfo;
+
+ /**
+ * @var class-string
+ */
+ private string $className;
+ private string $constructorArguments;
+
+ /**
+ * @param class-string $className
+ */
+ public function __construct(Telemetry\Info $telemetryInfo, string $className, string $constructorArguments)
+ {
+ $this->telemetryInfo = $telemetryInfo;
+ $this->className = $className;
+ $this->constructorArguments = $constructorArguments;
+ }
+
+ public function telemetryInfo(): Telemetry\Info
+ {
+ return $this->telemetryInfo;
+ }
+
+ /**
+ * @return class-string
+ */
+ public function className(): string
+ {
+ return $this->className;
+ }
+
+ public function constructorArguments(): string
+ {
+ return $this->constructorArguments;
+ }
+
+ public function asString(): string
+ {
+ return sprintf(
+ 'Test Proxy Created (%s)',
+ $this->className,
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreatedSubscriber.php b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreatedSubscriber.php
new file mode 100644
index 0000000..8af8384
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Events/Test/TestDouble/TestProxyCreatedSubscriber.php
@@ -0,0 +1,20 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Test;
+
+use PHPUnit\Event\Subscriber;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ */
+interface TestProxyCreatedSubscriber extends Subscriber
+{
+ public function notify(TestProxyCreated $event): void;
+}
diff --git a/vendor/phpunit/phpunit/src/Event/Facade.php b/vendor/phpunit/phpunit/src/Event/Facade.php
index 72307d5..7304148 100644
--- a/vendor/phpunit/phpunit/src/Event/Facade.php
+++ b/vendor/phpunit/phpunit/src/Event/Facade.php
@@ -9,10 +9,13 @@
*/
namespace PHPUnit\Event;
+use const PHP_VERSION;
use function assert;
use function interface_exists;
+use function version_compare;
use PHPUnit\Event\Telemetry\HRTime;
-use PHPUnit\Event\Telemetry\SystemGarbageCollectorStatusProvider;
+use PHPUnit\Event\Telemetry\Php81GarbageCollectorStatusProvider;
+use PHPUnit\Event\Telemetry\Php83GarbageCollectorStatusProvider;
/**
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
@@ -96,7 +99,7 @@ final class Facade
new Telemetry\System(
new Telemetry\SystemStopWatchWithOffset($offset),
new Telemetry\SystemMemoryMeter,
- new SystemGarbageCollectorStatusProvider,
+ $this->garbageCollectorStatusProvider(),
),
);
@@ -136,7 +139,7 @@ final class Facade
return new Telemetry\System(
new Telemetry\SystemStopWatch,
new Telemetry\SystemMemoryMeter,
- new SystemGarbageCollectorStatusProvider,
+ $this->garbageCollectorStatusProvider(),
);
}
@@ -214,8 +217,12 @@ final class Facade
Test\WarningTriggered::class,
Test\MockObjectCreated::class,
+ Test\MockObjectForAbstractClassCreated::class,
Test\MockObjectForIntersectionOfInterfacesCreated::class,
+ Test\MockObjectForTraitCreated::class,
+ Test\MockObjectFromWsdlCreated::class,
Test\PartialMockObjectCreated::class,
+ Test\TestProxyCreated::class,
Test\TestStubCreated::class,
Test\TestStubForIntersectionOfInterfacesCreated::class,
@@ -253,4 +260,15 @@ final class Facade
$typeMap->addMapping($subscriberInterface, $eventClass);
}
}
+
+ private function garbageCollectorStatusProvider(): Telemetry\GarbageCollectorStatusProvider
+ {
+ if (version_compare(PHP_VERSION, '8.3.0', '>=')) {
+ return new Php83GarbageCollectorStatusProvider;
+ }
+
+ // @codeCoverageIgnoreStart
+ return new Php81GarbageCollectorStatusProvider;
+ // @codeCoverageIgnoreEnd
+ }
}
diff --git a/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php b/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php
index f8bb77a..23260de 100644
--- a/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php
+++ b/vendor/phpunit/phpunit/src/Event/Value/Telemetry/GarbageCollectorStatus.php
@@ -9,6 +9,8 @@
*/
namespace PHPUnit\Event\Telemetry;
+use PHPUnit\Event\RuntimeException;
+
/**
* @immutable
*
@@ -20,16 +22,16 @@ final readonly class GarbageCollectorStatus
private int $collected;
private int $threshold;
private int $roots;
- private float $applicationTime;
- private float $collectorTime;
- private float $destructorTime;
- private float $freeTime;
- private bool $running;
- private bool $protected;
- private bool $full;
- private int $bufferSize;
+ private ?float $applicationTime;
+ private ?float $collectorTime;
+ private ?float $destructorTime;
+ private ?float $freeTime;
+ private ?bool $running;
+ private ?bool $protected;
+ private ?bool $full;
+ private ?int $bufferSize;
- public function __construct(int $runs, int $collected, int $threshold, int $roots, float $applicationTime, float $collectorTime, float $destructorTime, float $freeTime, bool $running, bool $protected, bool $full, int $bufferSize)
+ public function __construct(int $runs, int $collected, int $threshold, int $roots, ?float $applicationTime, ?float $collectorTime, ?float $destructorTime, ?float $freeTime, ?bool $running, ?bool $protected, ?bool $full, ?int $bufferSize)
{
$this->runs = $runs;
$this->collected = $collected;
@@ -65,43 +67,114 @@ final readonly class GarbageCollectorStatus
return $this->roots;
}
+ /**
+ * @phpstan-assert-if-true !null $this->applicationTime
+ * @phpstan-assert-if-true !null $this->collectorTime
+ * @phpstan-assert-if-true !null $this->destructorTime
+ * @phpstan-assert-if-true !null $this->freeTime
+ * @phpstan-assert-if-true !null $this->running
+ * @phpstan-assert-if-true !null $this->protected
+ * @phpstan-assert-if-true !null $this->full
+ * @phpstan-assert-if-true !null $this->bufferSize
+ */
+ public function hasExtendedInformation(): bool
+ {
+ return $this->running !== null;
+ }
+
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function applicationTime(): float
{
+ if ($this->applicationTime === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->applicationTime;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function collectorTime(): float
{
+ if ($this->collectorTime === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->collectorTime;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function destructorTime(): float
{
+ if ($this->destructorTime === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->destructorTime;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function freeTime(): float
{
+ if ($this->freeTime === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->freeTime;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function isRunning(): bool
{
+ if ($this->running === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->running;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function isProtected(): bool
{
+ if ($this->protected === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->protected;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function isFull(): bool
{
+ if ($this->full === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->full;
}
+ /**
+ * @throws RuntimeException on PHP < 8.3
+ */
public function bufferSize(): int
{
+ if ($this->bufferSize === null) {
+ throw new RuntimeException('Information not available');
+ }
+
return $this->bufferSize;
}
}
diff --git a/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemGarbageCollectorStatusProvider.php b/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php
similarity index 67%
rename from vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemGarbageCollectorStatusProvider.php
rename to vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php
index 3f33d69..f909c11 100644
--- a/vendor/phpunit/phpunit/src/Event/Value/Telemetry/SystemGarbageCollectorStatusProvider.php
+++ b/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php81GarbageCollectorStatusProvider.php
@@ -15,8 +15,10 @@ use function gc_status;
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*
* @internal This class is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @codeCoverageIgnore
*/
-final readonly class SystemGarbageCollectorStatusProvider implements GarbageCollectorStatusProvider
+final readonly class Php81GarbageCollectorStatusProvider implements GarbageCollectorStatusProvider
{
public function status(): GarbageCollectorStatus
{
@@ -27,14 +29,14 @@ final readonly class SystemGarbageCollectorStatusProvider implements GarbageColl
$status['collected'],
$status['threshold'],
$status['roots'],
- $status['application_time'],
- $status['collector_time'],
- $status['destructor_time'],
- $status['free_time'],
- $status['running'],
- $status['protected'],
- $status['full'],
- $status['buffer_size'],
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
+ null,
);
}
}
diff --git a/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php b/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php
new file mode 100644
index 0000000..5e02c83
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Event/Value/Telemetry/Php83GarbageCollectorStatusProvider.php
@@ -0,0 +1,48 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Event\Telemetry;
+
+use function gc_status;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final readonly class Php83GarbageCollectorStatusProvider implements GarbageCollectorStatusProvider
+{
+ public function status(): GarbageCollectorStatus
+ {
+ $status = gc_status();
+
+ return new GarbageCollectorStatus(
+ $status['runs'],
+ $status['collected'],
+ $status['threshold'],
+ $status['roots'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['application_time'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['collector_time'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['destructor_time'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['free_time'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['running'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['protected'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['full'],
+ /** @phpstan-ignore offsetAccess.notFound */
+ $status['buffer_size'],
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/Assert.php b/vendor/phpunit/phpunit/src/Framework/Assert.php
index 717301c..37ee4a8 100644
--- a/vendor/phpunit/phpunit/src/Framework/Assert.php
+++ b/vendor/phpunit/phpunit/src/Framework/Assert.php
@@ -16,11 +16,10 @@ use function count;
use function file_get_contents;
use function interface_exists;
use function is_bool;
-use function sprintf;
use ArrayAccess;
use Countable;
use Generator;
-use PHPUnit\Event\Facade as EventFacade;
+use PHPUnit\Event;
use PHPUnit\Framework\Constraint\ArrayHasKey;
use PHPUnit\Framework\Constraint\Callback;
use PHPUnit\Framework\Constraint\Constraint;
@@ -274,7 +273,7 @@ abstract class Assert
* @throws Exception
* @throws ExpectationFailedException
*
- * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6056
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6055
*/
final public static function assertContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = ''): void
{
@@ -282,54 +281,14 @@ abstract class Assert
$isNativeType = self::isNativeType($type);
}
- if ($isNativeType) {
- $replacement = match ($type) {
- 'array' => 'assertContainsOnlyArray',
- 'bool' => 'assertContainsOnlyBool',
- 'boolean' => 'assertContainsOnlyBool',
- 'callable' => 'assertContainsOnlyCallable',
- 'double' => 'assertContainsOnlyFloat',
- 'float' => 'assertContainsOnlyFloat',
- 'int' => 'assertContainsOnlyInt',
- 'integer' => 'assertContainsOnlyInt',
- 'iterable' => 'assertContainsOnlyIterable',
- 'null' => 'assertContainsOnlyNull',
- 'numeric' => 'assertContainsOnlyNumeric',
- 'object' => 'assertContainsOnlyObject',
- 'real' => 'assertContainsOnlyFloat',
- 'resource' => 'assertContainsOnlyResource',
- 'resource (closed)' => 'assertContainsOnlyClosedResource',
- 'scalar' => 'assertContainsOnlyScalar',
- 'string' => 'assertContainsOnlyString',
- };
-
- EventFacade::emitter()->testTriggeredPhpunitDeprecation(
- null,
- sprintf(
- 'assertContainsOnly() is deprecated and will be removed in PHPUnit 12. ' .
- 'Please use %s($haystack) instead of assertContainsOnly(\'%s\', $haystack).',
- $replacement,
- $type,
- ),
- );
-
- $constraint = TraversableContainsOnly::forNativeType(self::mapNativeType($type));
- } else {
- EventFacade::emitter()->testTriggeredPhpunitDeprecation(
- null,
- sprintf(
- 'assertContainsOnly() is deprecated and will be removed in PHPUnit 12. ' .
- 'Please use assertContainsOnlyInstancesOf(\'%s\', $haystack) instead of assertContainsOnly(\'%s\', $haystack).',
- $type,
- $type,
- ),
- );
-
- /** @phpstan-ignore argument.type */
- $constraint = TraversableContainsOnly::forClassOrInterface($type);
- }
-
- self::assertThat($haystack, $constraint, $message);
+ self::assertThat(
+ $haystack,
+ new TraversableContainsOnly(
+ $type,
+ $isNativeType,
+ ),
+ $message,
+ );
}
/**
@@ -343,8 +302,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Array,
+ new TraversableContainsOnly(
+ NativeType::Array->value,
),
$message,
);
@@ -361,8 +320,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Bool,
+ new TraversableContainsOnly(
+ NativeType::Bool->value,
),
$message,
);
@@ -379,8 +338,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Callable,
+ new TraversableContainsOnly(
+ NativeType::Callable->value,
),
$message,
);
@@ -397,8 +356,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Float,
+ new TraversableContainsOnly(
+ NativeType::Float->value,
),
$message,
);
@@ -415,8 +374,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Int,
+ new TraversableContainsOnly(
+ NativeType::Int->value,
),
$message,
);
@@ -433,8 +392,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Iterable,
+ new TraversableContainsOnly(
+ NativeType::Iterable->value,
),
$message,
);
@@ -451,8 +410,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Null,
+ new TraversableContainsOnly(
+ NativeType::Null->value,
),
$message,
);
@@ -469,8 +428,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Numeric,
+ new TraversableContainsOnly(
+ NativeType::Numeric->value,
),
$message,
);
@@ -487,8 +446,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Object,
+ new TraversableContainsOnly(
+ NativeType::Object->value,
),
$message,
);
@@ -505,8 +464,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Resource,
+ new TraversableContainsOnly(
+ NativeType::Resource->value,
),
$message,
);
@@ -523,8 +482,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::ClosedResource,
+ new TraversableContainsOnly(
+ NativeType::ClosedResource->value,
),
$message,
);
@@ -541,8 +500,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::Scalar,
+ new TraversableContainsOnly(
+ NativeType::Scalar->value,
),
$message,
);
@@ -559,8 +518,8 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forNativeType(
- NativeType::String,
+ new TraversableContainsOnly(
+ NativeType::String->value,
),
$message,
);
@@ -579,7 +538,10 @@ abstract class Assert
{
self::assertThat(
$haystack,
- TraversableContainsOnly::forClassOrInterface($className),
+ new TraversableContainsOnly(
+ $className,
+ false,
+ ),
$message,
);
}
@@ -593,7 +555,7 @@ abstract class Assert
* @throws Exception
* @throws ExpectationFailedException
*
- * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6056
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6055
*/
final public static function assertNotContainsOnly(string $type, iterable $haystack, ?bool $isNativeType = null, string $message = ''): void
{
@@ -601,56 +563,14 @@ abstract class Assert
$isNativeType = self::isNativeType($type);
}
- if ($isNativeType) {
- $replacement = match ($type) {
- 'array' => 'assertContainsNotOnlyArray',
- 'bool' => 'assertContainsNotOnlyBool',
- 'boolean' => 'assertContainsNotOnlyBool',
- 'callable' => 'assertContainsNotOnlyCallable',
- 'double' => 'assertContainsNotOnlyFloat',
- 'float' => 'assertContainsNotOnlyFloat',
- 'int' => 'assertContainsNotOnlyInt',
- 'integer' => 'assertContainsNotOnlyInt',
- 'iterable' => 'assertContainsNotOnlyIterable',
- 'null' => 'assertContainsNotOnlyNull',
- 'numeric' => 'assertContainsNotOnlyNumeric',
- 'object' => 'assertContainsNotOnlyObject',
- 'real' => 'assertContainsNotOnlyFloat',
- 'resource' => 'assertContainsNotOnlyResource',
- 'resource (closed)' => 'assertContainsNotOnlyClosedResource',
- 'scalar' => 'assertContainsNotOnlyScalar',
- 'string' => 'assertContainsNotOnlyString',
- };
-
- EventFacade::emitter()->testTriggeredPhpunitDeprecation(
- null,
- sprintf(
- 'assertNotContainsOnly() is deprecated and will be removed in PHPUnit 12. ' .
- 'Please use %s($haystack) instead of assertNotContainsOnly(\'%s\', $haystack).',
- $replacement,
- $type,
- ),
- );
-
- $constraint = TraversableContainsOnly::forNativeType(self::mapNativeType($type));
- } else {
- EventFacade::emitter()->testTriggeredPhpunitDeprecation(
- null,
- sprintf(
- 'assertNotContainsOnly() is deprecated and will be removed in PHPUnit 12. ' .
- 'Please use assertContainsNotOnlyInstancesOf(\'%s\', $haystack) instead of assertNotContainsOnly(\'%s\', $haystack).',
- $type,
- $type,
- ),
- );
-
- /** @phpstan-ignore argument.type */
- $constraint = TraversableContainsOnly::forClassOrInterface($type);
- }
-
self::assertThat(
$haystack,
- new LogicalNot($constraint),
+ new LogicalNot(
+ new TraversableContainsOnly(
+ $type,
+ $isNativeType,
+ ),
+ ),
$message,
);
}
@@ -667,8 +587,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Array,
+ new TraversableContainsOnly(
+ NativeType::Array->value,
),
),
$message,
@@ -687,8 +607,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Bool,
+ new TraversableContainsOnly(
+ NativeType::Bool->value,
),
),
$message,
@@ -707,8 +627,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Callable,
+ new TraversableContainsOnly(
+ NativeType::Callable->value,
),
),
$message,
@@ -727,8 +647,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Float,
+ new TraversableContainsOnly(
+ NativeType::Float->value,
),
),
$message,
@@ -747,8 +667,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Int,
+ new TraversableContainsOnly(
+ NativeType::Int->value,
),
),
$message,
@@ -767,8 +687,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Iterable,
+ new TraversableContainsOnly(
+ NativeType::Iterable->value,
),
),
$message,
@@ -787,8 +707,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Null,
+ new TraversableContainsOnly(
+ NativeType::Null->value,
),
),
$message,
@@ -807,8 +727,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Numeric,
+ new TraversableContainsOnly(
+ NativeType::Numeric->value,
),
),
$message,
@@ -827,8 +747,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Object,
+ new TraversableContainsOnly(
+ NativeType::Object->value,
),
),
$message,
@@ -847,8 +767,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Resource,
+ new TraversableContainsOnly(
+ NativeType::Resource->value,
),
),
$message,
@@ -867,8 +787,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::ClosedResource,
+ new TraversableContainsOnly(
+ NativeType::ClosedResource->value,
),
),
$message,
@@ -887,8 +807,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::Scalar,
+ new TraversableContainsOnly(
+ NativeType::Scalar->value,
),
),
$message,
@@ -907,8 +827,8 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forNativeType(
- NativeType::String,
+ new TraversableContainsOnly(
+ NativeType::String->value,
),
),
$message,
@@ -929,7 +849,10 @@ abstract class Assert
self::assertThat(
$haystack,
new LogicalNot(
- TraversableContainsOnly::forClassOrInterface($className),
+ new TraversableContainsOnly(
+ $className,
+ false,
+ ),
),
$message,
);
@@ -1802,7 +1725,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Array),
+ new IsType(IsType::TYPE_ARRAY),
$message,
);
}
@@ -1819,7 +1742,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Bool),
+ new IsType(IsType::TYPE_BOOL),
$message,
);
}
@@ -1836,7 +1759,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Float),
+ new IsType(IsType::TYPE_FLOAT),
$message,
);
}
@@ -1853,7 +1776,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Int),
+ new IsType(IsType::TYPE_INT),
$message,
);
}
@@ -1870,7 +1793,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Numeric),
+ new IsType(IsType::TYPE_NUMERIC),
$message,
);
}
@@ -1887,7 +1810,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Object),
+ new IsType(IsType::TYPE_OBJECT),
$message,
);
}
@@ -1904,7 +1827,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Resource),
+ new IsType(IsType::TYPE_RESOURCE),
$message,
);
}
@@ -1921,7 +1844,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::ClosedResource),
+ new IsType(IsType::TYPE_CLOSED_RESOURCE),
$message,
);
}
@@ -1938,7 +1861,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::String),
+ new IsType(IsType::TYPE_STRING),
$message,
);
}
@@ -1955,7 +1878,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Scalar),
+ new IsType(IsType::TYPE_SCALAR),
$message,
);
}
@@ -1972,7 +1895,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Callable),
+ new IsType(IsType::TYPE_CALLABLE),
$message,
);
}
@@ -1989,7 +1912,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new IsType(NativeType::Iterable),
+ new IsType(IsType::TYPE_ITERABLE),
$message,
);
}
@@ -2006,7 +1929,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Array)),
+ new LogicalNot(new IsType(IsType::TYPE_ARRAY)),
$message,
);
}
@@ -2023,7 +1946,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Bool)),
+ new LogicalNot(new IsType(IsType::TYPE_BOOL)),
$message,
);
}
@@ -2040,7 +1963,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Float)),
+ new LogicalNot(new IsType(IsType::TYPE_FLOAT)),
$message,
);
}
@@ -2057,7 +1980,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Int)),
+ new LogicalNot(new IsType(IsType::TYPE_INT)),
$message,
);
}
@@ -2074,7 +1997,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Numeric)),
+ new LogicalNot(new IsType(IsType::TYPE_NUMERIC)),
$message,
);
}
@@ -2091,7 +2014,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Object)),
+ new LogicalNot(new IsType(IsType::TYPE_OBJECT)),
$message,
);
}
@@ -2108,7 +2031,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Resource)),
+ new LogicalNot(new IsType(IsType::TYPE_RESOURCE)),
$message,
);
}
@@ -2125,7 +2048,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::ClosedResource)),
+ new LogicalNot(new IsType(IsType::TYPE_CLOSED_RESOURCE)),
$message,
);
}
@@ -2142,7 +2065,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::String)),
+ new LogicalNot(new IsType(IsType::TYPE_STRING)),
$message,
);
}
@@ -2159,7 +2082,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Scalar)),
+ new LogicalNot(new IsType(IsType::TYPE_SCALAR)),
$message,
);
}
@@ -2176,7 +2099,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Callable)),
+ new LogicalNot(new IsType(IsType::TYPE_CALLABLE)),
$message,
);
}
@@ -2193,7 +2116,7 @@ abstract class Assert
{
self::assertThat(
$actual,
- new LogicalNot(new IsType(NativeType::Iterable)),
+ new LogicalNot(new IsType(IsType::TYPE_ITERABLE)),
$message,
);
}
@@ -2347,6 +2270,29 @@ abstract class Assert
self::assertThat($string, new StringMatchesFormatDescription($format), $message);
}
+ /**
+ * Asserts that a string does not match a given format string.
+ *
+ * @throws ExpectationFailedException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5472
+ */
+ final public static function assertStringNotMatchesFormat(string $format, string $string, string $message = ''): void
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ null,
+ 'assertStringNotMatchesFormat() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ self::assertThat(
+ $string,
+ new LogicalNot(
+ new StringMatchesFormatDescription($format),
+ ),
+ $message,
+ );
+ }
+
/**
* Asserts that a string matches a given format file.
*
@@ -2369,6 +2315,37 @@ abstract class Assert
);
}
+ /**
+ * Asserts that a string does not match a given format string.
+ *
+ * @throws ExpectationFailedException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5472
+ */
+ final public static function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = ''): void
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ null,
+ 'assertStringNotMatchesFormatFile() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ self::assertFileExists($formatFile, $message);
+
+ $formatDescription = file_get_contents($formatFile);
+
+ self::assertIsString($formatDescription);
+
+ self::assertThat(
+ $string,
+ new LogicalNot(
+ new StringMatchesFormatDescription(
+ $formatDescription,
+ ),
+ ),
+ $message,
+ );
+ }
+
/**
* Asserts that a string starts with a given prefix.
*
@@ -2806,76 +2783,76 @@ abstract class Assert
*
* @throws Exception
*
- * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6060
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6055
*/
final public static function containsOnly(string $type): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(self::mapNativeType($type));
+ return new TraversableContainsOnly($type);
}
final public static function containsOnlyArray(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Array);
+ return new TraversableContainsOnly(NativeType::Array->value);
}
final public static function containsOnlyBool(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Bool);
+ return new TraversableContainsOnly(NativeType::Bool->value);
}
final public static function containsOnlyCallable(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Callable);
+ return new TraversableContainsOnly(NativeType::Callable->value);
}
final public static function containsOnlyFloat(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Float);
+ return new TraversableContainsOnly(NativeType::Float->value);
}
final public static function containsOnlyInt(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Int);
+ return new TraversableContainsOnly(NativeType::Int->value);
}
final public static function containsOnlyIterable(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Iterable);
+ return new TraversableContainsOnly(NativeType::Iterable->value);
}
final public static function containsOnlyNull(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Null);
+ return new TraversableContainsOnly(NativeType::Null->value);
}
final public static function containsOnlyNumeric(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Numeric);
+ return new TraversableContainsOnly(NativeType::Numeric->value);
}
final public static function containsOnlyObject(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Object);
+ return new TraversableContainsOnly(NativeType::Object->value);
}
final public static function containsOnlyResource(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Resource);
+ return new TraversableContainsOnly(NativeType::Resource->value);
}
final public static function containsOnlyClosedResource(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::ClosedResource);
+ return new TraversableContainsOnly(NativeType::ClosedResource->value);
}
final public static function containsOnlyScalar(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::Scalar);
+ return new TraversableContainsOnly(NativeType::Scalar->value);
}
final public static function containsOnlyString(): TraversableContainsOnly
{
- return TraversableContainsOnly::forNativeType(NativeType::String);
+ return new TraversableContainsOnly(NativeType::String->value);
}
/**
@@ -2885,7 +2862,7 @@ abstract class Assert
*/
final public static function containsOnlyInstancesOf(string $className): TraversableContainsOnly
{
- return TraversableContainsOnly::forClassOrInterface($className);
+ return new TraversableContainsOnly($className, false);
}
final public static function arrayHasKey(mixed $key): ArrayHasKey
@@ -2971,106 +2948,74 @@ abstract class Assert
final public static function isArray(): IsType
{
- return new IsType(NativeType::Array);
+ return new IsType(NativeType::Array->value);
}
final public static function isBool(): IsType
{
- return new IsType(NativeType::Bool);
+ return new IsType(NativeType::Bool->value);
}
final public static function isCallable(): IsType
{
- return new IsType(NativeType::Callable);
+ return new IsType(NativeType::Callable->value);
}
final public static function isFloat(): IsType
{
- return new IsType(NativeType::Float);
+ return new IsType(NativeType::Float->value);
}
final public static function isInt(): IsType
{
- return new IsType(NativeType::Int);
+ return new IsType(NativeType::Int->value);
}
final public static function isIterable(): IsType
{
- return new IsType(NativeType::Iterable);
+ return new IsType(NativeType::Iterable->value);
}
final public static function isNumeric(): IsType
{
- return new IsType(NativeType::Numeric);
+ return new IsType(NativeType::Numeric->value);
}
final public static function isObject(): IsType
{
- return new IsType(NativeType::Object);
+ return new IsType(NativeType::Object->value);
}
final public static function isResource(): IsType
{
- return new IsType(NativeType::Resource);
+ return new IsType(NativeType::Resource->value);
}
final public static function isClosedResource(): IsType
{
- return new IsType(NativeType::ClosedResource);
+ return new IsType(NativeType::ClosedResource->value);
}
final public static function isScalar(): IsType
{
- return new IsType(NativeType::Scalar);
+ return new IsType(NativeType::Scalar->value);
}
final public static function isString(): IsType
{
- return new IsType(NativeType::String);
+ return new IsType(NativeType::String->value);
}
/**
* @param 'array'|'bool'|'boolean'|'callable'|'double'|'float'|'int'|'integer'|'iterable'|'null'|'numeric'|'object'|'real'|'resource (closed)'|'resource'|'scalar'|'string' $type
*
- * @throws UnknownNativeTypeException
+ * @throws Exception
*
- * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6053
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6052
*/
final public static function isType(string $type): IsType
{
- $constraint = new IsType(self::mapNativeType($type));
-
- $replacement = match ($type) {
- 'array' => 'isArray',
- 'bool' => 'isBool',
- 'boolean' => 'isBool',
- 'callable' => 'isCallable',
- 'double' => 'isFloat',
- 'float' => 'isFloat',
- 'int' => 'isInt',
- 'integer' => 'isInt',
- 'iterable' => 'isIterable',
- 'null' => 'isNull',
- 'numeric' => 'isNumeric',
- 'object' => 'isObject',
- 'real' => 'isFloat',
- 'resource' => 'isResource',
- 'resource (closed)' => 'isClosedResource',
- 'scalar' => 'isScalar',
- 'string' => 'isString',
- };
-
- EventFacade::emitter()->testTriggeredPhpunitDeprecation(
- null,
- sprintf(
- 'isType(\'%s\') is deprecated and will be removed in PHPUnit 12. ' .
- 'Please use the %s() method instead.',
- $type,
- $replacement,
- ),
- );
-
- return $constraint;
+ return new IsType($type);
}
final public static function lessThan(mixed $value): LessThan
@@ -3186,53 +3131,9 @@ abstract class Assert
private static function isNativeType(string $type): bool
{
- return $type === 'array' ||
- $type === 'bool' ||
- $type === 'boolean' ||
- $type === 'callable' ||
- $type === 'double' ||
- $type === 'float' ||
- $type === 'int' ||
- $type === 'integer' ||
- $type === 'iterable' ||
- $type === 'null' ||
- $type === 'numeric' ||
- $type === 'object' ||
- $type === 'real' ||
- $type === 'resource' ||
- $type === 'resource (closed)' ||
- $type === 'scalar' ||
- $type === 'string';
- }
-
- /**
- * @throws UnknownNativeTypeException
- */
- private static function mapNativeType(string $type): NativeType
- {
- if (!self::isNativeType($type)) {
- throw new UnknownNativeTypeException($type);
- }
-
- /** @phpstan-ignore match.unhandled */
return match ($type) {
- 'array' => NativeType::Array,
- 'bool' => NativeType::Bool,
- 'boolean' => NativeType::Bool,
- 'callable' => NativeType::Callable,
- 'double' => NativeType::Float,
- 'float' => NativeType::Float,
- 'int' => NativeType::Int,
- 'integer' => NativeType::Int,
- 'iterable' => NativeType::Iterable,
- 'null' => NativeType::Null,
- 'numeric' => NativeType::Numeric,
- 'object' => NativeType::Object,
- 'real' => NativeType::Float,
- 'resource' => NativeType::Resource,
- 'resource (closed)' => NativeType::ClosedResource,
- 'scalar' => NativeType::Scalar,
- 'string' => NativeType::String,
+ 'numeric', 'integer', 'int', 'iterable', 'float', 'string', 'boolean', 'bool', 'null', 'array', 'object', 'resource', 'scalar' => true,
+ default => false,
};
}
}
diff --git a/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php b/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
index e3e3633..cfe2557 100644
--- a/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
+++ b/vendor/phpunit/phpunit/src/Framework/Assert/Functions.php
@@ -59,7 +59,13 @@ use PHPUnit\Framework\MockObject\Rule\InvokedAtLeastCount as InvokedAtLeastCount
use PHPUnit\Framework\MockObject\Rule\InvokedAtLeastOnce as InvokedAtLeastOnceMatcher;
use PHPUnit\Framework\MockObject\Rule\InvokedAtMostCount as InvokedAtMostCountMatcher;
use PHPUnit\Framework\MockObject\Rule\InvokedCount as InvokedCountMatcher;
+use PHPUnit\Framework\MockObject\Stub\ConsecutiveCalls as ConsecutiveCallsStub;
use PHPUnit\Framework\MockObject\Stub\Exception as ExceptionStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnArgument as ReturnArgumentStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnCallback as ReturnCallbackStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnSelf as ReturnSelfStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnValueMap as ReturnValueMapStub;
use PHPUnit\Util\Xml\XmlException;
use Throwable;
@@ -281,7 +287,7 @@ if (!function_exists('PHPUnit\Framework\assertContainsOnly')) {
* @throws Exception
* @throws ExpectationFailedException
*
- * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6056
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6055
*
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*
@@ -557,7 +563,7 @@ if (!function_exists('PHPUnit\Framework\assertNotContainsOnly')) {
* @throws Exception
* @throws ExpectationFailedException
*
- * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6056
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/6055
*
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*
@@ -2468,6 +2474,24 @@ if (!function_exists('PHPUnit\Framework\assertStringMatchesFormat')) {
}
}
+if (!function_exists('PHPUnit\Framework\assertStringNotMatchesFormat')) {
+ /**
+ * Asserts that a string does not match a given format string.
+ *
+ * @throws ExpectationFailedException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5472
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @see Assert::assertStringNotMatchesFormat
+ */
+ function assertStringNotMatchesFormat(string $format, string $string, string $message = ''): void
+ {
+ Assert::assertStringNotMatchesFormat(...func_get_args());
+ }
+}
+
if (!function_exists('PHPUnit\Framework\assertStringMatchesFormatFile')) {
/**
* Asserts that a string matches a given format file.
@@ -2484,6 +2508,24 @@ if (!function_exists('PHPUnit\Framework\assertStringMatchesFormatFile')) {
}
}
+if (!function_exists('PHPUnit\Framework\assertStringNotMatchesFormatFile')) {
+ /**
+ * Asserts that a string does not match a given format string.
+ *
+ * @throws ExpectationFailedException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5472
+ *
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @see Assert::assertStringNotMatchesFormatFile
+ */
+ function assertStringNotMatchesFormatFile(string $formatFile, string $string, string $message = ''): void
+ {
+ Assert::assertStringNotMatchesFormatFile(...func_get_args());
+ }
+}
+
if (!function_exists('PHPUnit\Framework\assertStringStartsWith')) {
/**
* Asserts that a string starts with a given prefix.
@@ -3406,9 +3448,61 @@ if (!function_exists('PHPUnit\Framework\atMost')) {
}
}
+if (!function_exists('PHPUnit\Framework\returnValue')) {
+ function returnValue(mixed $value): ReturnStub
+ {
+ return new ReturnStub($value);
+ }
+}
+
+if (!function_exists('PHPUnit\Framework\returnValueMap')) {
+ /**
+ * @param array $valueMap
+ */
+ function returnValueMap(array $valueMap): ReturnValueMapStub
+ {
+ return new ReturnValueMapStub($valueMap);
+ }
+}
+
+if (!function_exists('PHPUnit\Framework\returnArgument')) {
+ function returnArgument(int $argumentIndex): ReturnArgumentStub
+ {
+ return new ReturnArgumentStub($argumentIndex);
+ }
+}
+
+if (!function_exists('PHPUnit\Framework\returnCallback')) {
+ function returnCallback(callable $callback): ReturnCallbackStub
+ {
+ return new ReturnCallbackStub($callback);
+ }
+}
+
+if (!function_exists('PHPUnit\Framework\returnSelf')) {
+ /**
+ * Returns the current object.
+ *
+ * This method is useful when mocking a fluent interface.
+ */
+ function returnSelf(): ReturnSelfStub
+ {
+ return new ReturnSelfStub;
+ }
+}
+
if (!function_exists('PHPUnit\Framework\throwException')) {
function throwException(Throwable $exception): ExceptionStub
{
return new ExceptionStub($exception);
}
}
+
+if (!function_exists('PHPUnit\Framework\onConsecutiveCalls')) {
+ function onConsecutiveCalls(): ConsecutiveCallsStub
+ {
+ $arguments = func_get_args();
+
+ return new ConsecutiveCallsStub($arguments);
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatImplementInterface.php b/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatImplementInterface.php
deleted file mode 100644
index 69bcd84..0000000
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/CoversClassesThatImplementInterface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\Attributes;
-
-use Attribute;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
- */
-#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
-final readonly class CoversClassesThatImplementInterface
-{
- /**
- * @var class-string
- */
- private string $interfaceName;
-
- /**
- * @param class-string $interfaceName
- */
- public function __construct(string $interfaceName)
- {
- $this->interfaceName = $interfaceName;
- }
-
- /**
- * @return class-string
- */
- public function interfaceName(): string
- {
- return $this->interfaceName;
- }
-}
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNamespace.php b/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNamespace.php
deleted file mode 100644
index 50d82b9..0000000
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/CoversNamespace.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\Attributes;
-
-use Attribute;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
- */
-#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
-final readonly class CoversNamespace
-{
- /**
- * @var non-empty-string
- */
- private string $namespace;
-
- /**
- * @param non-empty-string $namespace
- */
- public function __construct(string $namespace)
- {
- $this->namespace = $namespace;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespace(): string
- {
- return $this->namespace;
- }
-}
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresEnvironmentVariable.php b/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresEnvironmentVariable.php
deleted file mode 100644
index 7e460b9..0000000
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/RequiresEnvironmentVariable.php
+++ /dev/null
@@ -1,40 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\Attributes;
-
-use Attribute;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
- */
-#[Attribute(Attribute::TARGET_CLASS | Attribute::TARGET_METHOD | Attribute::IS_REPEATABLE)]
-final readonly class RequiresEnvironmentVariable
-{
- private string $environmentVariableName;
- private null|string $value;
-
- public function __construct(string $environmentVariableName, null|string $value = null)
- {
- $this->environmentVariableName = $environmentVariableName;
- $this->value = $value;
- }
-
- public function environmentVariableName(): string
- {
- return $this->environmentVariableName;
- }
-
- public function value(): null|string
- {
- return $this->value;
- }
-}
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatExtendClass.php b/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatExtendClass.php
deleted file mode 100644
index d1aa73f..0000000
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatExtendClass.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\Attributes;
-
-use Attribute;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
- */
-#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
-final readonly class UsesClassesThatExtendClass
-{
- /**
- * @var class-string
- */
- private string $className;
-
- /**
- * @param class-string $className
- */
- public function __construct(string $className)
- {
- $this->className = $className;
- }
-
- /**
- * @return class-string
- */
- public function className(): string
- {
- return $this->className;
- }
-}
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatImplementInterface.php b/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatImplementInterface.php
deleted file mode 100644
index 0f2241c..0000000
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/UsesClassesThatImplementInterface.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\Attributes;
-
-use Attribute;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
- */
-#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
-final readonly class UsesClassesThatImplementInterface
-{
- /**
- * @var class-string
- */
- private string $interfaceName;
-
- /**
- * @param class-string $interfaceName
- */
- public function __construct(string $interfaceName)
- {
- $this->interfaceName = $interfaceName;
- }
-
- /**
- * @return class-string
- */
- public function interfaceName(): string
- {
- return $this->interfaceName;
- }
-}
diff --git a/vendor/phpunit/phpunit/src/Framework/Attributes/UsesNamespace.php b/vendor/phpunit/phpunit/src/Framework/Attributes/UsesNamespace.php
deleted file mode 100644
index ad929cd..0000000
--- a/vendor/phpunit/phpunit/src/Framework/Attributes/UsesNamespace.php
+++ /dev/null
@@ -1,42 +0,0 @@
-
- *
- * For the full copyright and license information, please view the LICENSE
- * file that was distributed with this source code.
- */
-namespace PHPUnit\Framework\Attributes;
-
-use Attribute;
-
-/**
- * @immutable
- *
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
- */
-#[Attribute(Attribute::TARGET_CLASS | Attribute::IS_REPEATABLE)]
-final readonly class UsesNamespace
-{
- /**
- * @var non-empty-string
- */
- private string $namespace;
-
- /**
- * @param non-empty-string $namespace
- */
- public function __construct(string $namespace)
- {
- $this->namespace = $namespace;
- }
-
- /**
- * @return non-empty-string
- */
- public function namespace(): string
- {
- return $this->namespace;
- }
-}
diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php
index 3b40a12..e8ffc34 100644
--- a/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php
+++ b/vendor/phpunit/phpunit/src/Framework/Constraint/Operator/LogicalXor.php
@@ -59,7 +59,7 @@ final class LogicalXor extends BinaryOperator
return array_reduce(
$constraints,
- static fn (?bool $matches, Constraint $constraint): bool => $matches xor $constraint->evaluate($other, '', true),
+ static fn (bool $matches, Constraint $constraint): bool => $matches xor $constraint->evaluate($other, '', true),
$initial->evaluate($other, '', true),
);
}
diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php
index 50da87f..da752e9 100644
--- a/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php
+++ b/vendor/phpunit/phpunit/src/Framework/Constraint/Traversable/TraversableContainsOnly.php
@@ -9,8 +9,8 @@
*/
namespace PHPUnit\Framework\Constraint;
+use PHPUnit\Framework\Exception;
use PHPUnit\Framework\ExpectationFailedException;
-use PHPUnit\Framework\NativeType;
/**
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
@@ -20,23 +20,20 @@ final class TraversableContainsOnly extends Constraint
private readonly Constraint $constraint;
private readonly string $type;
- public static function forNativeType(NativeType $type): self
- {
- return new self(new IsType($type), $type->value);
- }
-
/**
- * @param class-string $type
+ * @param 'array'|'bool'|'boolean'|'callable'|'double'|'float'|'int'|'integer'|'iterable'|'null'|'numeric'|'object'|'real'|'resource (closed)'|'resource'|'scalar'|'string'|class-string $type
+ *
+ * @throws Exception
*/
- public static function forClassOrInterface(string $type): self
+ public function __construct(string $type, bool $isNativeType = true)
{
- return new self(new IsInstanceOf($type), $type);
- }
+ if ($isNativeType) {
+ $this->constraint = new IsType($type);
+ } else {
+ $this->constraint = new IsInstanceOf($type);
+ }
- private function __construct(IsInstanceOf|IsType $constraint, string $type)
- {
- $this->constraint = $constraint;
- $this->type = $type;
+ $this->type = $type;
}
/**
diff --git a/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php b/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php
index c2bff8e..4f1c709 100644
--- a/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php
+++ b/vendor/phpunit/phpunit/src/Framework/Constraint/Type/IsType.php
@@ -21,17 +21,117 @@ use function is_object;
use function is_scalar;
use function is_string;
use function sprintf;
-use PHPUnit\Framework\NativeType;
+use PHPUnit\Framework\UnknownTypeException;
/**
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*/
final class IsType extends Constraint
{
- private readonly NativeType $type;
+ /**
+ * @var string
+ */
+ public const TYPE_ARRAY = 'array';
- public function __construct(NativeType $type)
+ /**
+ * @var string
+ */
+ public const TYPE_BOOL = 'bool';
+
+ /**
+ * @var string
+ */
+ public const TYPE_FLOAT = 'float';
+
+ /**
+ * @var string
+ */
+ public const TYPE_INT = 'int';
+
+ /**
+ * @var string
+ */
+ public const TYPE_NULL = 'null';
+
+ /**
+ * @var string
+ */
+ public const TYPE_NUMERIC = 'numeric';
+
+ /**
+ * @var string
+ */
+ public const TYPE_OBJECT = 'object';
+
+ /**
+ * @var string
+ */
+ public const TYPE_RESOURCE = 'resource';
+
+ /**
+ * @var string
+ */
+ public const TYPE_CLOSED_RESOURCE = 'resource (closed)';
+
+ /**
+ * @var string
+ */
+ public const TYPE_STRING = 'string';
+
+ /**
+ * @var string
+ */
+ public const TYPE_SCALAR = 'scalar';
+
+ /**
+ * @var string
+ */
+ public const TYPE_CALLABLE = 'callable';
+
+ /**
+ * @var string
+ */
+ public const TYPE_ITERABLE = 'iterable';
+
+ /**
+ * @var array
+ */
+ private const KNOWN_TYPES = [
+ 'array' => true,
+ 'boolean' => true,
+ 'bool' => true,
+ 'double' => true,
+ 'float' => true,
+ 'integer' => true,
+ 'int' => true,
+ 'null' => true,
+ 'numeric' => true,
+ 'object' => true,
+ 'real' => true,
+ 'resource' => true,
+ 'resource (closed)' => true,
+ 'string' => true,
+ 'scalar' => true,
+ 'callable' => true,
+ 'iterable' => true,
+ ];
+
+ /**
+ * @var 'array'|'bool'|'boolean'|'callable'|'double'|'float'|'int'|'integer'|'iterable'|'null'|'numeric'|'object'|'real'|'resource (closed)'|'resource'|'scalar'|'string'
+ */
+ private readonly string $type;
+
+ /**
+ * @param 'array'|'bool'|'boolean'|'callable'|'double'|'float'|'int'|'integer'|'iterable'|'null'|'numeric'|'object'|'real'|'resource (closed)'|'resource'|'scalar'|'string' $type
+ *
+ * @throws UnknownTypeException
+ */
+ public function __construct(string $type)
{
+ if (!isset(self::KNOWN_TYPES[$type])) {
+ throw new UnknownTypeException($type);
+ }
+
$this->type = $type;
}
@@ -42,7 +142,7 @@ final class IsType extends Constraint
{
return sprintf(
'is of type %s',
- $this->type->value,
+ $this->type,
);
}
@@ -53,45 +153,49 @@ final class IsType extends Constraint
protected function matches(mixed $other): bool
{
switch ($this->type) {
- case NativeType::Numeric:
+ case 'numeric':
return is_numeric($other);
- case NativeType::Int:
+ case 'integer':
+ case 'int':
return is_int($other);
- case NativeType::Float:
+ case 'double':
+ case 'float':
+ case 'real':
return is_float($other);
- case NativeType::String:
+ case 'string':
return is_string($other);
- case NativeType::Bool:
+ case 'boolean':
+ case 'bool':
return is_bool($other);
- case NativeType::Null:
+ case 'null':
return null === $other;
- case NativeType::Array:
+ case 'array':
return is_array($other);
- case NativeType::Object:
+ case 'object':
return is_object($other);
- case NativeType::Resource:
+ case 'resource':
$type = gettype($other);
return $type === 'resource' || $type === 'resource (closed)';
- case NativeType::ClosedResource:
+ case 'resource (closed)':
return gettype($other) === 'resource (closed)';
- case NativeType::Scalar:
+ case 'scalar':
return is_scalar($other);
- case NativeType::Callable:
+ case 'callable':
return is_callable($other);
- case NativeType::Iterable:
+ case 'iterable':
return is_iterable($other);
default:
diff --git a/vendor/phpunit/phpunit/src/Framework/Exception/UnknownNativeTypeException.php b/vendor/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php
similarity index 76%
rename from vendor/phpunit/phpunit/src/Framework/Exception/UnknownNativeTypeException.php
rename to vendor/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php
index 09da460..b58b695 100644
--- a/vendor/phpunit/phpunit/src/Framework/Exception/UnknownNativeTypeException.php
+++ b/vendor/phpunit/phpunit/src/Framework/Exception/UnknownTypeException.php
@@ -16,14 +16,14 @@ use function sprintf;
*
* @internal This class is not covered by the backward compatibility promise for PHPUnit
*/
-final class UnknownNativeTypeException extends InvalidArgumentException
+final class UnknownTypeException extends InvalidArgumentException
{
- public function __construct(string $type)
+ public function __construct(string $name)
{
parent::__construct(
sprintf(
- 'Native type "%s" is not known',
- $type,
+ 'Type "%s" is not known',
+ $name,
),
);
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/CannotCloneTestDoubleForReadonlyClassException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/CannotCloneTestDoubleForReadonlyClassException.php
new file mode 100644
index 0000000..ed1cb82
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Exception/CannotCloneTestDoubleForReadonlyClassException.php
@@ -0,0 +1,27 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @codeCoverageIgnore
+ */
+final class CannotCloneTestDoubleForReadonlyClassException extends \PHPUnit\Framework\Exception implements Exception
+{
+ public function __construct()
+ {
+ parent::__construct(
+ 'Cloning test doubles for readonly classes is not supported on PHP 8.2',
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php
new file mode 100644
index 0000000..9fc5078
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/CannotUseAddMethodsException.php
@@ -0,0 +1,31 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+use function sprintf;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class CannotUseAddMethodsException extends \PHPUnit\Framework\Exception implements Exception
+{
+ public function __construct(string $type, string $methodName)
+ {
+ parent::__construct(
+ sprintf(
+ 'Trying to configure method "%s" with addMethods(), but it exists in class "%s". Use onlyMethods() for methods that exist in the class',
+ $methodName,
+ $type,
+ ),
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php
new file mode 100644
index 0000000..b284d94
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/OriginalConstructorInvocationRequiredException.php
@@ -0,0 +1,23 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class OriginalConstructorInvocationRequiredException extends \PHPUnit\Framework\Exception implements Exception
+{
+ public function __construct()
+ {
+ parent::__construct('Proxying to original methods requires invoking the original constructor');
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/SoapExtensionNotAvailableException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/SoapExtensionNotAvailableException.php
new file mode 100644
index 0000000..f6f513b
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/SoapExtensionNotAvailableException.php
@@ -0,0 +1,25 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class SoapExtensionNotAvailableException extends \PHPUnit\Framework\Exception implements Exception
+{
+ public function __construct()
+ {
+ parent::__construct(
+ 'The SOAP extension is required to generate a test double from WSDL',
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownClassException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownClassException.php
new file mode 100644
index 0000000..c512745
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownClassException.php
@@ -0,0 +1,30 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+use function sprintf;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ */
+final class UnknownClassException extends \PHPUnit\Framework\Exception implements Exception
+{
+ public function __construct(string $className)
+ {
+ parent::__construct(
+ sprintf(
+ 'Class "%s" does not exist',
+ $className,
+ ),
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTraitException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTraitException.php
new file mode 100644
index 0000000..a536b15
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/UnknownTraitException.php
@@ -0,0 +1,32 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+use function sprintf;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5243
+ */
+final class UnknownTraitException extends \PHPUnit\Framework\Exception implements Exception
+{
+ public function __construct(string $traitName)
+ {
+ parent::__construct(
+ sprintf(
+ 'Trait "%s" does not exist',
+ $traitName,
+ ),
+ );
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php
index 334279f..5d18770 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Generator.php
@@ -10,6 +10,10 @@
namespace PHPUnit\Framework\MockObject\Generator;
use const PHP_EOL;
+use const PHP_MAJOR_VERSION;
+use const PHP_MINOR_VERSION;
+use const PREG_OFFSET_CAPTURE;
+use const WSDL_CACHE_NONE;
use function array_merge;
use function array_pop;
use function array_unique;
@@ -17,28 +21,44 @@ use function assert;
use function class_exists;
use function count;
use function explode;
+use function extension_loaded;
use function implode;
use function in_array;
use function interface_exists;
use function is_array;
+use function is_object;
use function md5;
use function method_exists;
use function mt_rand;
use function preg_match;
+use function preg_match_all;
+use function range;
use function serialize;
use function sort;
use function sprintf;
+use function str_contains;
+use function str_replace;
+use function strlen;
+use function strpos;
use function substr;
use function trait_exists;
use Exception;
use Iterator;
use IteratorAggregate;
+use PHPUnit\Event\Code\NoTestCaseObjectOnCallStackException;
+use PHPUnit\Event\Code\TestMethodBuilder;
+use PHPUnit\Event\Facade as EventFacade;
+use PHPUnit\Framework\InvalidArgumentException;
use PHPUnit\Framework\MockObject\ConfigurableMethod;
use PHPUnit\Framework\MockObject\DoubledCloneMethod;
+use PHPUnit\Framework\MockObject\ErrorCloneMethod;
+use PHPUnit\Framework\MockObject\GeneratedAsMockObject;
+use PHPUnit\Framework\MockObject\GeneratedAsTestStub;
use PHPUnit\Framework\MockObject\Method;
use PHPUnit\Framework\MockObject\MockObject;
use PHPUnit\Framework\MockObject\MockObjectApi;
use PHPUnit\Framework\MockObject\MockObjectInternal;
+use PHPUnit\Framework\MockObject\MutableStubApi;
use PHPUnit\Framework\MockObject\ProxiedCloneMethod;
use PHPUnit\Framework\MockObject\Stub;
use PHPUnit\Framework\MockObject\StubApi;
@@ -51,6 +71,8 @@ use ReflectionObject;
use ReflectionProperty;
use SebastianBergmann\Type\ReflectionMapper;
use SebastianBergmann\Type\Type;
+use SoapClient;
+use SoapFault;
use Throwable;
use Traversable;
@@ -64,9 +86,9 @@ final class Generator
use TemplateLoader;
/**
- * @var non-empty-array
+ * @var array
*/
- private const array EXCLUDED_METHOD_NAMES = [
+ private const EXCLUDED_METHOD_NAMES = [
'__CLASS__' => true,
'__DIR__' => true,
'__FILE__' => true,
@@ -80,48 +102,62 @@ final class Generator
];
/**
- * @var array
+ * @var array
*/
private static array $cache = [];
/**
* Returns a test double for the specified class.
*
- * @param class-string $type
* @param ?list $methods
- * @param array $arguments
+ * @param list $arguments
*
* @throws ClassIsEnumerationException
* @throws ClassIsFinalException
* @throws DuplicateMethodException
* @throws InvalidMethodNameException
* @throws NameAlreadyInUseException
+ * @throws OriginalConstructorInvocationRequiredException
* @throws ReflectionException
* @throws RuntimeException
* @throws UnknownTypeException
*/
- public function testDouble(string $type, bool $mockObject, ?array $methods = [], array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $returnValueGeneration = true): MockObject|Stub
+ public function testDouble(string $type, bool $mockObject, bool $markAsMockObject, ?array $methods = [], array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, bool $cloneArguments = true, bool $callOriginalMethods = false, ?object $proxyTarget = null, bool $allowMockingUnknownTypes = true, bool $returnValueGeneration = true): MockObject|Stub
{
if ($type === Traversable::class) {
$type = Iterator::class;
}
- $this->ensureKnownType($type);
+ if (!$allowMockingUnknownTypes) {
+ $this->ensureKnownType($type, $callAutoload);
+ }
+
$this->ensureValidMethods($methods);
$this->ensureNameForTestDoubleClassIsAvailable($mockClassName);
+ if (!$callOriginalConstructor && $callOriginalMethods) {
+ throw new OriginalConstructorInvocationRequiredException;
+ }
+
$mock = $this->generate(
$type,
$mockObject,
+ $markAsMockObject,
$methods,
$mockClassName,
$callOriginalClone,
+ $callAutoload,
+ $cloneArguments,
+ $callOriginalMethods,
);
$object = $this->getObject(
$mock,
+ $type,
$callOriginalConstructor,
$arguments,
+ $callOriginalMethods,
+ $proxyTarget,
$returnValueGeneration,
);
@@ -142,14 +178,14 @@ final class Generator
* @throws RuntimeException
* @throws UnknownTypeException
*/
- public function testDoubleForInterfaceIntersection(array $interfaces, bool $mockObject, bool $returnValueGeneration = true): MockObject|Stub
+ public function testDoubleForInterfaceIntersection(array $interfaces, bool $mockObject, bool $callAutoload = true, bool $returnValueGeneration = true): MockObject|Stub
{
if (count($interfaces) < 2) {
throw new RuntimeException('At least two interfaces must be specified');
}
foreach ($interfaces as $interface) {
- if (!interface_exists($interface)) {
+ if (!interface_exists($interface, $callAutoload)) {
throw new UnknownTypeException($interface);
}
}
@@ -194,17 +230,174 @@ final class Generator
eval($template->render());
- assert(interface_exists($intersectionName));
-
return $this->testDouble(
$intersectionName,
$mockObject,
+ $mockObject,
returnValueGeneration: $returnValueGeneration,
);
}
/**
- * @param class-string $type
+ * Returns a mock object for the specified abstract class with all abstract
+ * methods of the class mocked.
+ *
+ * Concrete methods to mock can be specified with the $mockedMethods parameter.
+ *
+ * @param list $arguments
+ * @param ?list $mockedMethods
+ *
+ * @throws ClassIsEnumerationException
+ * @throws ClassIsFinalException
+ * @throws DuplicateMethodException
+ * @throws InvalidArgumentException
+ * @throws InvalidMethodNameException
+ * @throws NameAlreadyInUseException
+ * @throws OriginalConstructorInvocationRequiredException
+ * @throws ReflectionException
+ * @throws RuntimeException
+ * @throws UnknownClassException
+ * @throws UnknownTypeException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5241
+ */
+ public function mockObjectForAbstractClass(string $originalClassName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, ?array $mockedMethods = null, bool $cloneArguments = true): MockObject
+ {
+ if (class_exists($originalClassName, $callAutoload) ||
+ interface_exists($originalClassName, $callAutoload)) {
+ $reflector = $this->reflectClass($originalClassName);
+ $methods = $mockedMethods;
+
+ foreach ($reflector->getMethods() as $method) {
+ if ($method->isAbstract() && !in_array($method->getName(), $methods ?? [], true)) {
+ $methods[] = $method->getName();
+ }
+ }
+
+ if (empty($methods)) {
+ $methods = null;
+ }
+
+ $mockObject = $this->testDouble(
+ $originalClassName,
+ true,
+ true,
+ $methods,
+ $arguments,
+ $mockClassName,
+ $callOriginalConstructor,
+ $callOriginalClone,
+ $callAutoload,
+ $cloneArguments,
+ );
+
+ assert($mockObject instanceof $originalClassName);
+ assert($mockObject instanceof MockObject);
+
+ return $mockObject;
+ }
+
+ throw new UnknownClassException($originalClassName);
+ }
+
+ /**
+ * Returns a mock object for the specified trait with all abstract methods
+ * of the trait mocked. Concrete methods to mock can be specified with the
+ * `$mockedMethods` parameter.
+ *
+ * @param trait-string $traitName
+ * @param list $arguments
+ * @param ?list $mockedMethods
+ *
+ * @throws ClassIsEnumerationException
+ * @throws ClassIsFinalException
+ * @throws DuplicateMethodException
+ * @throws InvalidArgumentException
+ * @throws InvalidMethodNameException
+ * @throws NameAlreadyInUseException
+ * @throws OriginalConstructorInvocationRequiredException
+ * @throws ReflectionException
+ * @throws RuntimeException
+ * @throws UnknownClassException
+ * @throws UnknownTraitException
+ * @throws UnknownTypeException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5243
+ */
+ public function mockObjectForTrait(string $traitName, array $arguments = [], string $mockClassName = '', bool $callOriginalConstructor = true, bool $callOriginalClone = true, bool $callAutoload = true, ?array $mockedMethods = null, bool $cloneArguments = true): MockObject
+ {
+ if (!trait_exists($traitName, $callAutoload)) {
+ throw new UnknownTraitException($traitName);
+ }
+
+ $className = $this->generateClassName(
+ $traitName,
+ '',
+ 'Trait_',
+ );
+
+ $classTemplate = $this->loadTemplate('trait_class.tpl');
+
+ $classTemplate->setVar(
+ [
+ 'prologue' => 'abstract ',
+ 'class_name' => $className['className'],
+ 'trait_name' => $traitName,
+ ],
+ );
+
+ $mockTrait = new MockTrait($classTemplate->render(), $className['className']);
+ $mockTrait->generate();
+
+ return $this->mockObjectForAbstractClass($className['className'], $arguments, $mockClassName, $callOriginalConstructor, $callOriginalClone, $callAutoload, $mockedMethods, $cloneArguments);
+ }
+
+ /**
+ * Returns an object for the specified trait.
+ *
+ * @param trait-string $traitName
+ * @param list $arguments
+ *
+ * @throws ReflectionException
+ * @throws RuntimeException
+ * @throws UnknownTraitException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5244
+ */
+ public function objectForTrait(string $traitName, string $traitClassName = '', bool $callAutoload = true, bool $callOriginalConstructor = false, array $arguments = []): object
+ {
+ if (!trait_exists($traitName, $callAutoload)) {
+ throw new UnknownTraitException($traitName);
+ }
+
+ $className = $this->generateClassName(
+ $traitName,
+ $traitClassName,
+ 'Trait_',
+ );
+
+ $classTemplate = $this->loadTemplate('trait_class.tpl');
+
+ $classTemplate->setVar(
+ [
+ 'prologue' => '',
+ 'class_name' => $className['className'],
+ 'trait_name' => $traitName,
+ ],
+ );
+
+ return $this->getObject(
+ new MockTrait(
+ $classTemplate->render(),
+ $className['className'],
+ ),
+ '',
+ $callOriginalConstructor,
+ $arguments,
+ );
+ }
+
+ /**
* @param ?list $methods
*
* @throws ClassIsEnumerationException
@@ -216,32 +409,43 @@ final class Generator
*
* @see https://github.com/sebastianbergmann/phpunit/issues/5476
*/
- public function generate(string $type, bool $mockObject, ?array $methods = null, string $mockClassName = '', bool $callOriginalClone = true): DoubledClass
+ public function generate(string $type, bool $mockObject, bool $markAsMockObject, ?array $methods = null, string $mockClassName = '', bool $callOriginalClone = true, bool $callAutoload = true, bool $cloneArguments = true, bool $callOriginalMethods = false): MockClass
{
if ($mockClassName !== '') {
return $this->generateCodeForTestDoubleClass(
$type,
$mockObject,
+ $markAsMockObject,
$methods,
$mockClassName,
$callOriginalClone,
+ $callAutoload,
+ $cloneArguments,
+ $callOriginalMethods,
);
}
$key = md5(
$type .
($mockObject ? 'MockObject' : 'TestStub') .
+ ($markAsMockObject ? 'MockObject' : 'TestStub') .
serialize($methods) .
- serialize($callOriginalClone),
+ serialize($callOriginalClone) .
+ serialize($cloneArguments) .
+ serialize($callOriginalMethods),
);
if (!isset(self::$cache[$key])) {
self::$cache[$key] = $this->generateCodeForTestDoubleClass(
$type,
$mockObject,
+ $markAsMockObject,
$methods,
$mockClassName,
$callOriginalClone,
+ $callAutoload,
+ $cloneArguments,
+ $callOriginalMethods,
);
}
@@ -249,20 +453,120 @@ final class Generator
}
/**
- * @param class-string $className
+ * @param non-empty-string $wsdlFile
+ * @param class-string $className
+ * @param list $methods
+ * @param array $options
*
+ * @throws RuntimeException
+ * @throws SoapExtensionNotAvailableException
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5242
+ */
+ public function generateClassFromWsdl(string $wsdlFile, string $className, array $methods = [], array $options = []): string
+ {
+ if (!extension_loaded('soap')) {
+ throw new SoapExtensionNotAvailableException;
+ }
+
+ $options['cache_wsdl'] = WSDL_CACHE_NONE;
+
+ try {
+ $client = new SoapClient($wsdlFile, $options);
+ $_methods = array_unique($client->__getFunctions() ?? []);
+
+ unset($client);
+ } catch (SoapFault $e) {
+ throw new RuntimeException(
+ $e->getMessage(),
+ $e->getCode(),
+ $e,
+ );
+ }
+
+ sort($_methods);
+
+ $methodTemplate = $this->loadTemplate('wsdl_method.tpl');
+ $methodsBuffer = '';
+
+ foreach ($_methods as $method) {
+ preg_match_all('/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*\(/', $method, $matches, PREG_OFFSET_CAPTURE);
+
+ $lastFunction = array_pop($matches[0]);
+ $nameStart = $lastFunction[1];
+ $nameEnd = $nameStart + strlen($lastFunction[0]) - 1;
+ $name = str_replace('(', '', $lastFunction[0]);
+
+ if (empty($methods) || in_array($name, $methods, true)) {
+ $arguments = explode(
+ ',',
+ str_replace(')', '', substr($method, $nameEnd + 1)),
+ );
+
+ foreach (range(0, count($arguments) - 1) as $i) {
+ $parameterStart = strpos($arguments[$i], '$');
+
+ if (!$parameterStart) {
+ continue;
+ }
+
+ $arguments[$i] = substr($arguments[$i], $parameterStart);
+ }
+
+ $methodTemplate->setVar(
+ [
+ 'method_name' => $name,
+ 'arguments' => implode(', ', $arguments),
+ ],
+ );
+
+ $methodsBuffer .= $methodTemplate->render();
+ }
+ }
+
+ $optionsBuffer = '[';
+
+ foreach ($options as $key => $value) {
+ $optionsBuffer .= $key . ' => ' . $value;
+ }
+
+ $optionsBuffer .= ']';
+
+ $classTemplate = $this->loadTemplate('wsdl_class.tpl');
+ $namespace = '';
+
+ if (str_contains($className, '\\')) {
+ $parts = explode('\\', $className);
+ $className = array_pop($parts);
+ $namespace = 'namespace ' . implode('\\', $parts) . ';' . "\n\n";
+ }
+
+ $classTemplate->setVar(
+ [
+ 'namespace' => $namespace,
+ 'class_name' => $className,
+ 'wsdl' => $wsdlFile,
+ 'options' => $optionsBuffer,
+ 'methods' => $methodsBuffer,
+ ],
+ );
+
+ return $classTemplate->render();
+ }
+
+ /**
* @throws ReflectionException
*
- * @return list
+ * @return list
*/
- private function mockClassMethods(string $className): array
+ public function mockClassMethods(string $className, bool $callOriginalMethods, bool $cloneArguments): array
{
$class = $this->reflectClass($className);
$methods = [];
foreach ($class->getMethods() as $method) {
if (($method->isPublic() || $method->isAbstract()) && $this->canMethodBeDoubled($method)) {
- $methods[] = DoubledMethod::fromReflection($method);
+ $methods[] = MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments);
}
}
@@ -298,7 +602,7 @@ final class Generator
* @throws ReflectionException
* @throws RuntimeException
*/
- private function getObject(DoubledClass $mockClass, bool $callOriginalConstructor = false, array $arguments = [], bool $returnValueGeneration = true): object
+ private function getObject(MockType $mockClass, string $type = '', bool $callOriginalConstructor = false, array $arguments = [], bool $callOriginalMethods = false, ?object $proxyTarget = null, bool $returnValueGeneration = true): object
{
$className = $mockClass->generate();
@@ -316,13 +620,19 @@ final class Generator
$reflector = new ReflectionObject($object);
- /**
- * @noinspection PhpUnhandledExceptionInspection
- */
- $reflector->getProperty('__phpunit_state')->setValue(
- $object,
- new TestDoubleState($mockClass->configurableMethods(), $returnValueGeneration),
- );
+ if ($object instanceof StubInternal && $mockClass instanceof MockClass) {
+ /**
+ * @noinspection PhpUnhandledExceptionInspection
+ */
+ $reflector->getProperty('__phpunit_state')->setValue(
+ $object,
+ new TestDoubleState($mockClass->configurableMethods(), $returnValueGeneration),
+ );
+
+ if ($callOriginalMethods) {
+ $this->instantiateProxyTarget($proxyTarget, $object, $type, $arguments);
+ }
+ }
if ($callOriginalConstructor && $reflector->getConstructor() !== null) {
try {
@@ -342,16 +652,14 @@ final class Generator
}
/**
- * @param class-string $type
* @param ?list $explicitMethods
*
* @throws ClassIsEnumerationException
* @throws ClassIsFinalException
- * @throws MethodNamedMethodException
* @throws ReflectionException
* @throws RuntimeException
*/
- private function generateCodeForTestDoubleClass(string $type, bool $mockObject, ?array $explicitMethods, string $mockClassName, bool $callOriginalClone): DoubledClass
+ private function generateCodeForTestDoubleClass(string $type, bool $mockObject, bool $markAsMockObject, ?array $explicitMethods, string $mockClassName, bool $callOriginalClone, bool $callAutoload, bool $cloneArguments, bool $callOriginalMethods): MockClass
{
$classTemplate = $this->loadTemplate('test_double_class.tpl');
$additionalInterfaces = [];
@@ -360,7 +668,8 @@ final class Generator
$isClass = false;
$isReadonly = false;
$isInterface = false;
- $mockMethods = new DoubledMethodSet;
+ $class = null;
+ $mockMethods = new MockMethodSet;
$testDoubleClassPrefix = $mockObject ? 'MockObject_' : 'TestStub_';
$_mockClassName = $this->generateClassName(
@@ -369,90 +678,104 @@ final class Generator
$testDoubleClassPrefix,
);
- if (class_exists($_mockClassName['fullClassName'])) {
+ if (class_exists($_mockClassName['fullClassName'], $callAutoload)) {
$isClass = true;
- } elseif (interface_exists($_mockClassName['fullClassName'])) {
+ } elseif (interface_exists($_mockClassName['fullClassName'], $callAutoload)) {
$isInterface = true;
}
- $class = $this->reflectClass($_mockClassName['fullClassName']);
+ if (!$isClass && !$isInterface) {
+ $prologue = 'class ' . $_mockClassName['originalClassName'] . "\n{\n}\n\n";
- if ($class->isEnum()) {
- throw new ClassIsEnumerationException($_mockClassName['fullClassName']);
- }
+ if (!empty($_mockClassName['namespaceName'])) {
+ $prologue = 'namespace ' . $_mockClassName['namespaceName'] .
+ " {\n\n" . $prologue . "}\n\n" .
+ "namespace {\n\n";
- if ($class->isFinal()) {
- throw new ClassIsFinalException($_mockClassName['fullClassName']);
- }
+ $epilogue = "\n\n}";
+ }
- if ($class->isReadOnly()) {
- $isReadonly = true;
- }
+ $doubledCloneMethod = true;
+ } else {
+ $class = $this->reflectClass($_mockClassName['fullClassName']);
- // @see https://github.com/sebastianbergmann/phpunit/issues/2995
- if ($isInterface && $class->implementsInterface(Throwable::class)) {
- $actualClassName = Exception::class;
- $additionalInterfaces[] = $class->getName();
- $isInterface = false;
- $class = $this->reflectClass($actualClassName);
+ if ($class->isEnum()) {
+ throw new ClassIsEnumerationException($_mockClassName['fullClassName']);
+ }
- foreach ($this->userDefinedInterfaceMethods($_mockClassName['fullClassName']) as $method) {
- $methodName = $method->getName();
+ if ($class->isFinal()) {
+ throw new ClassIsFinalException($_mockClassName['fullClassName']);
+ }
- if ($class->hasMethod($methodName)) {
- $classMethod = $class->getMethod($methodName);
+ if ($class->isReadOnly()) {
+ $isReadonly = true;
+ }
- if (!$this->canMethodBeDoubled($classMethod)) {
- continue;
+ // @see https://github.com/sebastianbergmann/phpunit/issues/2995
+ if ($isInterface && $class->implementsInterface(Throwable::class)) {
+ $actualClassName = Exception::class;
+ $additionalInterfaces[] = $class->getName();
+ $isInterface = false;
+ $class = $this->reflectClass($actualClassName);
+
+ foreach ($this->userDefinedInterfaceMethods($_mockClassName['fullClassName']) as $method) {
+ $methodName = $method->getName();
+
+ if ($class->hasMethod($methodName)) {
+ $classMethod = $class->getMethod($methodName);
+
+ if (!$this->canMethodBeDoubled($classMethod)) {
+ continue;
+ }
}
+
+ $mockMethods->addMethods(
+ MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments),
+ );
}
- $mockMethods->addMethods(
- DoubledMethod::fromReflection($method),
+ $_mockClassName = $this->generateClassName(
+ $actualClassName,
+ $_mockClassName['className'],
+ $testDoubleClassPrefix,
);
}
- $_mockClassName = $this->generateClassName(
- $actualClassName,
- $_mockClassName['className'],
- $testDoubleClassPrefix,
- );
- }
+ // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103
+ if ($isInterface && $class->implementsInterface(Traversable::class) &&
+ !$class->implementsInterface(Iterator::class) &&
+ !$class->implementsInterface(IteratorAggregate::class)) {
+ $additionalInterfaces[] = Iterator::class;
- // @see https://github.com/sebastianbergmann/phpunit-mock-objects/issues/103
- if ($isInterface && $class->implementsInterface(Traversable::class) &&
- !$class->implementsInterface(Iterator::class) &&
- !$class->implementsInterface(IteratorAggregate::class)) {
- $additionalInterfaces[] = Iterator::class;
-
- $mockMethods->addMethods(
- ...$this->mockClassMethods(Iterator::class),
- );
- }
-
- if ($class->hasMethod('__clone')) {
- $cloneMethod = $class->getMethod('__clone');
-
- if (!$cloneMethod->isFinal()) {
- if ($callOriginalClone && !$isInterface) {
- $proxiedCloneMethod = true;
- } else {
- $doubledCloneMethod = true;
- }
+ $mockMethods->addMethods(
+ ...$this->mockClassMethods(Iterator::class, $callOriginalMethods, $cloneArguments),
+ );
+ }
+
+ if ($class->hasMethod('__clone')) {
+ $cloneMethod = $class->getMethod('__clone');
+
+ if (!$cloneMethod->isFinal()) {
+ if ($callOriginalClone && !$isInterface) {
+ $proxiedCloneMethod = true;
+ } else {
+ $doubledCloneMethod = true;
+ }
+ }
+ } else {
+ $doubledCloneMethod = true;
}
- } else {
- $doubledCloneMethod = true;
}
if ($isClass && $explicitMethods === []) {
$mockMethods->addMethods(
- ...$this->mockClassMethods($_mockClassName['fullClassName']),
+ ...$this->mockClassMethods($_mockClassName['fullClassName'], $callOriginalMethods, $cloneArguments),
);
}
if ($isInterface && ($explicitMethods === [] || $explicitMethods === null)) {
$mockMethods->addMethods(
- ...$this->interfaceMethods($_mockClassName['fullClassName']),
+ ...$this->interfaceMethods($_mockClassName['fullClassName'], $cloneArguments),
);
}
@@ -463,14 +786,15 @@ final class Generator
if ($this->canMethodBeDoubled($method)) {
$mockMethods->addMethods(
- DoubledMethod::fromReflection($method),
+ MockMethod::fromReflection($method, $callOriginalMethods, $cloneArguments),
);
}
} else {
$mockMethods->addMethods(
- DoubledMethod::fromName(
+ MockMethod::fromName(
$_mockClassName['fullClassName'],
$methodName,
+ $cloneArguments,
),
);
}
@@ -487,22 +811,61 @@ final class Generator
}
/** @var trait-string[] $traits */
- $traits = [StubApi::class];
+ $traits = [];
+
+ /** @phpstan-ignore identical.alwaysTrue */
+ $isPhp82 = PHP_MAJOR_VERSION === 8 && PHP_MINOR_VERSION === 2;
+
+ if (!$isReadonly && $isPhp82) {
+ // @codeCoverageIgnoreStart
+ $traits[] = MutableStubApi::class;
+ // @codeCoverageIgnoreEnd
+ } else {
+ $traits[] = StubApi::class;
+ }
if ($mockObject) {
$traits[] = MockObjectApi::class;
}
- if ($mockMethods->hasMethod('method') || $class->hasMethod('method')) {
- throw new MethodNamedMethodException;
+ if ($markAsMockObject) {
+ $traits[] = GeneratedAsMockObject::class;
+ } else {
+ $traits[] = GeneratedAsTestStub::class;
}
- $traits[] = Method::class;
+ if ($mockMethods->hasMethod('method') || (isset($class) && $class->hasMethod('method'))) {
+ $message = sprintf(
+ '%s %s has a method named "method". Doubling %s that have a method named "method" is deprecated. Support for this will be removed in PHPUnit 12.',
+ ($isInterface) ? 'Interface' : 'Class',
+ isset($class) ? $class->getName() : $type,
+ ($isInterface) ? 'interfaces' : 'classes',
+ );
- if ($doubledCloneMethod) {
- $traits[] = DoubledCloneMethod::class;
- } elseif ($proxiedCloneMethod) {
- $traits[] = ProxiedCloneMethod::class;
+ try {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ TestMethodBuilder::fromCallStack(),
+ $message,
+ );
+ } catch (NoTestCaseObjectOnCallStackException) {
+ EventFacade::emitter()->testRunnerTriggeredDeprecation($message);
+ }
+ }
+
+ if (!$mockMethods->hasMethod('method') && (!isset($class) || !$class->hasMethod('method'))) {
+ $traits[] = Method::class;
+ }
+
+ if ($isPhp82 && $isReadonly) {
+ // @codeCoverageIgnoreStart
+ $traits[] = ErrorCloneMethod::class;
+ // @codeCoverageIgnoreEnd
+ } else {
+ if ($doubledCloneMethod) {
+ $traits[] = DoubledCloneMethod::class;
+ } elseif ($proxiedCloneMethod) {
+ $traits[] = ProxiedCloneMethod::class;
+ }
}
$useStatements = '';
@@ -518,6 +881,8 @@ final class Generator
$classTemplate->setVar(
[
+ 'prologue' => $prologue ?? '',
+ 'epilogue' => $epilogue ?? '',
'class_declaration' => $this->generateTestDoubleClassDeclaration(
$mockObject,
$_mockClassName,
@@ -535,7 +900,7 @@ final class Generator
],
);
- return new DoubledClass(
+ return new MockClass(
$classTemplate->render(),
$_mockClassName['className'],
$configurableMethods,
@@ -543,9 +908,7 @@ final class Generator
}
/**
- * @param class-string $type
- *
- * @return array{className: class-string, originalClassName: class-string, fullClassName: class-string, namespaceName: string}
+ * @return array{className: non-empty-string, originalClassName: non-empty-string, fullClassName: non-empty-string, namespaceName: string}
*/
private function generateClassName(string $type, string $className, string $prefix): array
{
@@ -657,9 +1020,9 @@ final class Generator
/**
* @throws UnknownTypeException
*/
- private function ensureKnownType(string $type): void
+ private function ensureKnownType(string $type, bool $callAutoload): void
{
- if (!class_exists($type) && !interface_exists($type)) {
+ if (!class_exists($type, $callAutoload) && !interface_exists($type, $callAutoload)) {
throw new UnknownTypeException($type);
}
}
@@ -704,6 +1067,39 @@ final class Generator
}
}
+ /**
+ * @param class-string $type
+ * @param array $arguments
+ *
+ * @throws ReflectionException
+ */
+ private function instantiateProxyTarget(?object $proxyTarget, object $object, string $type, array $arguments): void
+ {
+ if (!is_object($proxyTarget)) {
+ assert(class_exists($type));
+
+ if (count($arguments) === 0) {
+ $proxyTarget = new $type;
+ } else {
+ $class = new ReflectionClass($type);
+
+ try {
+ $proxyTarget = $class->newInstanceArgs($arguments);
+ // @codeCoverageIgnoreStart
+ } catch (\ReflectionException $e) {
+ throw new ReflectionException(
+ $e->getMessage(),
+ $e->getCode(),
+ $e,
+ );
+ }
+ // @codeCoverageIgnoreEnd
+ }
+ }
+
+ $object->__phpunit_state()->setProxyTarget($proxyTarget);
+ }
+
/**
* @param class-string $className
*
@@ -756,15 +1152,15 @@ final class Generator
*
* @throws ReflectionException
*
- * @return list
+ * @return list
*/
- private function interfaceMethods(string $interfaceName): array
+ private function interfaceMethods(string $interfaceName, bool $cloneArguments): array
{
$class = $this->reflectClass($interfaceName);
$methods = [];
foreach ($class->getMethods() as $method) {
- $methods[] = DoubledMethod::fromReflection($method);
+ $methods[] = MockMethod::fromReflection($method, false, $cloneArguments);
}
return $methods;
@@ -775,7 +1171,7 @@ final class Generator
*
* @return list
*/
- private function configurableMethods(DoubledMethodSet $methods, array $propertiesWithHooks): array
+ private function configurableMethods(MockMethodSet $methods, array $propertiesWithHooks): array
{
$configurable = [];
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/HookedPropertyGenerator.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/HookedPropertyGenerator.php
index 4fcff6c..91c1daf 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/HookedPropertyGenerator.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/HookedPropertyGenerator.php
@@ -21,6 +21,8 @@ final class HookedPropertyGenerator
/**
* @param class-string $className
* @param list $properties
+ *
+ * @return non-empty-string
*/
public function generate(string $className, array $properties): string
{
@@ -43,7 +45,7 @@ EOT,
get {
return $this->__phpunit_getInvocationHandler()->invoke(
new \PHPUnit\Framework\MockObject\Invocation(
- '%s', '$%s::get', [], '%s', $this
+ '%s', '$%s::get', [], '%s', $this, false
)
);
}
@@ -62,7 +64,7 @@ EOT,
set (%s $value) {
$this->__phpunit_getInvocationHandler()->invoke(
new \PHPUnit\Framework\MockObject\Invocation(
- '%s', '$%s::set', [$value], 'void', $this
+ '%s', '$%s::set', [$value], 'void', $this, false
)
);
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledClass.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php
similarity index 97%
rename from vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledClass.php
rename to vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php
index 3d88c72..486979e 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledClass.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockClass.php
@@ -17,7 +17,7 @@ use PHPUnit\Framework\MockObject\ConfigurableMethod;
*
* @internal This class is not covered by the backward compatibility promise for PHPUnit
*/
-final readonly class DoubledClass
+final readonly class MockClass implements MockType
{
private string $classCode;
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethod.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethod.php
similarity index 91%
rename from vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethod.php
rename to vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethod.php
index 2cf3bb2..b5399d6 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethod.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethod.php
@@ -16,6 +16,7 @@ use function is_object;
use function is_string;
use function preg_match;
use function preg_replace;
+use function sprintf;
use function str_contains;
use function strlen;
use function strpos;
@@ -34,7 +35,7 @@ use SebastianBergmann\Type\UnknownType;
*
* @internal This class is not covered by the backward compatibility promise for PHPUnit
*/
-final class DoubledMethod
+final class MockMethod
{
use TemplateLoader;
@@ -47,11 +48,13 @@ final class DoubledMethod
* @var non-empty-string
*/
private readonly string $methodName;
+ private readonly bool $cloneArguments;
private readonly string $modifier;
private readonly string $argumentsForDeclaration;
private readonly string $argumentsForCall;
private readonly Type $returnType;
private readonly string $reference;
+ private readonly bool $callOriginalMethod;
private readonly bool $static;
private readonly ?string $deprecation;
@@ -69,7 +72,7 @@ final class DoubledMethod
* @throws ReflectionException
* @throws RuntimeException
*/
- public static function fromReflection(ReflectionMethod $method): self
+ public static function fromReflection(ReflectionMethod $method, bool $callOriginalMethod, bool $cloneArguments): self
{
if ($method->isPrivate()) {
$modifier = 'private';
@@ -101,6 +104,7 @@ final class DoubledMethod
return new self(
$method->getDeclaringClass()->getName(),
$method->getName(),
+ $cloneArguments,
$modifier,
self::methodParametersForDeclaration($method),
self::methodParametersForCall($method),
@@ -108,6 +112,7 @@ final class DoubledMethod
count($method->getParameters()),
(new ReflectionMapper)->fromReturnType($method),
$reference,
+ $callOriginalMethod,
$method->isStatic(),
$deprecation,
);
@@ -117,11 +122,12 @@ final class DoubledMethod
* @param class-string $className
* @param non-empty-string $methodName
*/
- public static function fromName(string $className, string $methodName): self
+ public static function fromName(string $className, string $methodName, bool $cloneArguments): self
{
return new self(
$className,
$methodName,
+ $cloneArguments,
'public',
'',
'',
@@ -130,6 +136,7 @@ final class DoubledMethod
new UnknownType,
'',
false,
+ false,
null,
);
}
@@ -140,10 +147,11 @@ final class DoubledMethod
* @param array $defaultParameterValues
* @param non-negative-int $numberOfParameters
*/
- private function __construct(string $className, string $methodName, string $modifier, string $argumentsForDeclaration, string $argumentsForCall, array $defaultParameterValues, int $numberOfParameters, Type $returnType, string $reference, bool $static, ?string $deprecation)
+ private function __construct(string $className, string $methodName, bool $cloneArguments, string $modifier, string $argumentsForDeclaration, string $argumentsForCall, array $defaultParameterValues, int $numberOfParameters, Type $returnType, string $reference, bool $callOriginalMethod, bool $static, ?string $deprecation)
{
$this->className = $className;
$this->methodName = $methodName;
+ $this->cloneArguments = $cloneArguments;
$this->modifier = $modifier;
$this->argumentsForDeclaration = $argumentsForDeclaration;
$this->argumentsForCall = $argumentsForCall;
@@ -151,6 +159,7 @@ final class DoubledMethod
$this->numberOfParameters = $numberOfParameters;
$this->returnType = $returnType;
$this->reference = $reference;
+ $this->callOriginalMethod = $callOriginalMethod;
$this->static = $static;
$this->deprecation = $deprecation;
}
@@ -171,7 +180,10 @@ final class DoubledMethod
if ($this->static) {
$templateFile = 'doubled_static_method.tpl';
} else {
- $templateFile = 'doubled_method.tpl';
+ $templateFile = sprintf(
+ '%s_method.tpl',
+ $this->callOriginalMethod ? 'proxied' : 'doubled',
+ );
}
$deprecation = $this->deprecation;
@@ -219,7 +231,8 @@ EOT;
'method_name' => $this->methodName,
'modifier' => $this->modifier,
'reference' => $this->reference,
- 'deprecation' => $deprecation,
+ 'clone_arguments' => $this->cloneArguments ? 'true' : 'false',
+ 'deprecation' => $deprecation ?? '',
'return_result' => $returnResult,
],
);
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethodSet.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php
similarity index 86%
rename from vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethodSet.php
rename to vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php
index 6a2d29f..2c4b25f 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/DoubledMethodSet.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockMethodSet.php
@@ -18,14 +18,14 @@ use function strtolower;
*
* @internal This class is not covered by the backward compatibility promise for PHPUnit
*/
-final class DoubledMethodSet
+final class MockMethodSet
{
/**
- * @var array
+ * @var array
*/
private array $methods = [];
- public function addMethods(DoubledMethod ...$methods): void
+ public function addMethods(MockMethod ...$methods): void
{
foreach ($methods as $method) {
$this->methods[strtolower($method->methodName())] = $method;
@@ -33,7 +33,7 @@ final class DoubledMethodSet
}
/**
- * @return list
+ * @return list
*/
public function asArray(): array
{
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php
new file mode 100644
index 0000000..c3d744b
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockTrait.php
@@ -0,0 +1,50 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject\Generator;
+
+use function class_exists;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This class is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5243
+ */
+final readonly class MockTrait implements MockType
+{
+ private string $classCode;
+
+ /**
+ * @var class-string
+ */
+ private string $mockName;
+
+ /**
+ * @param class-string $mockName
+ */
+ public function __construct(string $classCode, string $mockName)
+ {
+ $this->classCode = $classCode;
+ $this->mockName = $mockName;
+ }
+
+ /**
+ * @return class-string
+ */
+ public function generate(): string
+ {
+ if (!class_exists($this->mockName, false)) {
+ eval($this->classCode);
+ }
+
+ return $this->mockName;
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/MethodNamedMethodException.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php
similarity index 60%
rename from vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/MethodNamedMethodException.php
rename to vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php
index 78586fe..fad5220 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/Exception/MethodNamedMethodException.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/MockType.php
@@ -10,12 +10,14 @@
namespace PHPUnit\Framework\MockObject\Generator;
/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
* @internal This class is not covered by the backward compatibility promise for PHPUnit
*/
-final class MethodNamedMethodException extends \PHPUnit\Framework\Exception implements Exception
+interface MockType
{
- public function __construct()
- {
- parent::__construct('Doubling interfaces (or classes) that have a method named "method" is not supported.');
- }
+ /**
+ * @return class-string
+ */
+ public function generate(): string;
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl
index bb6fb76..1b1b663 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/doubled_method.tpl
@@ -29,7 +29,7 @@
$__phpunit_result = $this->__phpunit_getInvocationHandler()->invoke(
new \PHPUnit\Framework\MockObject\Invocation(
- '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this
+ '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}
)
);{return_result}
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl
new file mode 100644
index 0000000..c971b9b
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/proxied_method.tpl
@@ -0,0 +1,37 @@
+
+ {modifier} function {reference}{method_name}({arguments_decl}){return_declaration}
+ {
+ $__phpunit_definedVariables = get_defined_vars();
+ $__phpunit_namedVariadicParameters = [];
+
+ foreach ($__phpunit_definedVariables as $__phpunit_definedVariableName => $__phpunit_definedVariableValue) {
+ if ((new ReflectionParameter([__CLASS__, __FUNCTION__], $__phpunit_definedVariableName))->isVariadic()) {
+ foreach ($__phpunit_definedVariableValue as $__phpunit_key => $__phpunit_namedValue) {
+ if (is_string($__phpunit_key)) {
+ $__phpunit_namedVariadicParameters[$__phpunit_key] = $__phpunit_namedValue;
+ }
+ }
+ }
+ }
+
+ $__phpunit_arguments = [{arguments_call}];
+ $__phpunit_count = func_num_args();
+
+ if ($__phpunit_count > {arguments_count}) {
+ $__phpunit_arguments_tmp = func_get_args();
+
+ for ($__phpunit_i = {arguments_count}; $__phpunit_i < $__phpunit_count; $__phpunit_i++) {
+ $__phpunit_arguments[] = $__phpunit_arguments_tmp[$__phpunit_i];
+ }
+ }
+
+ $__phpunit_arguments = array_merge($__phpunit_arguments, $__phpunit_namedVariadicParameters);
+
+ $this->__phpunit_getInvocationHandler()->invoke(
+ new \PHPUnit\Framework\MockObject\Invocation(
+ '{class_name}', '{method_name}', $__phpunit_arguments, '{return_type}', $this, {clone_arguments}, true
+ )
+ );
+
+ $__phpunit_result = call_user_func_array([$this->__phpunit_state()->proxyTarget(), "{method_name}"], $__phpunit_arguments);{return_result}
+ }
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/test_double_class.tpl b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/test_double_class.tpl
index 5d015e3..3a42895 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/test_double_class.tpl
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/test_double_class.tpl
@@ -1,5 +1,5 @@
declare(strict_types=1);
-{class_declaration}
+{prologue}{class_declaration}
{
-{use_statements}{property_hooks}{methods}}
+{use_statements}{property_hooks}{methods}}{epilogue}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/trait_class.tpl b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/trait_class.tpl
new file mode 100644
index 0000000..a8fe470
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/trait_class.tpl
@@ -0,0 +1,6 @@
+declare(strict_types=1);
+
+{prologue}class {class_name}
+{
+ use {trait_name};
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/wsdl_class.tpl b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/wsdl_class.tpl
new file mode 100644
index 0000000..b3100b4
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/wsdl_class.tpl
@@ -0,0 +1,9 @@
+declare(strict_types=1);
+
+{namespace}class {class_name} extends \SoapClient
+{
+ public function __construct($wsdl, array $options)
+ {
+ parent::__construct('{wsdl}', $options);
+ }
+{methods}}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/wsdl_method.tpl b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/wsdl_method.tpl
new file mode 100644
index 0000000..bb16e76
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Generator/templates/wsdl_method.tpl
@@ -0,0 +1,4 @@
+
+ public function {method_name}({arguments})
+ {
+ }
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php b/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php
index 7c82fe9..e51ae8c 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/MockBuilder.php
@@ -9,15 +9,22 @@
*/
namespace PHPUnit\Framework\MockObject;
+use const DEBUG_BACKTRACE_IGNORE_ARGS;
use function array_merge;
use function assert;
+use function debug_backtrace;
+use function trait_exists;
+use PHPUnit\Event\Facade as EventFacade;
+use PHPUnit\Framework\Exception;
use PHPUnit\Framework\InvalidArgumentException;
+use PHPUnit\Framework\MockObject\Generator\CannotUseAddMethodsException;
use PHPUnit\Framework\MockObject\Generator\ClassIsEnumerationException;
use PHPUnit\Framework\MockObject\Generator\ClassIsFinalException;
use PHPUnit\Framework\MockObject\Generator\DuplicateMethodException;
use PHPUnit\Framework\MockObject\Generator\Generator;
use PHPUnit\Framework\MockObject\Generator\InvalidMethodNameException;
use PHPUnit\Framework\MockObject\Generator\NameAlreadyInUseException;
+use PHPUnit\Framework\MockObject\Generator\OriginalConstructorInvocationRequiredException;
use PHPUnit\Framework\MockObject\Generator\ReflectionException;
use PHPUnit\Framework\MockObject\Generator\RuntimeException;
use PHPUnit\Framework\MockObject\Generator\UnknownTypeException;
@@ -52,10 +59,15 @@ final class MockBuilder
/**
* @var array
*/
- private array $constructorArgs = [];
- private bool $originalConstructor = true;
- private bool $originalClone = true;
- private bool $returnValueGeneration = true;
+ private array $constructorArgs = [];
+ private bool $originalConstructor = true;
+ private bool $originalClone = true;
+ private bool $autoload = true;
+ private bool $cloneArguments = false;
+ private bool $callOriginalMethods = false;
+ private ?object $proxyTarget = null;
+ private bool $allowMockingUnknownTypes = true;
+ private bool $returnValueGeneration = true;
private readonly Generator $generator;
/**
@@ -77,6 +89,7 @@ final class MockBuilder
* @throws InvalidArgumentException
* @throws InvalidMethodNameException
* @throws NameAlreadyInUseException
+ * @throws OriginalConstructorInvocationRequiredException
* @throws ReflectionException
* @throws RuntimeException
* @throws UnknownTypeException
@@ -88,11 +101,17 @@ final class MockBuilder
$object = $this->generator->testDouble(
$this->type,
true,
+ true,
!$this->emptyMethodsArray ? $this->methods : null,
$this->constructorArgs,
$this->mockClassName ?? '',
$this->originalConstructor,
$this->originalClone,
+ $this->autoload,
+ $this->cloneArguments,
+ $this->callOriginalMethods,
+ $this->proxyTarget,
+ $this->allowMockingUnknownTypes,
$this->returnValueGeneration,
);
@@ -104,6 +123,80 @@ final class MockBuilder
return $object;
}
+ /**
+ * Creates a mock object for an abstract class using a fluent interface.
+ *
+ * @throws Exception
+ * @throws ReflectionException
+ * @throws RuntimeException
+ *
+ * @return MockedType&MockObject
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5305
+ */
+ public function getMockForAbstractClass(): MockObject
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::getMockForAbstractClass() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $object = $this->generator->mockObjectForAbstractClass(
+ $this->type,
+ $this->constructorArgs,
+ $this->mockClassName ?? '',
+ $this->originalConstructor,
+ $this->originalClone,
+ $this->autoload,
+ $this->methods,
+ $this->cloneArguments,
+ );
+
+ assert($object instanceof MockObject);
+
+ $this->testCase->registerMockObject($object);
+
+ return $object;
+ }
+
+ /**
+ * Creates a mock object for a trait using a fluent interface.
+ *
+ * @throws Exception
+ * @throws ReflectionException
+ * @throws RuntimeException
+ *
+ * @return MockedType&MockObject
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5306
+ */
+ public function getMockForTrait(): MockObject
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::getMockForTrait() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ assert(trait_exists($this->type));
+
+ $object = $this->generator->mockObjectForTrait(
+ $this->type,
+ $this->constructorArgs,
+ $this->mockClassName ?? '',
+ $this->originalConstructor,
+ $this->originalClone,
+ $this->autoload,
+ $this->methods,
+ $this->cloneArguments,
+ );
+
+ assert($object instanceof MockObject);
+
+ $this->testCase->registerMockObject($object);
+
+ return $object;
+ }
+
/**
* Specifies the subset of methods to mock, requiring each to exist in the class.
*
@@ -147,6 +240,57 @@ final class MockBuilder
return $this;
}
+ /**
+ * Specifies methods that don't exist in the class which you want to mock.
+ *
+ * @param list $methods
+ *
+ * @throws CannotUseAddMethodsException
+ * @throws ReflectionException
+ * @throws RuntimeException
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5320
+ */
+ public function addMethods(array $methods): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::addMethods() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ if (empty($methods)) {
+ $this->emptyMethodsArray = true;
+
+ return $this;
+ }
+
+ try {
+ $reflector = new ReflectionClass($this->type);
+
+ // @codeCoverageIgnoreStart
+ /** @phpstan-ignore catch.neverThrown */
+ } catch (\ReflectionException $e) {
+ throw new ReflectionException(
+ $e->getMessage(),
+ $e->getCode(),
+ $e,
+ );
+ // @codeCoverageIgnoreEnd
+ }
+
+ foreach ($methods as $method) {
+ if ($reflector->hasMethod($method)) {
+ throw new CannotUseAddMethodsException($this->type, $method);
+ }
+ }
+
+ $this->methods = array_merge($this->methods, $methods);
+
+ return $this;
+ }
+
/**
* Specifies the arguments for the constructor.
*
@@ -223,6 +367,186 @@ final class MockBuilder
return $this;
}
+ /**
+ * Disables the use of class autoloading while creating the mock object.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5309
+ *
+ * @codeCoverageIgnore
+ */
+ public function disableAutoload(): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::disableAutoload() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $this->autoload = false;
+
+ return $this;
+ }
+
+ /**
+ * Enables the use of class autoloading while creating the mock object.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5309
+ */
+ public function enableAutoload(): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::enableAutoload() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $this->autoload = true;
+
+ return $this;
+ }
+
+ /**
+ * Disables the cloning of arguments passed to mocked methods.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5315
+ */
+ public function disableArgumentCloning(): self
+ {
+ if (!$this->calledFromTestCase()) {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::disableArgumentCloning() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+ }
+
+ $this->cloneArguments = false;
+
+ return $this;
+ }
+
+ /**
+ * Enables the cloning of arguments passed to mocked methods.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5315
+ */
+ public function enableArgumentCloning(): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::enableArgumentCloning() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $this->cloneArguments = true;
+
+ return $this;
+ }
+
+ /**
+ * Enables the invocation of the original methods.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5307
+ *
+ * @codeCoverageIgnore
+ */
+ public function enableProxyingToOriginalMethods(): self
+ {
+ if (!$this->calledFromTestCase()) {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::enableProxyingToOriginalMethods() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+ }
+
+ $this->callOriginalMethods = true;
+
+ return $this;
+ }
+
+ /**
+ * Disables the invocation of the original methods.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5307
+ */
+ public function disableProxyingToOriginalMethods(): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::disableProxyingToOriginalMethods() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $this->callOriginalMethods = false;
+ $this->proxyTarget = null;
+
+ return $this;
+ }
+
+ /**
+ * Sets the proxy target.
+ *
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5307
+ *
+ * @codeCoverageIgnore
+ */
+ public function setProxyTarget(object $object): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::setProxyTarget() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $this->proxyTarget = $object;
+
+ return $this;
+ }
+
+ /**
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5308
+ */
+ public function allowMockingUnknownTypes(): self
+ {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::allowMockingUnknownTypes() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $this->allowMockingUnknownTypes = true;
+
+ return $this;
+ }
+
+ /**
+ * @return $this
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5308
+ */
+ public function disallowMockingUnknownTypes(): self
+ {
+ if (!$this->calledFromTestCase()) {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->testCase->valueObjectForEvents(),
+ 'MockBuilder::disallowMockingUnknownTypes() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+ }
+
+ $this->allowMockingUnknownTypes = false;
+
+ return $this;
+ }
+
/**
* @return $this
*/
@@ -242,4 +566,11 @@ final class MockBuilder
return $this;
}
+
+ private function calledFromTestCase(): bool
+ {
+ $caller = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, limit: 3)[2];
+
+ return isset($caller['class']) && $caller['class'] === TestCase::class;
+ }
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ErrorCloneMethod.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ErrorCloneMethod.php
new file mode 100644
index 0000000..0aaf132
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/ErrorCloneMethod.php
@@ -0,0 +1,25 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This trait is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @codeCoverageIgnore
+ */
+trait ErrorCloneMethod
+{
+ public function __clone(): void
+ {
+ throw new CannotCloneTestDoubleForReadonlyClassException;
+ }
+}
diff --git a/vendor/phpunit/php-code-coverage/src/Target/ValidationSuccess.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php
similarity index 53%
rename from vendor/phpunit/php-code-coverage/src/Target/ValidationSuccess.php
rename to vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php
index 1dffd0d..7239221 100644
--- a/vendor/phpunit/php-code-coverage/src/Target/ValidationSuccess.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsMockObject.php
@@ -1,22 +1,22 @@
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
-namespace SebastianBergmann\CodeCoverage\Test\Target;
+namespace PHPUnit\Framework\MockObject;
/**
- * @immutable
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*
- * @no-named-arguments Parameter names are not covered by the backward compatibility promise for phpunit/php-code-coverage
+ * @internal This trait is not covered by the backward compatibility promise for PHPUnit
*/
-final readonly class ValidationSuccess extends ValidationResult
+trait GeneratedAsMockObject
{
- public function isSuccess(): true
+ public function __phpunit_wasGeneratedAsMockObject(): true
{
return true;
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php
new file mode 100644
index 0000000..09b9227
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/GeneratedAsTestStub.php
@@ -0,0 +1,23 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This trait is not covered by the backward compatibility promise for PHPUnit
+ */
+trait GeneratedAsTestStub
+{
+ public function __phpunit_wasGeneratedAsMockObject(): false
+ {
+ return false;
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php
index 35833a6..bed26d9 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/Method.php
@@ -9,10 +9,10 @@
*/
namespace PHPUnit\Framework\MockObject;
-use PHPUnit\Framework\Constraint\Constraint;
+use function call_user_func_array;
+use function func_get_args;
use PHPUnit\Framework\MockObject\Builder\InvocationMocker;
use PHPUnit\Framework\MockObject\Rule\AnyInvokedCount;
-use PHPUnit\Framework\MockObject\Runtime\PropertyHook;
/**
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
@@ -23,11 +23,13 @@ trait Method
{
abstract public function __phpunit_getInvocationHandler(): InvocationHandler;
- public function method(Constraint|PropertyHook|string $constraint): InvocationMocker
+ public function method(): InvocationMocker
{
- return $this
- ->__phpunit_getInvocationHandler()
- ->expects(new AnyInvokedCount)
- ->method($constraint);
+ $expects = $this->__phpunit_getInvocationHandler()->expects(new AnyInvokedCount);
+
+ return call_user_func_array(
+ [$expects, 'method'],
+ func_get_args(),
+ );
}
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php
index 6589d50..735a991 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MockObjectApi.php
@@ -9,6 +9,10 @@
*/
namespace PHPUnit\Framework\MockObject;
+use function assert;
+use PHPUnit\Event\Code\NoTestCaseObjectOnCallStackException;
+use PHPUnit\Event\Code\TestMethodBuilder;
+use PHPUnit\Event\Facade as EventFacade;
use PHPUnit\Framework\MockObject\Builder\InvocationMocker as InvocationMockerBuilder;
use PHPUnit\Framework\MockObject\Rule\InvocationOrder;
@@ -43,6 +47,29 @@ trait MockObjectApi
public function expects(InvocationOrder $matcher): InvocationMockerBuilder
{
+ assert($this instanceof StubInternal);
+
+ if (!$this->__phpunit_wasGeneratedAsMockObject()) {
+ $message = 'Expectations configured on test doubles that are created as test stubs are no longer verified since PHPUnit 10. Test doubles that are created as test stubs will no longer have the expects() method in PHPUnit 12. Update your test code to use createMock() instead of createStub(), for example.';
+
+ try {
+ $test = TestMethodBuilder::fromCallStack();
+
+ if (!$this->__phpunit_state()->wasDeprecationAlreadyEmittedFor($test->id())) {
+ EventFacade::emitter()->testTriggeredPhpunitDeprecation(
+ $test,
+ $message,
+ );
+
+ $this->__phpunit_state()->deprecationWasEmittedFor($test->id());
+ }
+ // @codeCoverageIgnoreStart
+ } catch (NoTestCaseObjectOnCallStackException) {
+ EventFacade::emitter()->testRunnerTriggeredDeprecation($message);
+ // @codeCoverageIgnoreEnd
+ }
+ }
+
return $this->__phpunit_getInvocationHandler()->expects($matcher);
}
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MutableStubApi.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MutableStubApi.php
new file mode 100644
index 0000000..3d3cc8e
--- /dev/null
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/MutableStubApi.php
@@ -0,0 +1,39 @@
+
+ *
+ * For the full copyright and license information, please view the LICENSE
+ * file that was distributed with this source code.
+ */
+namespace PHPUnit\Framework\MockObject;
+
+/**
+ * @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
+ *
+ * @internal This trait is not covered by the backward compatibility promise for PHPUnit
+ *
+ * @codeCoverageIgnore
+ */
+trait MutableStubApi
+{
+ private TestDoubleState $__phpunit_state;
+
+ public function __phpunit_state(): TestDoubleState
+ {
+ return $this->__phpunit_state;
+ }
+
+ /** @noinspection MagicMethodsValidityInspection */
+ public function __phpunit_getInvocationHandler(): InvocationHandler
+ {
+ return $this->__phpunit_state()->invocationHandler();
+ }
+
+ /** @noinspection MagicMethodsValidityInspection */
+ public function __phpunit_unsetInvocationMocker(): void
+ {
+ $this->__phpunit_state()->unsetInvocationHandler();
+ }
+}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/TestDoubleState.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/TestDoubleState.php
index 93b10c1..b4547b2 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/TestDoubleState.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Api/TestDoubleState.php
@@ -9,6 +9,8 @@
*/
namespace PHPUnit\Framework\MockObject;
+use function assert;
+
/**
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*
@@ -16,12 +18,18 @@ namespace PHPUnit\Framework\MockObject;
*/
final class TestDoubleState
{
+ /**
+ * @var array
+ */
+ private static array $deprecationEmittedForTest = [];
+
/**
* @var list
*/
private readonly array $configurableMethods;
private readonly bool $generateReturnValues;
private ?InvocationHandler $invocationHandler = null;
+ private ?object $proxyTarget = null;
/**
* @param list $configurableMethods
@@ -60,6 +68,34 @@ final class TestDoubleState
$this->invocationHandler = null;
}
+ public function setProxyTarget(object $proxyTarget): void
+ {
+ $this->proxyTarget = $proxyTarget;
+ }
+
+ public function proxyTarget(): object
+ {
+ assert($this->proxyTarget !== null);
+
+ return $this->proxyTarget;
+ }
+
+ /**
+ * @param non-empty-string $testId
+ */
+ public function deprecationWasEmittedFor(string $testId): void
+ {
+ self::$deprecationEmittedForTest[$testId] = true;
+ }
+
+ /**
+ * @param non-empty-string $testId
+ */
+ public function wasDeprecationAlreadyEmittedFor(string $testId): bool
+ {
+ return isset(self::$deprecationEmittedForTest[$testId]);
+ }
+
/**
* @return list
*/
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObject.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObject.php
index 795694d..4096d73 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObject.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/MockObject.php
@@ -13,6 +13,8 @@ use PHPUnit\Framework\MockObject\Builder\InvocationMocker;
use PHPUnit\Framework\MockObject\Rule\InvocationOrder;
/**
+ * @method InvocationMocker method($constraint)
+ *
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*/
interface MockObject extends Stub
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/Stub.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/Stub.php
index dbbb198..96f84d2 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/Stub.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/Stub.php
@@ -9,14 +9,13 @@
*/
namespace PHPUnit\Framework\MockObject;
-use PHPUnit\Framework\Constraint\Constraint;
use PHPUnit\Framework\MockObject\Builder\InvocationStubber;
-use PHPUnit\Framework\MockObject\Runtime\PropertyHook;
/**
+ * @method InvocationStubber method($constraint)
+ *
* @no-named-arguments Parameter names are not covered by the backward compatibility promise for PHPUnit
*/
interface Stub
{
- public function method(Constraint|PropertyHook|string $constraint): InvocationStubber;
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php
index 6e428ea..ff29a5d 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Interface/StubInternal.php
@@ -21,4 +21,6 @@ interface StubInternal extends Stub
public function __phpunit_getInvocationHandler(): InvocationHandler;
public function __phpunit_unsetInvocationMocker(): void;
+
+ public function __phpunit_wasGeneratedAsMockObject(): bool;
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php
index 8e79232..faf34b4 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/Invocation.php
@@ -11,11 +11,13 @@ namespace PHPUnit\Framework\MockObject;
use function array_map;
use function implode;
+use function is_object;
use function sprintf;
use function str_starts_with;
use function strtolower;
use function substr;
use PHPUnit\Framework\SelfDescribing;
+use PHPUnit\Util\Cloner;
use PHPUnit\Util\Exporter;
/**
@@ -41,6 +43,7 @@ final readonly class Invocation implements SelfDescribing
private array $parameters;
private string $returnType;
private bool $isReturnTypeNullable;
+ private bool $proxiedCall;
private MockObjectInternal|StubInternal $object;
/**
@@ -48,12 +51,12 @@ final readonly class Invocation implements SelfDescribing
* @param non-empty-string $methodName
* @param array $parameters
*/
- public function __construct(string $className, string $methodName, array $parameters, string $returnType, MockObjectInternal|StubInternal $object)
+ public function __construct(string $className, string $methodName, array $parameters, string $returnType, MockObjectInternal|StubInternal $object, bool $cloneObjects = false, bool $proxiedCall = false)
{
- $this->className = $className;
- $this->methodName = $methodName;
- $this->parameters = $parameters;
- $this->object = $object;
+ $this->className = $className;
+ $this->methodName = $methodName;
+ $this->object = $object;
+ $this->proxiedCall = $proxiedCall;
if (strtolower($methodName) === '__tostring') {
$returnType = 'string';
@@ -67,6 +70,20 @@ final readonly class Invocation implements SelfDescribing
}
$this->returnType = $returnType;
+
+ if (!$cloneObjects) {
+ $this->parameters = $parameters;
+
+ return;
+ }
+
+ foreach ($parameters as $key => $value) {
+ if (is_object($value)) {
+ $parameters[$key] = Cloner::clone($value);
+ }
+ }
+
+ $this->parameters = $parameters;
}
/**
@@ -105,7 +122,7 @@ final readonly class Invocation implements SelfDescribing
);
}
- if ($this->isReturnTypeNullable) {
+ if ($this->isReturnTypeNullable || $this->proxiedCall) {
return null;
}
diff --git a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php
index 2dcef0c..fbddc07 100644
--- a/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php
+++ b/vendor/phpunit/phpunit/src/Framework/MockObject/Runtime/ReturnValueGenerator.php
@@ -218,7 +218,7 @@ final class ReturnValueGenerator
private function testDoubleFor(string $type, string $className, string $methodName): Stub
{
try {
- return (new Generator)->testDouble($type, false, [], [], '', false);
+ return (new Generator)->testDouble($type, false, false, [], [], '', false);
// @codeCoverageIgnoreStart
} catch (Throwable $t) {
throw new RuntimeException(
diff --git a/vendor/phpunit/phpunit/src/Framework/TestBuilder.php b/vendor/phpunit/phpunit/src/Framework/TestBuilder.php
index dba8e60..5c3effc 100644
--- a/vendor/phpunit/phpunit/src/Framework/TestBuilder.php
+++ b/vendor/phpunit/phpunit/src/Framework/TestBuilder.php
@@ -76,7 +76,7 @@ final readonly class TestBuilder
/**
* @param non-empty-string $methodName
* @param class-string $className
- * @param array> $data
+ * @param array> $data
* @param array{backupGlobals: ?bool, backupGlobalsExcludeList: list, backupStaticProperties: ?bool, backupStaticPropertiesExcludeList: array>} $backupSettings
* @param list $groups
*/
diff --git a/vendor/phpunit/phpunit/src/Framework/TestCase.php b/vendor/phpunit/phpunit/src/Framework/TestCase.php
index 4a9ec98..a237b74 100644
--- a/vendor/phpunit/phpunit/src/Framework/TestCase.php
+++ b/vendor/phpunit/phpunit/src/Framework/TestCase.php
@@ -9,12 +9,21 @@
*/
namespace PHPUnit\Framework;
+use const LC_ALL;
+use const LC_COLLATE;
+use const LC_CTYPE;
+use const LC_MONETARY;
+use const LC_NUMERIC;
+use const LC_TIME;
+use const PATHINFO_FILENAME;
use const PHP_EOL;
+use const PHP_URL_PATH;
use function array_keys;
use function array_merge;
use function array_reverse;
use function array_values;
use function assert;
+use function basename;
use function chdir;
use function class_exists;
use function clearstatcache;
@@ -25,6 +34,7 @@ use function explode;
use function getcwd;
use function implode;
use function in_array;
+use function ini_set;
use function is_array;
use function is_callable;
use function is_int;
@@ -37,11 +47,15 @@ use function ob_get_clean;
use function ob_get_contents;
use function ob_get_level;
use function ob_start;
+use function parse_url;
+use function pathinfo;
use function preg_match;
+use function preg_replace;
use function restore_error_handler;
use function restore_exception_handler;
use function set_error_handler;
use function set_exception_handler;
+use function setlocale;
use function sprintf;
use function str_contains;
use function trim;
@@ -65,7 +79,13 @@ use PHPUnit\Framework\MockObject\Rule\InvokedAtMostCount as InvokedAtMostCountMa
use PHPUnit\Framework\MockObject\Rule\InvokedCount;
use PHPUnit\Framework\MockObject\Rule\InvokedCount as InvokedCountMatcher;
use PHPUnit\Framework\MockObject\Stub;
+use PHPUnit\Framework\MockObject\Stub\ConsecutiveCalls as ConsecutiveCallsStub;
use PHPUnit\Framework\MockObject\Stub\Exception as ExceptionStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnArgument as ReturnArgumentStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnCallback as ReturnCallbackStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnSelf as ReturnSelfStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnStub;
+use PHPUnit\Framework\MockObject\Stub\ReturnValueMap as ReturnValueMapStub;
use PHPUnit\Framework\TestSize\TestSize;
use PHPUnit\Framework\TestStatus\TestStatus;
use PHPUnit\Metadata\Api\Groups;
@@ -98,7 +118,8 @@ use Throwable;
*/
abstract class TestCase extends Assert implements Reorderable, SelfDescribing, Test
{
- private ?bool $backupGlobals = null;
+ private const LOCALE_CATEGORIES = [LC_ALL, LC_COLLATE, LC_CTYPE, LC_MONETARY, LC_NUMERIC, LC_TIME];
+ private ?bool $backupGlobals = null;
/**
* @var list
@@ -161,6 +182,16 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
*/
private array $dependencyInput = [];
+ /**
+ * @var array
+ */
+ private array $iniSettings = [];
+
+ /**
+ * @var array
+ */
+ private array $locale = [];
+
/**
* @var list
*/
@@ -390,8 +421,6 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
/**
* @internal This method is not covered by the backward compatibility promise for PHPUnit
- *
- * @phpstan-assert-if-true non-empty-string $this->output()
*/
final public function hasUnexpectedOutput(): bool
{
@@ -623,6 +652,8 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
$this->restoreGlobalErrorExceptionHandlers();
$this->restoreGlobalState();
$this->unregisterCustomComparators();
+ $this->cleanupIniSettings();
+ $this->cleanupLocaleSettings();
libxml_clear_errors();
$this->testValueObjectForEvents = null;
@@ -980,11 +1011,110 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
return new InvokedAtMostCountMatcher($allowedInvocations);
}
+ /**
+ * @deprecated Use $double->willReturn()
instead of $double->will($this->returnValue())
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5423
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function returnValue(mixed $value): ReturnStub
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'returnValue() is deprecated and will be removed in PHPUnit 12. Use $double->willReturn() instead of $double->will($this->returnValue())',
+ );
+
+ return new ReturnStub($value);
+ }
+
+ /**
+ * @param array $valueMap
+ *
+ * @deprecated Use $double->willReturnMap()
instead of $double->will($this->returnValueMap())
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5423
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function returnValueMap(array $valueMap): ReturnValueMapStub
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'returnValueMap() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnMap() instead of $double->will($this->returnValueMap())',
+ );
+
+ return new ReturnValueMapStub($valueMap);
+ }
+
+ /**
+ * @deprecated Use $double->willReturnArgument()
instead of $double->will($this->returnArgument())
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5423
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function returnArgument(int $argumentIndex): ReturnArgumentStub
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'returnArgument() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnArgument() instead of $double->will($this->returnArgument())',
+ );
+
+ return new ReturnArgumentStub($argumentIndex);
+ }
+
+ /**
+ * @deprecated Use $double->willReturnCallback()
instead of $double->will($this->returnCallback())
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5423
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function returnCallback(callable $callback): ReturnCallbackStub
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'returnCallback() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnCallback() instead of $double->will($this->returnCallback())',
+ );
+
+ return new ReturnCallbackStub($callback);
+ }
+
+ /**
+ * @deprecated Use $double->willReturnSelf()
instead of $double->will($this->returnSelf())
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5423
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function returnSelf(): ReturnSelfStub
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'returnSelf() is deprecated and will be removed in PHPUnit 12. Use $double->willReturnSelf() instead of $double->will($this->returnSelf())',
+ );
+
+ return new ReturnSelfStub;
+ }
+
final protected function throwException(Throwable $exception): ExceptionStub
{
return new ExceptionStub($exception);
}
+ /**
+ * @deprecated Use $double->willReturn()
instead of $double->will($this->onConsecutiveCalls())
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5423
+ * @see https://github.com/sebastianbergmann/phpunit/issues/5425
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function onConsecutiveCalls(mixed ...$arguments): ConsecutiveCallsStub
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'onConsecutiveCalls() is deprecated and will be removed in PHPUnit 12. Use $double->willReturn() instead of $double->will($this->onConsecutiveCalls())',
+ );
+
+ return new ConsecutiveCallsStub($arguments);
+ }
+
final protected function getActualOutputForAssertion(): string
{
$this->outputRetrievedForAssertion = true;
@@ -1118,12 +1248,89 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
return $testResult;
}
+ /**
+ * This method is a wrapper for the ini_set() function that automatically
+ * resets the modified php.ini setting to its original value after the
+ * test is run.
+ *
+ * @throws Exception
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5214
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function iniSet(string $varName, string $newValue): void
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'iniSet() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $currentValue = ini_set($varName, $newValue);
+
+ if ($currentValue !== false) {
+ $this->iniSettings[$varName] = $currentValue;
+ } else {
+ throw new Exception(
+ sprintf(
+ 'INI setting "%s" could not be set to "%s".',
+ $varName,
+ $newValue,
+ ),
+ );
+ }
+ }
+
+ /**
+ * This method is a wrapper for the setlocale() function that automatically
+ * resets the locale to its original value after the test is run.
+ *
+ * @throws Exception
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5216
+ *
+ * @codeCoverageIgnore
+ */
+ final protected function setLocale(mixed ...$arguments): void
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'setLocale() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ if (count($arguments) < 2) {
+ throw new Exception;
+ }
+
+ [$category, $locale] = $arguments;
+
+ if (!in_array($category, self::LOCALE_CATEGORIES, true)) {
+ throw new Exception;
+ }
+
+ if (!is_array($locale) && !is_string($locale)) {
+ throw new Exception;
+ }
+
+ $this->locale[$category] = setlocale($category, '0');
+
+ $result = setlocale(...$arguments);
+
+ if ($result === false) {
+ throw new Exception(
+ 'The locale functionality is not implemented on your platform, ' .
+ 'the specified locale does not exist or the category name is ' .
+ 'invalid.',
+ );
+ }
+ }
+
/**
* Creates a mock object for the specified interface or class.
*
* @template RealInstanceType of object
*
- * @param class-string $type
+ * @param class-string $originalClassName
*
* @throws InvalidArgumentException
* @throws MockObjectException
@@ -1131,22 +1338,25 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
*
* @return MockObject&RealInstanceType
*/
- final protected function createMock(string $type): MockObject
+ final protected function createMock(string $originalClassName): MockObject
{
$mock = (new MockGenerator)->testDouble(
- $type,
+ $originalClassName,
+ true,
true,
callOriginalConstructor: false,
callOriginalClone: false,
+ cloneArguments: false,
+ allowMockingUnknownTypes: false,
returnValueGeneration: self::generateReturnValuesForTestDoubles(),
);
- assert($mock instanceof $type);
+ assert($mock instanceof $originalClassName);
assert($mock instanceof MockObject);
$this->registerMockObject($mock);
- Event\Facade::emitter()->testCreatedMockObject($type);
+ Event\Facade::emitter()->testCreatedMockObject($originalClassName);
return $mock;
}
@@ -1178,7 +1388,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
*
* @template RealInstanceType of object
*
- * @param class-string $type
+ * @param class-string $originalClassName
* @param array $configuration
*
* @throws InvalidArgumentException
@@ -1187,9 +1397,9 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
*
* @return MockObject&RealInstanceType
*/
- final protected function createConfiguredMock(string $type, array $configuration): MockObject
+ final protected function createConfiguredMock(string $originalClassName, array $configuration): MockObject
{
- $o = $this->createMock($type);
+ $o = $this->createMock($originalClassName);
foreach ($configuration as $method => $return) {
$o->method($method)->willReturn($return);
@@ -1201,7 +1411,7 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
/**
* Creates a partial mock object for the specified interface or class.
*
- * @param class-string $type
+ * @param class-string $originalClassName
* @param list $methods
*
* @template RealInstanceType of object
@@ -1211,11 +1421,13 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
*
* @return MockObject&RealInstanceType
*/
- final protected function createPartialMock(string $type, array $methods): MockObject
+ final protected function createPartialMock(string $originalClassName, array $methods): MockObject
{
- $mockBuilder = $this->getMockBuilder($type)
+ $mockBuilder = $this->getMockBuilder($originalClassName)
->disableOriginalConstructor()
->disableOriginalClone()
+ ->disableArgumentCloning()
+ ->disallowMockingUnknownTypes()
->onlyMethods($methods);
if (!self::generateReturnValuesForTestDoubles()) {
@@ -1225,13 +1437,220 @@ abstract class TestCase extends Assert implements Reorderable, SelfDescribing, T
$partialMock = $mockBuilder->getMock();
Event\Facade::emitter()->testCreatedPartialMockObject(
- $type,
+ $originalClassName,
...$methods,
);
return $partialMock;
}
+ /**
+ * Creates a test proxy for the specified class.
+ *
+ * @template RealInstanceType of object
+ *
+ * @param class-string $originalClassName
+ * @param array $constructorArguments
+ *
+ * @throws InvalidArgumentException
+ * @throws MockObjectException
+ *
+ * @return MockObject&RealInstanceType
+ *
+ * @deprecated https://github.com/sebastianbergmann/phpunit/issues/5240
+ */
+ final protected function createTestProxy(string $originalClassName, array $constructorArguments = []): MockObject
+ {
+ Event\Facade::emitter()->testTriggeredPhpunitDeprecation(
+ $this->valueObjectForEvents(),
+ 'createTestProxy() is deprecated and will be removed in PHPUnit 12 without replacement.',
+ );
+
+ $testProxy = $this->getMockBuilder($originalClassName)
+ ->setConstructorArgs($constructorArguments)
+ ->enableProxyingToOriginalMethods()
+ ->getMock();
+
+ Event\Facade::emitter()->testCreatedTestProxy(
+ $originalClassName,
+ $constructorArguments,
+ );
+
+ return $testProxy;
+ }
+
+ /**
+ * Creates a mock object for the specified abstract class with all abstract
+ * methods of the class mocked. Concrete methods are not mocked by default.
+ * To mock concrete methods, use the 7th parameter ($mockedMethods).
+ *
+ * @template RealInstanceType of object
+ *
+ * @param class-string