From 0c65e71cb0114202a5646edf3d43e9b022d30892 Mon Sep 17 00:00:00 2001 From: Gennadi McKelvey Date: Sun, 4 Feb 2024 13:20:17 +0100 Subject: [PATCH] update --- src/Contract/Config/AnalyserConfig.php | 2 +- .../Config/Collector/TagValueRegexConfig.php | 2 +- src/Core/Ast/AstMap/AstMap.php | 2 +- .../AstMap/ClassLike/ClassLikeReference.php | 2 +- vendor/composer/installed.json | 56 +++++++++---------- vendor/composer/installed.php | 2 +- vendor/symfony/console/Application.php | 6 +- .../console/CI/GithubActionReporter.php | 8 +-- vendor/symfony/console/Command/Command.php | 8 +-- .../symfony/console/Command/LazyCommand.php | 6 +- .../symfony/console/Command/LockableTrait.php | 2 +- .../console/Command/TraceableCommand.php | 6 +- .../DataCollector/CommandDataCollector.php | 2 +- .../Descriptor/ApplicationDescription.php | 2 +- .../console/Descriptor/XmlDescriptor.php | 2 +- .../console/Event/ConsoleErrorEvent.php | 2 +- .../console/EventListener/ErrorListener.php | 2 +- .../Exception/CommandNotFoundException.php | 2 +- .../Formatter/NullOutputFormatterStyle.php | 4 +- .../Formatter/OutputFormatterStyle.php | 6 +- .../Formatter/OutputFormatterStyleStack.php | 4 +- vendor/symfony/console/Helper/Dumper.php | 2 +- vendor/symfony/console/Helper/Helper.php | 4 +- vendor/symfony/console/Helper/HelperSet.php | 2 +- .../symfony/console/Helper/ProcessHelper.php | 6 +- vendor/symfony/console/Helper/ProgressBar.php | 4 +- .../console/Helper/ProgressIndicator.php | 2 +- vendor/symfony/console/Helper/Table.php | 4 +- vendor/symfony/console/Helper/TableStyle.php | 6 +- vendor/symfony/console/Input/ArgvInput.php | 2 +- vendor/symfony/console/Input/ArrayInput.php | 2 +- vendor/symfony/console/Input/Input.php | 2 +- .../symfony/console/Input/InputArgument.php | 4 +- vendor/symfony/console/Input/InputOption.php | 10 ++-- .../symfony/console/Output/ConsoleOutput.php | 2 +- .../console/Output/ConsoleSectionOutput.php | 2 +- vendor/symfony/console/Output/Output.php | 2 +- .../symfony/console/Output/StreamOutput.php | 32 ++++++++++- .../console/Output/TrimmedBufferOutput.php | 2 +- vendor/symfony/console/Question/Question.php | 6 +- .../console/SingleCommandApplication.php | 2 +- .../symfony/console/Style/StyleInterface.php | 4 +- vendor/symfony/console/Style/SymfonyStyle.php | 10 ++-- .../Debug/TraceableEventDispatcher.php | 14 ++--- .../Debug/WrappedListener.php | 2 +- .../event-dispatcher/EventDispatcher.php | 6 +- .../EventDispatcherInterface.php | 4 +- .../ImmutableEventDispatcher.php | 6 +- .../Exception/FileNotFoundException.php | 2 +- .../filesystem/Exception/IOException.php | 2 +- vendor/symfony/filesystem/Filesystem.php | 4 +- vendor/symfony/filesystem/Path.php | 2 +- vendor/symfony/string/AbstractString.php | 10 ++-- .../symfony/string/AbstractUnicodeString.php | 2 +- vendor/symfony/string/ByteString.php | 14 ++--- vendor/symfony/string/CodePointString.php | 6 +- .../string/Inflector/EnglishInflector.php | 4 ++ vendor/symfony/string/LazyString.php | 2 +- .../symfony/string/Slugger/AsciiSlugger.php | 4 +- .../string/Slugger/SluggerInterface.php | 2 +- vendor/symfony/string/UnicodeString.php | 8 +-- 61 files changed, 183 insertions(+), 151 deletions(-) diff --git a/src/Contract/Config/AnalyserConfig.php b/src/Contract/Config/AnalyserConfig.php index 3b4085ff3..caea4f9ae 100644 --- a/src/Contract/Config/AnalyserConfig.php +++ b/src/Contract/Config/AnalyserConfig.php @@ -13,7 +13,7 @@ private function __construct() { } /** @param ?array $types */ - public static function create(array $types = null, string $internalTag = null) : self + public static function create(?array $types = null, ?string $internalTag = null) : self { $analyser = new self(); $types ??= [\Qossmic\Deptrac\Contract\Config\EmitterType::CLASS_TOKEN, \Qossmic\Deptrac\Contract\Config\EmitterType::FUNCTION_TOKEN]; diff --git a/src/Contract/Config/Collector/TagValueRegexConfig.php b/src/Contract/Config/Collector/TagValueRegexConfig.php index 35e40bc64..da352a707 100644 --- a/src/Contract/Config/Collector/TagValueRegexConfig.php +++ b/src/Contract/Config/Collector/TagValueRegexConfig.php @@ -10,7 +10,7 @@ final class TagValueRegexConfig extends CollectorConfig public function __construct(private string $tag, private ?string $value = null) { } - public static function create(string $tag, string $regexpr = null) : self + public static function create(string $tag, ?string $regexpr = null) : self { return new self($tag, $regexpr); } diff --git a/src/Core/Ast/AstMap/AstMap.php b/src/Core/Ast/AstMap/AstMap.php index d370af0c5..74ea2777d 100644 --- a/src/Core/Ast/AstMap/AstMap.php +++ b/src/Core/Ast/AstMap/AstMap.php @@ -87,7 +87,7 @@ public function getClassInherits(ClassLikeToken $classLikeName) : iterable * * @return iterable */ - private function recursivelyResolveDependencies(\Qossmic\Deptrac\Core\Ast\AstMap\AstInherit $inheritDependency, ArrayObject $alreadyResolved = null, SplStack $pathStack = null) : iterable + private function recursivelyResolveDependencies(\Qossmic\Deptrac\Core\Ast\AstMap\AstInherit $inheritDependency, ?ArrayObject $alreadyResolved = null, ?SplStack $pathStack = null) : iterable { $alreadyResolved ??= new ArrayObject(); /** @var ArrayObject $alreadyResolved */ diff --git a/src/Core/Ast/AstMap/ClassLike/ClassLikeReference.php b/src/Core/Ast/AstMap/ClassLike/ClassLikeReference.php index 127b30f16..3a17daa08 100644 --- a/src/Core/Ast/AstMap/ClassLike/ClassLikeReference.php +++ b/src/Core/Ast/AstMap/ClassLike/ClassLikeReference.php @@ -18,7 +18,7 @@ class ClassLikeReference extends TaggedTokenReference * @param DependencyToken[] $dependencies * @param array> $tags */ - public function __construct(private readonly \Qossmic\Deptrac\Core\Ast\AstMap\ClassLike\ClassLikeToken $classLikeName, \Qossmic\Deptrac\Core\Ast\AstMap\ClassLike\ClassLikeType $classLikeType = null, public readonly array $inherits = [], public readonly array $dependencies = [], public readonly array $tags = [], private readonly ?FileReference $fileReference = null) + public function __construct(private readonly \Qossmic\Deptrac\Core\Ast\AstMap\ClassLike\ClassLikeToken $classLikeName, ?\Qossmic\Deptrac\Core\Ast\AstMap\ClassLike\ClassLikeType $classLikeType = null, public readonly array $inherits = [], public readonly array $dependencies = [], public readonly array $tags = [], private readonly ?FileReference $fileReference = null) { parent::__construct($tags); $this->type = $classLikeType ?? \Qossmic\Deptrac\Core\Ast\AstMap\ClassLike\ClassLikeType::TYPE_CLASSLIKE; diff --git a/vendor/composer/installed.json b/vendor/composer/installed.json index b339201d8..41d9b9d83 100644 --- a/vendor/composer/installed.json +++ b/vendor/composer/installed.json @@ -768,17 +768,17 @@ }, { "name": "symfony\/console", - "version": "v6.4.2", - "version_normalized": "6.4.2.0", + "version": "v6.4.3", + "version_normalized": "6.4.3.0", "source": { "type": "git", "url": "https:\/\/github.com\/symfony\/console.git", - "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625" + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/symfony\/console\/zipball\/0254811a143e6bc6c8deea08b589a7e68a37f625", - "reference": "0254811a143e6bc6c8deea08b589a7e68a37f625", + "url": "https:\/\/api.github.com\/repos\/symfony\/console\/zipball\/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", "shasum": "" }, "require": { @@ -811,7 +811,7 @@ "symfony\/stopwatch": "^5.4|^6.0|^7.0", "symfony\/var-dumper": "^5.4|^6.0|^7.0" }, - "time": "2023-12-10T16:15:48+00:00", + "time": "2024-01-23T14:51:35+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -845,7 +845,7 @@ "terminal" ], "support": { - "source": "https:\/\/github.com\/symfony\/console\/tree\/v6.4.2" + "source": "https:\/\/github.com\/symfony\/console\/tree\/v6.4.3" }, "funding": [ { @@ -1019,17 +1019,17 @@ }, { "name": "symfony\/event-dispatcher", - "version": "v6.4.2", - "version_normalized": "6.4.2.0", + "version": "v6.4.3", + "version_normalized": "6.4.3.0", "source": { "type": "git", "url": "https:\/\/github.com\/symfony\/event-dispatcher.git", - "reference": "e95216850555cd55e71b857eb9d6c2674124603a" + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/symfony\/event-dispatcher\/zipball\/e95216850555cd55e71b857eb9d6c2674124603a", - "reference": "e95216850555cd55e71b857eb9d6c2674124603a", + "url": "https:\/\/api.github.com\/repos\/symfony\/event-dispatcher\/zipball\/ae9d3a6f3003a6caf56acd7466d8d52378d44fef", + "reference": "ae9d3a6f3003a6caf56acd7466d8d52378d44fef", "shasum": "" }, "require": { @@ -1054,7 +1054,7 @@ "symfony\/service-contracts": "^2.5|^3", "symfony\/stopwatch": "^5.4|^6.0|^7.0" }, - "time": "2023-12-27T22:16:42+00:00", + "time": "2024-01-23T14:51:35+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1082,7 +1082,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https:\/\/symfony.com", "support": { - "source": "https:\/\/github.com\/symfony\/event-dispatcher\/tree\/v6.4.2" + "source": "https:\/\/github.com\/symfony\/event-dispatcher\/tree\/v6.4.3" }, "funding": [ { @@ -1181,17 +1181,17 @@ }, { "name": "symfony\/filesystem", - "version": "v6.4.0", - "version_normalized": "6.4.0.0", + "version": "v6.4.3", + "version_normalized": "6.4.3.0", "source": { "type": "git", "url": "https:\/\/github.com\/symfony\/filesystem.git", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/symfony\/filesystem\/zipball\/952a8cb588c3bc6ce76f6023000fb932f16a6e59", - "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "url": "https:\/\/api.github.com\/repos\/symfony\/filesystem\/zipball\/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", "shasum": "" }, "require": { @@ -1199,7 +1199,7 @@ "symfony\/polyfill-ctype": "~1.8", "symfony\/polyfill-mbstring": "~1.8" }, - "time": "2023-07-26T17:27:13+00:00", + "time": "2024-01-23T14:51:35+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1227,7 +1227,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https:\/\/symfony.com", "support": { - "source": "https:\/\/github.com\/symfony\/filesystem\/tree\/v6.4.0" + "source": "https:\/\/github.com\/symfony\/filesystem\/tree\/v6.4.3" }, "funding": [ { @@ -1741,17 +1741,17 @@ }, { "name": "symfony\/string", - "version": "v6.4.2", - "version_normalized": "6.4.2.0", + "version": "v6.4.3", + "version_normalized": "6.4.3.0", "source": { "type": "git", "url": "https:\/\/github.com\/symfony\/string.git", - "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc" + "reference": "7a14736fb179876575464e4658fce0c304e8c15b" }, "dist": { "type": "zip", - "url": "https:\/\/api.github.com\/repos\/symfony\/string\/zipball\/7cb80bc10bfcdf6b5492741c0b9357dac66940bc", - "reference": "7cb80bc10bfcdf6b5492741c0b9357dac66940bc", + "url": "https:\/\/api.github.com\/repos\/symfony\/string\/zipball\/7a14736fb179876575464e4658fce0c304e8c15b", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b", "shasum": "" }, "require": { @@ -1771,7 +1771,7 @@ "symfony\/translation-contracts": "^2.5|^3.0", "symfony\/var-exporter": "^5.4|^6.0|^7.0" }, - "time": "2023-12-10T16:15:48+00:00", + "time": "2024-01-25T09:26:29+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -1810,7 +1810,7 @@ "utf8" ], "support": { - "source": "https:\/\/github.com\/symfony\/string\/tree\/v6.4.2" + "source": "https:\/\/github.com\/symfony\/string\/tree\/v6.4.3" }, "funding": [ { diff --git a/vendor/composer/installed.php b/vendor/composer/installed.php index b830705ee..65ede873f 100644 --- a/vendor/composer/installed.php +++ b/vendor/composer/installed.php @@ -2,4 +2,4 @@ namespace DEPTRAC_202402; -return array('root' => array('name' => 'qossmic/deptrac', 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '5650c4fa5acb062e0e9971d643799f126f3f0679', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('composer/pcre' => array('pretty_version' => '3.1.1', 'version' => '3.1.1.0', 'reference' => '00104306927c7a0919b4ced2aaa6782c1e61a3c9', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'dev_requirement' => \false), 'composer/xdebug-handler' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), 'dev_requirement' => \false), 'doctrine/deprecations' => array('pretty_version' => '1.1.2', 'version' => '1.1.2.0', 'reference' => '4f2d4f2836e7ec4e7a8625e75c6aa916004db931', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), 'dev_requirement' => \false), 'jetbrains/phpstorm-stubs' => array('pretty_version' => 'v2022.3', 'version' => '2022.3.0.0', 'reference' => '6b568c153cea002dc6fad96285c3063d07cab18d', 'type' => 'library', 'install_path' => __DIR__ . '/../jetbrains/phpstorm-stubs', 'aliases' => array(), 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.18.0', 'version' => '4.18.0.0', 'reference' => '1bcbb2179f97633e98bbbc87044ee2611c7d7999', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'dev_requirement' => \false), 'phpdocumentor/graphviz' => array('pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'reference' => '115999dc7f31f2392645aa825a94a6b165e1cedf', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/graphviz', 'aliases' => array(), 'dev_requirement' => \false), 'phpdocumentor/reflection-common' => array('pretty_version' => '2.2.0', 'version' => '2.2.0.0', 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/reflection-common', 'aliases' => array(), 'dev_requirement' => \false), 'phpdocumentor/type-resolver' => array('pretty_version' => '1.8.0', 'version' => '1.8.0.0', 'reference' => 'fad452781b3d774e3337b0c0b245dd8e5a4455fc', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/type-resolver', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpdoc-parser' => array('pretty_version' => '1.25.0', 'version' => '1.25.0.0', 'reference' => 'bd84b629c8de41aa2ae82c067c955e06f1b00240', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0')), 'psr/event-dispatcher' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'dev_requirement' => \false), 'psr/event-dispatcher-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'psr/log' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0|3.0')), 'qossmic/deptrac' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '5650c4fa5acb062e0e9971d643799f126f3f0679', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/config' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '5d33e0fb707d603330e0edfd4691803a1253572e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => '0254811a143e6bc6c8deea08b589a7e68a37f625', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/dependency-injection' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => '226ea431b1eda6f0d9f5a4b278757171960bb195', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/event-dispatcher' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => 'e95216850555cd55e71b857eb9d6c2674124603a', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/event-dispatcher-contracts' => array('pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/event-dispatcher-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '2.0|3.0')), 'symfony/filesystem' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '952a8cb588c3bc6ce76f6023000fb932f16a6e59', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '11d736e97f116ac375a81f96e662911a34cd50ce', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-ctype' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => 'ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-intl-grapheme' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '875e90aeea2777b6f135677f618529449334a612', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-intl-normalizer' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '42292d99c55abe617799667f454222c54c60e229', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-contracts' => array('pretty_version' => 'v3.4.1', 'version' => '3.4.1.0', 'reference' => 'fe07cbc8d837f60caf7018068e350cc5163681a0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0|3.0')), 'symfony/string' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => '7cb80bc10bfcdf6b5492741c0b9357dac66940bc', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/var-exporter' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => '5fe9a0021b8d35e67d914716ec8de50716a68e7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-exporter', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/yaml' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '4f9237a1bb42455d609e6687d2613dde5b41a587', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), 'dev_requirement' => \false))); +return array('root' => array('name' => 'qossmic/deptrac', 'pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '165b439e0a528cf18a5942a8728edce42d68dd8f', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev' => \false), 'versions' => array('composer/pcre' => array('pretty_version' => '3.1.1', 'version' => '3.1.1.0', 'reference' => '00104306927c7a0919b4ced2aaa6782c1e61a3c9', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), 'dev_requirement' => \false), 'composer/xdebug-handler' => array('pretty_version' => '3.0.3', 'version' => '3.0.3.0', 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), 'dev_requirement' => \false), 'doctrine/deprecations' => array('pretty_version' => '1.1.2', 'version' => '1.1.2.0', 'reference' => '4f2d4f2836e7ec4e7a8625e75c6aa916004db931', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), 'dev_requirement' => \false), 'jetbrains/phpstorm-stubs' => array('pretty_version' => 'v2022.3', 'version' => '2022.3.0.0', 'reference' => '6b568c153cea002dc6fad96285c3063d07cab18d', 'type' => 'library', 'install_path' => __DIR__ . '/../jetbrains/phpstorm-stubs', 'aliases' => array(), 'dev_requirement' => \false), 'nikic/php-parser' => array('pretty_version' => 'v4.18.0', 'version' => '4.18.0.0', 'reference' => '1bcbb2179f97633e98bbbc87044ee2611c7d7999', 'type' => 'library', 'install_path' => __DIR__ . '/../nikic/php-parser', 'aliases' => array(), 'dev_requirement' => \false), 'phpdocumentor/graphviz' => array('pretty_version' => '2.1.0', 'version' => '2.1.0.0', 'reference' => '115999dc7f31f2392645aa825a94a6b165e1cedf', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/graphviz', 'aliases' => array(), 'dev_requirement' => \false), 'phpdocumentor/reflection-common' => array('pretty_version' => '2.2.0', 'version' => '2.2.0.0', 'reference' => '1d01c49d4ed62f25aa84a747ad35d5a16924662b', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/reflection-common', 'aliases' => array(), 'dev_requirement' => \false), 'phpdocumentor/type-resolver' => array('pretty_version' => '1.8.0', 'version' => '1.8.0.0', 'reference' => 'fad452781b3d774e3337b0c0b245dd8e5a4455fc', 'type' => 'library', 'install_path' => __DIR__ . '/../phpdocumentor/type-resolver', 'aliases' => array(), 'dev_requirement' => \false), 'phpstan/phpdoc-parser' => array('pretty_version' => '1.25.0', 'version' => '1.25.0.0', 'reference' => 'bd84b629c8de41aa2ae82c067c955e06f1b00240', 'type' => 'library', 'install_path' => __DIR__ . '/../phpstan/phpdoc-parser', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container' => array('pretty_version' => '2.0.2', 'version' => '2.0.2.0', 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), 'dev_requirement' => \false), 'psr/container-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0')), 'psr/event-dispatcher' => array('pretty_version' => '1.0.0', 'version' => '1.0.0.0', 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), 'dev_requirement' => \false), 'psr/event-dispatcher-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0')), 'psr/log' => array('pretty_version' => '3.0.0', 'version' => '3.0.0.0', 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), 'dev_requirement' => \false), 'psr/log-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.0|2.0|3.0')), 'qossmic/deptrac' => array('pretty_version' => 'dev-main', 'version' => 'dev-main', 'reference' => '165b439e0a528cf18a5942a8728edce42d68dd8f', 'type' => 'library', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/config' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '5d33e0fb707d603330e0edfd4691803a1253572e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/config', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/console' => array('pretty_version' => 'v6.4.3', 'version' => '6.4.3.0', 'reference' => '2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/dependency-injection' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => '226ea431b1eda6f0d9f5a4b278757171960bb195', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/dependency-injection', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/deprecation-contracts' => array('pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/event-dispatcher' => array('pretty_version' => 'v6.4.3', 'version' => '6.4.3.0', 'reference' => 'ae9d3a6f3003a6caf56acd7466d8d52378d44fef', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/event-dispatcher-contracts' => array('pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/event-dispatcher-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '2.0|3.0')), 'symfony/filesystem' => array('pretty_version' => 'v6.4.3', 'version' => '6.4.3.0', 'reference' => '7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/finder' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '11d736e97f116ac375a81f96e662911a34cd50ce', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-ctype' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => 'ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-intl-grapheme' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '875e90aeea2777b6f135677f618529449334a612', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-intl-normalizer' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/polyfill-mbstring' => array('pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', 'reference' => '42292d99c55abe617799667f454222c54c60e229', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-contracts' => array('pretty_version' => 'v3.4.1', 'version' => '3.4.1.0', 'reference' => 'fe07cbc8d837f60caf7018068e350cc5163681a0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/service-implementation' => array('dev_requirement' => \false, 'provided' => array(0 => '1.1|2.0|3.0')), 'symfony/string' => array('pretty_version' => 'v6.4.3', 'version' => '6.4.3.0', 'reference' => '7a14736fb179876575464e4658fce0c304e8c15b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/var-exporter' => array('pretty_version' => 'v6.4.2', 'version' => '6.4.2.0', 'reference' => '5fe9a0021b8d35e67d914716ec8de50716a68e7e', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-exporter', 'aliases' => array(), 'dev_requirement' => \false), 'symfony/yaml' => array('pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', 'reference' => '4f9237a1bb42455d609e6687d2613dde5b41a587', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/yaml', 'aliases' => array(), 'dev_requirement' => \false))); diff --git a/vendor/symfony/console/Application.php b/vendor/symfony/console/Application.php index 04dc52d7a..c2f080787 100644 --- a/vendor/symfony/console/Application.php +++ b/vendor/symfony/console/Application.php @@ -134,7 +134,7 @@ public function setSignalsToDispatchEvent(int ...$signalsToDispatchEvent) * * @throws \Exception When running fails. Bypass this when {@link setCatchExceptions()}. */ - public function run(InputInterface $input = null, OutputInterface $output = null) : int + public function run(?InputInterface $input = null, ?OutputInterface $output = null) : int { if (\function_exists('putenv')) { @\putenv('LINES=' . $this->terminal->getHeight()); @@ -664,7 +664,7 @@ public function find(string $name) * * @return Command[] */ - public function all(string $namespace = null) + public function all(?string $namespace = null) { $this->init(); if (null === $namespace) { @@ -972,7 +972,7 @@ private function getAbbreviationSuggestions(array $abbrevs) : string * * This method is not part of public API and should not be used directly. */ - public function extractNamespace(string $name, int $limit = null) : string + public function extractNamespace(string $name, ?int $limit = null) : string { $parts = \explode(':', $name, -1); return \implode(':', null === $limit ? $parts : \array_slice($parts, 0, $limit)); diff --git a/vendor/symfony/console/CI/GithubActionReporter.php b/vendor/symfony/console/CI/GithubActionReporter.php index 9c156583a..c4db16777 100644 --- a/vendor/symfony/console/CI/GithubActionReporter.php +++ b/vendor/symfony/console/CI/GithubActionReporter.php @@ -40,7 +40,7 @@ public static function isGithubActionEnvironment() : bool * * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-an-error-message */ - public function error(string $message, string $file = null, int $line = null, int $col = null) : void + public function error(string $message, ?string $file = null, ?int $line = null, ?int $col = null) : void { $this->log('error', $message, $file, $line, $col); } @@ -49,7 +49,7 @@ public function error(string $message, string $file = null, int $line = null, in * * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-a-warning-message */ - public function warning(string $message, string $file = null, int $line = null, int $col = null) : void + public function warning(string $message, ?string $file = null, ?int $line = null, ?int $col = null) : void { $this->log('warning', $message, $file, $line, $col); } @@ -58,11 +58,11 @@ public function warning(string $message, string $file = null, int $line = null, * * @see https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-commands-for-github-actions#setting-a-debug-message */ - public function debug(string $message, string $file = null, int $line = null, int $col = null) : void + public function debug(string $message, ?string $file = null, ?int $line = null, ?int $col = null) : void { $this->log('debug', $message, $file, $line, $col); } - private function log(string $type, string $message, string $file = null, int $line = null, int $col = null) : void + private function log(string $type, string $message, ?string $file = null, ?int $line = null, ?int $col = null) : void { // Some values must be encoded. $message = \strtr($message, self::ESCAPED_DATA); diff --git a/vendor/symfony/console/Command/Command.php b/vendor/symfony/console/Command/Command.php index 3b8592970..23bd74664 100644 --- a/vendor/symfony/console/Command/Command.php +++ b/vendor/symfony/console/Command/Command.php @@ -93,7 +93,7 @@ public static function getDefaultDescription() : ?string * * @throws LogicException When the command name is empty */ - public function __construct(string $name = null) + public function __construct(?string $name = null) { $this->definition = new InputDefinition(); if (null === $name && null !== ($name = static::getDefaultName())) { @@ -126,7 +126,7 @@ public function ignoreValidationErrors() /** * @return void */ - public function setApplication(Application $application = null) + public function setApplication(?Application $application = null) { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); @@ -403,7 +403,7 @@ public function getNativeDefinition() : InputDefinition * * @throws InvalidArgumentException When argument mode is not valid */ - public function addArgument(string $name, int $mode = null, string $description = '', mixed $default = null) : static + public function addArgument(string $name, ?int $mode = null, string $description = '', mixed $default = null) : static { $suggestedValues = 5 <= \func_num_args() ? \func_get_arg(4) : []; if (!\is_array($suggestedValues) && !$suggestedValues instanceof \Closure) { @@ -425,7 +425,7 @@ public function addArgument(string $name, int $mode = null, string $description * * @throws InvalidArgumentException If option mode is invalid or incompatible */ - public function addOption(string $name, string|array $shortcut = null, int $mode = null, string $description = '', mixed $default = null) : static + public function addOption(string $name, string|array|null $shortcut = null, ?int $mode = null, string $description = '', mixed $default = null) : static { $suggestedValues = 6 <= \func_num_args() ? \func_get_arg(5) : []; if (!\is_array($suggestedValues) && !$suggestedValues instanceof \Closure) { diff --git a/vendor/symfony/console/Command/LazyCommand.php b/vendor/symfony/console/Command/LazyCommand.php index e62c36f44..b1f76d7d4 100644 --- a/vendor/symfony/console/Command/LazyCommand.php +++ b/vendor/symfony/console/Command/LazyCommand.php @@ -36,7 +36,7 @@ public function ignoreValidationErrors() : void { $this->getCommand()->ignoreValidationErrors(); } - public function setApplication(Application $application = null) : void + public function setApplication(?Application $application = null) : void { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); @@ -93,7 +93,7 @@ public function getNativeDefinition() : InputDefinition /** * @param array|\Closure(CompletionInput,CompletionSuggestions):list $suggestedValues The values used for input completion */ - public function addArgument(string $name, int $mode = null, string $description = '', mixed $default = null) : static + public function addArgument(string $name, ?int $mode = null, string $description = '', mixed $default = null) : static { $suggestedValues = 5 <= \func_num_args() ? \func_get_arg(4) : []; $this->getCommand()->addArgument($name, $mode, $description, $default, $suggestedValues); @@ -102,7 +102,7 @@ public function addArgument(string $name, int $mode = null, string $description /** * @param array|\Closure(CompletionInput,CompletionSuggestions):list $suggestedValues The values used for input completion */ - public function addOption(string $name, string|array $shortcut = null, int $mode = null, string $description = '', mixed $default = null) : static + public function addOption(string $name, string|array|null $shortcut = null, ?int $mode = null, string $description = '', mixed $default = null) : static { $suggestedValues = 6 <= \func_num_args() ? \func_get_arg(5) : []; $this->getCommand()->addOption($name, $shortcut, $mode, $description, $default, $suggestedValues); diff --git a/vendor/symfony/console/Command/LockableTrait.php b/vendor/symfony/console/Command/LockableTrait.php index c61d225e7..3d319d6c3 100644 --- a/vendor/symfony/console/Command/LockableTrait.php +++ b/vendor/symfony/console/Command/LockableTrait.php @@ -26,7 +26,7 @@ trait LockableTrait /** * Locks a command. */ - private function lock(string $name = null, bool $blocking = \false) : bool + private function lock(?string $name = null, bool $blocking = \false) : bool { if (!\class_exists(SemaphoreStore::class)) { throw new LogicException('To enable the locking feature you must install the symfony/lock component. Try running "composer require symfony/lock".'); diff --git a/vendor/symfony/console/Command/TraceableCommand.php b/vendor/symfony/console/Command/TraceableCommand.php index 3df4689a5..5d653a912 100644 --- a/vendor/symfony/console/Command/TraceableCommand.php +++ b/vendor/symfony/console/Command/TraceableCommand.php @@ -102,7 +102,7 @@ public function ignoreValidationErrors() : void $this->command->ignoreValidationErrors(); parent::ignoreValidationErrors(); } - public function setApplication(Application $application = null) : void + public function setApplication(?Application $application = null) : void { $this->command->setApplication($application); } @@ -161,12 +161,12 @@ public function getNativeDefinition() : InputDefinition { return $this->command->getNativeDefinition(); } - public function addArgument(string $name, int $mode = null, string $description = '', mixed $default = null, array|\Closure $suggestedValues = []) : static + public function addArgument(string $name, ?int $mode = null, string $description = '', mixed $default = null, array|\Closure $suggestedValues = []) : static { $this->command->addArgument($name, $mode, $description, $default, $suggestedValues); return $this; } - public function addOption(string $name, string|array $shortcut = null, int $mode = null, string $description = '', mixed $default = null, array|\Closure $suggestedValues = []) : static + public function addOption(string $name, string|array|null $shortcut = null, ?int $mode = null, string $description = '', mixed $default = null, array|\Closure $suggestedValues = []) : static { $this->command->addOption($name, $shortcut, $mode, $description, $default, $suggestedValues); return $this; diff --git a/vendor/symfony/console/DataCollector/CommandDataCollector.php b/vendor/symfony/console/DataCollector/CommandDataCollector.php index 6c814ef96..95c4a68f6 100644 --- a/vendor/symfony/console/DataCollector/CommandDataCollector.php +++ b/vendor/symfony/console/DataCollector/CommandDataCollector.php @@ -25,7 +25,7 @@ */ final class CommandDataCollector extends DataCollector { - public function collect(Request $request, Response $response, \Throwable $exception = null) : void + public function collect(Request $request, Response $response, ?\Throwable $exception = null) : void { if (!$request instanceof CliRequest) { return; diff --git a/vendor/symfony/console/Descriptor/ApplicationDescription.php b/vendor/symfony/console/Descriptor/ApplicationDescription.php index bf625270e..5ea74a38a 100644 --- a/vendor/symfony/console/Descriptor/ApplicationDescription.php +++ b/vendor/symfony/console/Descriptor/ApplicationDescription.php @@ -33,7 +33,7 @@ class ApplicationDescription * @var array */ private array $aliases = []; - public function __construct(Application $application, string $namespace = null, bool $showHidden = \false) + public function __construct(Application $application, ?string $namespace = null, bool $showHidden = \false) { $this->application = $application; $this->namespace = $namespace; diff --git a/vendor/symfony/console/Descriptor/XmlDescriptor.php b/vendor/symfony/console/Descriptor/XmlDescriptor.php index 9184bfc05..5a2684b4f 100644 --- a/vendor/symfony/console/Descriptor/XmlDescriptor.php +++ b/vendor/symfony/console/Descriptor/XmlDescriptor.php @@ -64,7 +64,7 @@ public function getCommandDocument(Command $command, bool $short = \false) : \DO } return $dom; } - public function getApplicationDocument(Application $application, string $namespace = null, bool $short = \false) : \DOMDocument + public function getApplicationDocument(Application $application, ?string $namespace = null, bool $short = \false) : \DOMDocument { $dom = new \DOMDocument('1.0', 'UTF-8'); $dom->appendChild($rootXml = $dom->createElement('symfony')); diff --git a/vendor/symfony/console/Event/ConsoleErrorEvent.php b/vendor/symfony/console/Event/ConsoleErrorEvent.php index fcbf37269..200007227 100644 --- a/vendor/symfony/console/Event/ConsoleErrorEvent.php +++ b/vendor/symfony/console/Event/ConsoleErrorEvent.php @@ -22,7 +22,7 @@ final class ConsoleErrorEvent extends ConsoleEvent { private \Throwable $error; private int $exitCode; - public function __construct(InputInterface $input, OutputInterface $output, \Throwable $error, Command $command = null) + public function __construct(InputInterface $input, OutputInterface $output, \Throwable $error, ?Command $command = null) { parent::__construct($command, $input, $output); $this->error = $error; diff --git a/vendor/symfony/console/EventListener/ErrorListener.php b/vendor/symfony/console/EventListener/ErrorListener.php index d35d7d2f1..252630b5b 100644 --- a/vendor/symfony/console/EventListener/ErrorListener.php +++ b/vendor/symfony/console/EventListener/ErrorListener.php @@ -23,7 +23,7 @@ class ErrorListener implements EventSubscriberInterface { private ?LoggerInterface $logger; - public function __construct(LoggerInterface $logger = null) + public function __construct(?LoggerInterface $logger = null) { $this->logger = $logger; } diff --git a/vendor/symfony/console/Exception/CommandNotFoundException.php b/vendor/symfony/console/Exception/CommandNotFoundException.php index 471c652aa..60d67c9db 100644 --- a/vendor/symfony/console/Exception/CommandNotFoundException.php +++ b/vendor/symfony/console/Exception/CommandNotFoundException.php @@ -24,7 +24,7 @@ class CommandNotFoundException extends \InvalidArgumentException implements Exce * @param int $code Exception code * @param \Throwable|null $previous Previous exception used for the exception chaining */ - public function __construct(string $message, array $alternatives = [], int $code = 0, \Throwable $previous = null) + public function __construct(string $message, array $alternatives = [], int $code = 0, ?\Throwable $previous = null) { parent::__construct($message, $code, $previous); $this->alternatives = $alternatives; diff --git a/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php b/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php index 2f915c72e..3a1d2e56b 100644 --- a/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php +++ b/vendor/symfony/console/Formatter/NullOutputFormatterStyle.php @@ -19,14 +19,14 @@ public function apply(string $text) : string { return $text; } - public function setBackground(string $color = null) : void + public function setBackground(?string $color = null) : void { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); } // do nothing } - public function setForeground(string $color = null) : void + public function setForeground(?string $color = null) : void { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); diff --git a/vendor/symfony/console/Formatter/OutputFormatterStyle.php b/vendor/symfony/console/Formatter/OutputFormatterStyle.php index 95d259e34..863d9c372 100644 --- a/vendor/symfony/console/Formatter/OutputFormatterStyle.php +++ b/vendor/symfony/console/Formatter/OutputFormatterStyle.php @@ -30,14 +30,14 @@ class OutputFormatterStyle implements OutputFormatterStyleInterface * @param string|null $foreground The style foreground color name * @param string|null $background The style background color name */ - public function __construct(string $foreground = null, string $background = null, array $options = []) + public function __construct(?string $foreground = null, ?string $background = null, array $options = []) { $this->color = new Color($this->foreground = $foreground ?: '', $this->background = $background ?: '', $this->options = $options); } /** * @return void */ - public function setForeground(string $color = null) + public function setForeground(?string $color = null) { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); @@ -47,7 +47,7 @@ public function setForeground(string $color = null) /** * @return void */ - public function setBackground(string $color = null) + public function setBackground(?string $color = null) { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); diff --git a/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php b/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php index 61bd3ba45..27c4e1405 100644 --- a/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php +++ b/vendor/symfony/console/Formatter/OutputFormatterStyleStack.php @@ -22,7 +22,7 @@ class OutputFormatterStyleStack implements ResetInterface */ private array $styles = []; private OutputFormatterStyleInterface $emptyStyle; - public function __construct(OutputFormatterStyleInterface $emptyStyle = null) + public function __construct(?OutputFormatterStyleInterface $emptyStyle = null) { $this->emptyStyle = $emptyStyle ?? new OutputFormatterStyle(); $this->reset(); @@ -50,7 +50,7 @@ public function push(OutputFormatterStyleInterface $style) * * @throws InvalidArgumentException When style tags incorrectly nested */ - public function pop(OutputFormatterStyleInterface $style = null) : OutputFormatterStyleInterface + public function pop(?OutputFormatterStyleInterface $style = null) : OutputFormatterStyleInterface { if (!$this->styles) { return $this->emptyStyle; diff --git a/vendor/symfony/console/Helper/Dumper.php b/vendor/symfony/console/Helper/Dumper.php index 70f340269..53ea9c6ce 100644 --- a/vendor/symfony/console/Helper/Dumper.php +++ b/vendor/symfony/console/Helper/Dumper.php @@ -23,7 +23,7 @@ final class Dumper private ?CliDumper $dumper; private ?ClonerInterface $cloner; private \Closure $handler; - public function __construct(OutputInterface $output, CliDumper $dumper = null, ClonerInterface $cloner = null) + public function __construct(OutputInterface $output, ?CliDumper $dumper = null, ?ClonerInterface $cloner = null) { $this->output = $output; $this->dumper = $dumper; diff --git a/vendor/symfony/console/Helper/Helper.php b/vendor/symfony/console/Helper/Helper.php index e5ac666ce..2a6580442 100644 --- a/vendor/symfony/console/Helper/Helper.php +++ b/vendor/symfony/console/Helper/Helper.php @@ -23,7 +23,7 @@ abstract class Helper implements HelperInterface /** * @return void */ - public function setHelperSet(HelperSet $helperSet = null) + public function setHelperSet(?HelperSet $helperSet = null) { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); @@ -67,7 +67,7 @@ public static function length(?string $string) : int /** * Returns the subset of a string, using mb_substr if it is available. */ - public static function substr(?string $string, int $from, int $length = null) : string + public static function substr(?string $string, int $from, ?int $length = null) : string { $string ??= ''; if (\false === ($encoding = \mb_detect_encoding($string, null, \true))) { diff --git a/vendor/symfony/console/Helper/HelperSet.php b/vendor/symfony/console/Helper/HelperSet.php index 178715418..566abd209 100644 --- a/vendor/symfony/console/Helper/HelperSet.php +++ b/vendor/symfony/console/Helper/HelperSet.php @@ -34,7 +34,7 @@ public function __construct(array $helpers = []) /** * @return void */ - public function set(HelperInterface $helper, string $alias = null) + public function set(HelperInterface $helper, ?string $alias = null) { $this->helpers[$helper->getName()] = $helper; if (null !== $alias) { diff --git a/vendor/symfony/console/Helper/ProcessHelper.php b/vendor/symfony/console/Helper/ProcessHelper.php index f82e5354f..e80b46d97 100644 --- a/vendor/symfony/console/Helper/ProcessHelper.php +++ b/vendor/symfony/console/Helper/ProcessHelper.php @@ -30,7 +30,7 @@ class ProcessHelper extends Helper * @param callable|null $callback A PHP callback to run whenever there is some * output available on STDOUT or STDERR */ - public function run(OutputInterface $output, array|Process $cmd, string $error = null, callable $callback = null, int $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE) : Process + public function run(OutputInterface $output, array|Process $cmd, ?string $error = null, ?callable $callback = null, int $verbosity = OutputInterface::VERBOSITY_VERY_VERBOSE) : Process { if (!\class_exists(Process::class)) { throw new \LogicException('The ProcessHelper cannot be run as the Process component is not installed. Try running "compose require symfony/process".'); @@ -81,7 +81,7 @@ public function run(OutputInterface $output, array|Process $cmd, string $error = * * @see run() */ - public function mustRun(OutputInterface $output, array|Process $cmd, string $error = null, callable $callback = null) : Process + public function mustRun(OutputInterface $output, array|Process $cmd, ?string $error = null, ?callable $callback = null) : Process { $process = $this->run($output, $cmd, $error, $callback); if (!$process->isSuccessful()) { @@ -92,7 +92,7 @@ public function mustRun(OutputInterface $output, array|Process $cmd, string $err /** * Wraps a Process callback to add debugging output. */ - public function wrapCallback(OutputInterface $output, Process $process, callable $callback = null) : callable + public function wrapCallback(OutputInterface $output, Process $process, ?callable $callback = null) : callable { if ($output instanceof ConsoleOutputInterface) { $output = $output->getErrorOutput(); diff --git a/vendor/symfony/console/Helper/ProgressBar.php b/vendor/symfony/console/Helper/ProgressBar.php index 79f73030a..41a904da6 100644 --- a/vendor/symfony/console/Helper/ProgressBar.php +++ b/vendor/symfony/console/Helper/ProgressBar.php @@ -267,7 +267,7 @@ public function maxSecondsBetweenRedraws(float $seconds) : void * * @return iterable */ - public function iterate(iterable $iterable, int $max = null) : iterable + public function iterate(iterable $iterable, ?int $max = null) : iterable { $this->start($max ?? (\is_countable($iterable) ? \count($iterable) : 0)); foreach ($iterable as $key => $value) { @@ -282,7 +282,7 @@ public function iterate(iterable $iterable, int $max = null) : iterable * @param int|null $max Number of steps to complete the bar (0 if indeterminate), null to leave unchanged * @param int $startAt The starting point of the bar (useful e.g. when resuming a previously started bar) */ - public function start(int $max = null, int $startAt = 0) : void + public function start(?int $max = null, int $startAt = 0) : void { $this->startTime = \time(); $this->step = $startAt; diff --git a/vendor/symfony/console/Helper/ProgressIndicator.php b/vendor/symfony/console/Helper/ProgressIndicator.php index b0ec850ee..07e9f3c96 100644 --- a/vendor/symfony/console/Helper/ProgressIndicator.php +++ b/vendor/symfony/console/Helper/ProgressIndicator.php @@ -36,7 +36,7 @@ class ProgressIndicator * @param int $indicatorChangeInterval Change interval in milliseconds * @param array|null $indicatorValues Animated indicator characters */ - public function __construct(OutputInterface $output, string $format = null, int $indicatorChangeInterval = 100, array $indicatorValues = null) + public function __construct(OutputInterface $output, ?string $format = null, int $indicatorChangeInterval = 100, ?array $indicatorValues = null) { $this->output = $output; $format ??= $this->determineBestFormat(); diff --git a/vendor/symfony/console/Helper/Table.php b/vendor/symfony/console/Helper/Table.php index 57c4231f8..064ba3127 100644 --- a/vendor/symfony/console/Helper/Table.php +++ b/vendor/symfony/console/Helper/Table.php @@ -378,7 +378,7 @@ public function render() * * +-----+-----------+-------+ */ - private function renderRowSeparator(int $type = self::SEPARATOR_MID, string $title = null, string $titleFormat = null) : void + private function renderRowSeparator(int $type = self::SEPARATOR_MID, ?string $title = null, ?string $titleFormat = null) : void { if (!($count = $this->numberOfColumns)) { return; @@ -434,7 +434,7 @@ private function renderColumnSeparator(int $type = self::BORDER_OUTSIDE) : strin * * | 9971-5-0210-0 | A Tale of Two Cities | Charles Dickens | */ - private function renderRow(array $row, string $cellFormat, string $firstCellFormat = null) : void + private function renderRow(array $row, string $cellFormat, ?string $firstCellFormat = null) : void { $rowContent = $this->renderColumnSeparator(self::BORDER_OUTSIDE); $columns = $this->getRowColumns($row); diff --git a/vendor/symfony/console/Helper/TableStyle.php b/vendor/symfony/console/Helper/TableStyle.php index d85f24796..e9e7116c5 100644 --- a/vendor/symfony/console/Helper/TableStyle.php +++ b/vendor/symfony/console/Helper/TableStyle.php @@ -81,7 +81,7 @@ public function getPaddingChar() : string * * @return $this */ - public function setHorizontalBorderChars(string $outside, string $inside = null) : static + public function setHorizontalBorderChars(string $outside, ?string $inside = null) : static { $this->horizontalOutsideBorderChar = $outside; $this->horizontalInsideBorderChar = $inside ?? $outside; @@ -104,7 +104,7 @@ public function setHorizontalBorderChars(string $outside, string $inside = null) * * @return $this */ - public function setVerticalBorderChars(string $outside, string $inside = null) : static + public function setVerticalBorderChars(string $outside, ?string $inside = null) : static { $this->verticalOutsideBorderChar = $outside; $this->verticalInsideBorderChar = $inside ?? $outside; @@ -150,7 +150,7 @@ public function getBorderChars() : array * * @return $this */ - public function setCrossingChars(string $cross, string $topLeft, string $topMid, string $topRight, string $midRight, string $bottomRight, string $bottomMid, string $bottomLeft, string $midLeft, string $topLeftBottom = null, string $topMidBottom = null, string $topRightBottom = null) : static + public function setCrossingChars(string $cross, string $topLeft, string $topMid, string $topRight, string $midRight, string $bottomRight, string $bottomMid, string $bottomLeft, string $midLeft, ?string $topLeftBottom = null, ?string $topMidBottom = null, ?string $topRightBottom = null) : static { $this->crossingChar = $cross; $this->crossingTopLeftChar = $topLeft; diff --git a/vendor/symfony/console/Input/ArgvInput.php b/vendor/symfony/console/Input/ArgvInput.php index 1a8c09b6c..aed9f29b5 100644 --- a/vendor/symfony/console/Input/ArgvInput.php +++ b/vendor/symfony/console/Input/ArgvInput.php @@ -40,7 +40,7 @@ class ArgvInput extends Input { private array $tokens; private array $parsed; - public function __construct(array $argv = null, InputDefinition $definition = null) + public function __construct(?array $argv = null, ?InputDefinition $definition = null) { $argv ??= $_SERVER['argv'] ?? []; // strip the application name diff --git a/vendor/symfony/console/Input/ArrayInput.php b/vendor/symfony/console/Input/ArrayInput.php index 8382b45a5..d4e02904f 100644 --- a/vendor/symfony/console/Input/ArrayInput.php +++ b/vendor/symfony/console/Input/ArrayInput.php @@ -24,7 +24,7 @@ class ArrayInput extends Input { private array $parameters; - public function __construct(array $parameters, InputDefinition $definition = null) + public function __construct(array $parameters, ?InputDefinition $definition = null) { $this->parameters = $parameters; parent::__construct($definition); diff --git a/vendor/symfony/console/Input/Input.php b/vendor/symfony/console/Input/Input.php index 41c1a2caa..d4dabc5bb 100644 --- a/vendor/symfony/console/Input/Input.php +++ b/vendor/symfony/console/Input/Input.php @@ -31,7 +31,7 @@ abstract class Input implements InputInterface, StreamableInputInterface protected $options = []; protected $arguments = []; protected $interactive = \true; - public function __construct(InputDefinition $definition = null) + public function __construct(?InputDefinition $definition = null) { if (null === $definition) { $this->definition = new InputDefinition(); diff --git a/vendor/symfony/console/Input/InputArgument.php b/vendor/symfony/console/Input/InputArgument.php index 135d0a386..b18f6d25a 100644 --- a/vendor/symfony/console/Input/InputArgument.php +++ b/vendor/symfony/console/Input/InputArgument.php @@ -40,7 +40,7 @@ class InputArgument * * @throws InvalidArgumentException When argument mode is not valid */ - public function __construct(string $name, int $mode = null, string $description = '', string|bool|int|float|array $default = null, \Closure|array $suggestedValues = []) + public function __construct(string $name, ?int $mode = null, string $description = '', string|bool|int|float|array|null $default = null, \Closure|array $suggestedValues = []) { if (null === $mode) { $mode = self::OPTIONAL; @@ -85,7 +85,7 @@ public function isArray() : bool * * @throws LogicException When incorrect default value is given */ - public function setDefault(string|bool|int|float|array $default = null) + public function setDefault(string|bool|int|float|array|null $default = null) { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); diff --git a/vendor/symfony/console/Input/InputOption.php b/vendor/symfony/console/Input/InputOption.php index a082b3551..e9ccf1a20 100644 --- a/vendor/symfony/console/Input/InputOption.php +++ b/vendor/symfony/console/Input/InputOption.php @@ -57,7 +57,7 @@ class InputOption * * @throws InvalidArgumentException If option mode is invalid or incompatible */ - public function __construct(string $name, string|array $shortcut = null, int $mode = null, string $description = '', string|bool|int|float|array $default = null, array|\Closure $suggestedValues = []) + public function __construct(string $name, string|array|null $shortcut = null, ?int $mode = null, string $description = '', string|bool|int|float|array|null $default = null, array|\Closure $suggestedValues = []) { if (\str_starts_with($name, '--')) { $name = \substr($name, 2); @@ -65,7 +65,7 @@ public function __construct(string $name, string|array $shortcut = null, int $mo if (empty($name)) { throw new InvalidArgumentException('An option name cannot be empty.'); } - if (empty($shortcut)) { + if ('' === $shortcut || [] === $shortcut) { $shortcut = null; } if (null !== $shortcut) { @@ -73,9 +73,9 @@ public function __construct(string $name, string|array $shortcut = null, int $mo $shortcut = \implode('|', $shortcut); } $shortcuts = \preg_split('{(\\|)-?}', \ltrim($shortcut, '-')); - $shortcuts = \array_filter($shortcuts); + $shortcuts = \array_filter($shortcuts, 'strlen'); $shortcut = \implode('|', $shortcuts); - if (empty($shortcut)) { + if ('' === $shortcut) { throw new InvalidArgumentException('An option shortcut cannot be empty.'); } } @@ -157,7 +157,7 @@ public function isNegatable() : bool /** * @return void */ - public function setDefault(string|bool|int|float|array $default = null) + public function setDefault(string|bool|int|float|array|null $default = null) { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); diff --git a/vendor/symfony/console/Output/ConsoleOutput.php b/vendor/symfony/console/Output/ConsoleOutput.php index 619facc0f..dc8b7e86f 100644 --- a/vendor/symfony/console/Output/ConsoleOutput.php +++ b/vendor/symfony/console/Output/ConsoleOutput.php @@ -34,7 +34,7 @@ class ConsoleOutput extends StreamOutput implements ConsoleOutputInterface * @param bool|null $decorated Whether to decorate messages (null for auto-guessing) * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) */ - public function __construct(int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = null, OutputFormatterInterface $formatter = null) + public function __construct(int $verbosity = self::VERBOSITY_NORMAL, ?bool $decorated = null, ?OutputFormatterInterface $formatter = null) { parent::__construct($this->openOutputStream(), $verbosity, $decorated, $formatter); if (null === $formatter) { diff --git a/vendor/symfony/console/Output/ConsoleSectionOutput.php b/vendor/symfony/console/Output/ConsoleSectionOutput.php index 196697ca1..6e6edc613 100644 --- a/vendor/symfony/console/Output/ConsoleSectionOutput.php +++ b/vendor/symfony/console/Output/ConsoleSectionOutput.php @@ -57,7 +57,7 @@ public function setMaxHeight(int $maxHeight) : void * * @return void */ - public function clear(int $lines = null) + public function clear(?int $lines = null) { if (empty($this->content) || !$this->isDecorated()) { return; diff --git a/vendor/symfony/console/Output/Output.php b/vendor/symfony/console/Output/Output.php index d4750d93d..4ee98fbe7 100644 --- a/vendor/symfony/console/Output/Output.php +++ b/vendor/symfony/console/Output/Output.php @@ -34,7 +34,7 @@ abstract class Output implements OutputInterface * @param bool $decorated Whether to decorate messages * @param OutputFormatterInterface|null $formatter Output formatter instance (null to use default OutputFormatter) */ - public function __construct(?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = \false, OutputFormatterInterface $formatter = null) + public function __construct(?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = \false, ?OutputFormatterInterface $formatter = null) { $this->verbosity = $verbosity ?? self::VERBOSITY_NORMAL; $this->formatter = $formatter ?? new OutputFormatter(); diff --git a/vendor/symfony/console/Output/StreamOutput.php b/vendor/symfony/console/Output/StreamOutput.php index 0adb4915c..aaadd76eb 100644 --- a/vendor/symfony/console/Output/StreamOutput.php +++ b/vendor/symfony/console/Output/StreamOutput.php @@ -37,7 +37,7 @@ class StreamOutput extends Output * * @throws InvalidArgumentException When first argument is not a real stream */ - public function __construct($stream, int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = null, OutputFormatterInterface $formatter = null) + public function __construct($stream, int $verbosity = self::VERBOSITY_NORMAL, ?bool $decorated = null, ?OutputFormatterInterface $formatter = null) { if (!\is_resource($stream) || 'stream' !== \get_resource_type($stream)) { throw new InvalidArgumentException('The StreamOutput class needs a stream as its first argument.'); @@ -85,9 +85,37 @@ protected function hasColorSupport() : bool if (isset($_SERVER['NO_COLOR']) || \false !== \getenv('NO_COLOR')) { return \false; } + if (!$this->isTty()) { + return \false; + } if (\DIRECTORY_SEPARATOR === '\\' && \function_exists('sapi_windows_vt100_support') && @\sapi_windows_vt100_support($this->stream)) { return \true; } - return 'Hyper' === \getenv('TERM_PROGRAM') || \false !== \getenv('ANSICON') || 'ON' === \getenv('ConEmuANSI') || \str_starts_with((string) \getenv('TERM'), 'xterm') || \stream_isatty($this->stream); + return 'Hyper' === \getenv('TERM_PROGRAM') || \false !== \getenv('ANSICON') || 'ON' === \getenv('ConEmuANSI') || \str_starts_with((string) \getenv('TERM'), 'xterm'); + } + /** + * Checks if the stream is a TTY, i.e; whether the output stream is connected to a terminal. + * + * Reference: Composer\Util\Platform::isTty + * https://github.com/composer/composer + */ + private function isTty() : bool + { + // Detect msysgit/mingw and assume this is a tty because detection + // does not work correctly, see https://github.com/composer/composer/issues/9690 + if (\in_array(\strtoupper((string) \getenv('MSYSTEM')), ['MINGW32', 'MINGW64'], \true)) { + return \true; + } + // Modern cross-platform function, includes the fstat fallback so if it is present we trust it + if (\function_exists('stream_isatty')) { + return \stream_isatty($this->stream); + } + // Only trusting this if it is positive, otherwise prefer fstat fallback. + if (\function_exists('posix_isatty') && \posix_isatty($this->stream)) { + return \true; + } + $stat = @\fstat($this->stream); + // Check if formatted mode is S_IFCHR + return $stat ? 020000 === ($stat['mode'] & 0170000) : \false; } } diff --git a/vendor/symfony/console/Output/TrimmedBufferOutput.php b/vendor/symfony/console/Output/TrimmedBufferOutput.php index b9a1edc16..50242d511 100644 --- a/vendor/symfony/console/Output/TrimmedBufferOutput.php +++ b/vendor/symfony/console/Output/TrimmedBufferOutput.php @@ -21,7 +21,7 @@ class TrimmedBufferOutput extends Output { private int $maxLength; private string $buffer = ''; - public function __construct(int $maxLength, ?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = \false, OutputFormatterInterface $formatter = null) + public function __construct(int $maxLength, ?int $verbosity = self::VERBOSITY_NORMAL, bool $decorated = \false, ?OutputFormatterInterface $formatter = null) { if ($maxLength <= 0) { throw new InvalidArgumentException(\sprintf('"%s()" expects a strictly positive maxLength. Got %d.', __METHOD__, $maxLength)); diff --git a/vendor/symfony/console/Question/Question.php b/vendor/symfony/console/Question/Question.php index 9d3f6d807..bd9929118 100644 --- a/vendor/symfony/console/Question/Question.php +++ b/vendor/symfony/console/Question/Question.php @@ -33,7 +33,7 @@ class Question * @param string $question The question to ask to the user * @param string|bool|int|float|null $default The default answer to return if the user enters nothing */ - public function __construct(string $question, string|bool|int|float $default = null) + public function __construct(string $question, string|bool|int|float|null $default = null) { $this->question = $question; $this->default = $default; @@ -152,7 +152,7 @@ public function getAutocompleterCallback() : ?callable * * @return $this */ - public function setAutocompleterCallback(callable $callback = null) : static + public function setAutocompleterCallback(?callable $callback = null) : static { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); @@ -168,7 +168,7 @@ public function setAutocompleterCallback(callable $callback = null) : static * * @return $this */ - public function setValidator(callable $validator = null) : static + public function setValidator(?callable $validator = null) : static { if (1 > \func_num_args()) { \DEPTRAC_202402\trigger_deprecation('symfony/console', '6.2', 'Calling "%s()" without any arguments is deprecated, pass null explicitly instead.', __METHOD__); diff --git a/vendor/symfony/console/SingleCommandApplication.php b/vendor/symfony/console/SingleCommandApplication.php index f7f4b45c0..d08aed94b 100644 --- a/vendor/symfony/console/SingleCommandApplication.php +++ b/vendor/symfony/console/SingleCommandApplication.php @@ -39,7 +39,7 @@ public function setAutoExit(bool $autoExit) : static $this->autoExit = $autoExit; return $this; } - public function run(InputInterface $input = null, OutputInterface $output = null) : int + public function run(?InputInterface $input = null, ?OutputInterface $output = null) : int { if ($this->running) { return parent::run($input, $output); diff --git a/vendor/symfony/console/Style/StyleInterface.php b/vendor/symfony/console/Style/StyleInterface.php index 9a12a1c4e..cf8ac3692 100644 --- a/vendor/symfony/console/Style/StyleInterface.php +++ b/vendor/symfony/console/Style/StyleInterface.php @@ -80,11 +80,11 @@ public function table(array $headers, array $rows); /** * Asks a question. */ - public function ask(string $question, string $default = null, callable $validator = null) : mixed; + public function ask(string $question, ?string $default = null, ?callable $validator = null) : mixed; /** * Asks a question with the user input hidden. */ - public function askHidden(string $question, callable $validator = null) : mixed; + public function askHidden(string $question, ?callable $validator = null) : mixed; /** * Asks for confirmation. */ diff --git a/vendor/symfony/console/Style/SymfonyStyle.php b/vendor/symfony/console/Style/SymfonyStyle.php index 37c3129e8..c78abd8a9 100644 --- a/vendor/symfony/console/Style/SymfonyStyle.php +++ b/vendor/symfony/console/Style/SymfonyStyle.php @@ -57,7 +57,7 @@ public function __construct(InputInterface $input, OutputInterface $output) * * @return void */ - public function block(string|array $messages, string $type = null, string $style = null, string $prefix = ' ', bool $padding = \false, bool $escape = \true) + public function block(string|array $messages, ?string $type = null, ?string $style = null, string $prefix = ' ', bool $padding = \false, bool $escape = \true) { $messages = \is_array($messages) ? \array_values($messages) : [$messages]; $this->autoPrependBlock(); @@ -207,13 +207,13 @@ public function definitionList(string|array|TableSeparator ...$list) } $this->horizontalTable($headers, [$row]); } - public function ask(string $question, string $default = null, callable $validator = null) : mixed + public function ask(string $question, ?string $default = null, ?callable $validator = null) : mixed { $question = new Question($question, $default); $question->setValidator($validator); return $this->askQuestion($question); } - public function askHidden(string $question, callable $validator = null) : mixed + public function askHidden(string $question, ?callable $validator = null) : mixed { $question = new Question($question); $question->setHidden(\true); @@ -281,7 +281,7 @@ public function createProgressBar(int $max = 0) : ProgressBar * * @return iterable */ - public function progressIterate(iterable $iterable, int $max = null) : iterable + public function progressIterate(iterable $iterable, ?int $max = null) : iterable { yield from $this->createProgressBar()->iterate($iterable, $max); $this->newLine(2); @@ -380,7 +380,7 @@ private function writeBuffer(string $message, bool $newLine, int $type) : void // We need to know if the last chars are PHP_EOL $this->bufferedOutput->write($message, $newLine, $type); } - private function createBlock(iterable $messages, string $type = null, string $style = null, string $prefix = ' ', bool $padding = \false, bool $escape = \false) : array + private function createBlock(iterable $messages, ?string $type = null, ?string $style = null, string $prefix = ' ', bool $padding = \false, bool $escape = \false) : array { $indentLength = 0; $prefixLength = Helper::width(Helper::removeDecoration($this->getFormatter(), $prefix)); diff --git a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php index 138ac52c1..2a8dc9d99 100644 --- a/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +++ b/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php @@ -39,7 +39,7 @@ class TraceableEventDispatcher implements EventDispatcherInterface, ResetInterfa private array $orphanedEvents = []; private ?RequestStack $requestStack; private string $currentRequestHash = ''; - public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, LoggerInterface $logger = null, RequestStack $requestStack = null) + public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $stopwatch, ?LoggerInterface $logger = null, ?RequestStack $requestStack = null) { $this->dispatcher = $dispatcher; $this->stopwatch = $stopwatch; @@ -83,7 +83,7 @@ public function removeSubscriber(EventSubscriberInterface $subscriber) { $this->dispatcher->removeSubscriber($subscriber); } - public function getListeners(string $eventName = null) : array + public function getListeners(?string $eventName = null) : array { return $this->dispatcher->getListeners($eventName); } @@ -100,11 +100,11 @@ public function getListenerPriority(string $eventName, callable|array $listener) } return $this->dispatcher->getListenerPriority($eventName, $listener); } - public function hasListeners(string $eventName = null) : bool + public function hasListeners(?string $eventName = null) : bool { return $this->dispatcher->hasListeners($eventName); } - public function dispatch(object $event, string $eventName = null) : object + public function dispatch(object $event, ?string $eventName = null) : object { $eventName ??= $event::class; $this->callStack ??= new \SplObjectStorage(); @@ -133,7 +133,7 @@ public function dispatch(object $event, string $eventName = null) : object } return $event; } - public function getCalledListeners(Request $request = null) : array + public function getCalledListeners(?Request $request = null) : array { if (null === $this->callStack) { return []; @@ -148,7 +148,7 @@ public function getCalledListeners(Request $request = null) : array } return $called; } - public function getNotCalledListeners(Request $request = null) : array + public function getNotCalledListeners(?Request $request = null) : array { try { $allListeners = $this->dispatcher instanceof EventDispatcher ? $this->getListenersWithPriority() : $this->getListenersWithoutPriority(); @@ -181,7 +181,7 @@ public function getNotCalledListeners(Request $request = null) : array \uasort($notCalled, $this->sortNotCalledListeners(...)); return $notCalled; } - public function getOrphanedEvents(Request $request = null) : array + public function getOrphanedEvents(?Request $request = null) : array { if ($request) { return $this->orphanedEvents[\spl_object_hash($request)] ?? []; diff --git a/vendor/symfony/event-dispatcher/Debug/WrappedListener.php b/vendor/symfony/event-dispatcher/Debug/WrappedListener.php index 47dce5283..0f4a583cf 100644 --- a/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +++ b/vendor/symfony/event-dispatcher/Debug/WrappedListener.php @@ -31,7 +31,7 @@ final class WrappedListener private ClassStub|string $stub; private ?int $priority = null; private static bool $hasClassStub; - public function __construct(callable|array $listener, ?string $name, Stopwatch $stopwatch, EventDispatcherInterface $dispatcher = null, int $priority = null) + public function __construct(callable|array $listener, ?string $name, Stopwatch $stopwatch, ?EventDispatcherInterface $dispatcher = null, ?int $priority = null) { $this->listener = $listener; $this->optimizedListener = $listener instanceof \Closure ? $listener : (\is_callable($listener) ? $listener(...) : null); diff --git a/vendor/symfony/event-dispatcher/EventDispatcher.php b/vendor/symfony/event-dispatcher/EventDispatcher.php index a973df226..63e1bbfa8 100644 --- a/vendor/symfony/event-dispatcher/EventDispatcher.php +++ b/vendor/symfony/event-dispatcher/EventDispatcher.php @@ -38,7 +38,7 @@ public function __construct() $this->optimized = []; } } - public function dispatch(object $event, string $eventName = null) : object + public function dispatch(object $event, ?string $eventName = null) : object { $eventName ??= $event::class; if (isset($this->optimized)) { @@ -51,7 +51,7 @@ public function dispatch(object $event, string $eventName = null) : object } return $event; } - public function getListeners(string $eventName = null) : array + public function getListeners(?string $eventName = null) : array { if (null !== $eventName) { if (empty($this->listeners[$eventName])) { @@ -91,7 +91,7 @@ public function getListenerPriority(string $eventName, callable|array $listener) } return null; } - public function hasListeners(string $eventName = null) : bool + public function hasListeners(?string $eventName = null) : bool { if (null !== $eventName) { return !empty($this->listeners[$eventName]); diff --git a/vendor/symfony/event-dispatcher/EventDispatcherInterface.php b/vendor/symfony/event-dispatcher/EventDispatcherInterface.php index 772fe49fe..8058fe911 100644 --- a/vendor/symfony/event-dispatcher/EventDispatcherInterface.php +++ b/vendor/symfony/event-dispatcher/EventDispatcherInterface.php @@ -53,7 +53,7 @@ public function removeSubscriber(EventSubscriberInterface $subscriber); * * @return array */ - public function getListeners(string $eventName = null) : array; + public function getListeners(?string $eventName = null) : array; /** * Gets the listener priority for a specific event. * @@ -63,5 +63,5 @@ public function getListenerPriority(string $eventName, callable $listener) : ?in /** * Checks whether an event has any registered listeners. */ - public function hasListeners(string $eventName = null) : bool; + public function hasListeners(?string $eventName = null) : bool; } diff --git a/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php b/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php index 013facd40..b1b9ee837 100644 --- a/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +++ b/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php @@ -22,7 +22,7 @@ public function __construct(EventDispatcherInterface $dispatcher) { $this->dispatcher = $dispatcher; } - public function dispatch(object $event, string $eventName = null) : object + public function dispatch(object $event, ?string $eventName = null) : object { return $this->dispatcher->dispatch($event, $eventName); } @@ -54,7 +54,7 @@ public function removeSubscriber(EventSubscriberInterface $subscriber) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } - public function getListeners(string $eventName = null) : array + public function getListeners(?string $eventName = null) : array { return $this->dispatcher->getListeners($eventName); } @@ -62,7 +62,7 @@ public function getListenerPriority(string $eventName, callable|array $listener) { return $this->dispatcher->getListenerPriority($eventName, $listener); } - public function hasListeners(string $eventName = null) : bool + public function hasListeners(?string $eventName = null) : bool { return $this->dispatcher->hasListeners($eventName); } diff --git a/vendor/symfony/filesystem/Exception/FileNotFoundException.php b/vendor/symfony/filesystem/Exception/FileNotFoundException.php index ce68b0129..d7dd01fed 100644 --- a/vendor/symfony/filesystem/Exception/FileNotFoundException.php +++ b/vendor/symfony/filesystem/Exception/FileNotFoundException.php @@ -18,7 +18,7 @@ */ class FileNotFoundException extends IOException { - public function __construct(string $message = null, int $code = 0, \Throwable $previous = null, string $path = null) + public function __construct(?string $message = null, int $code = 0, ?\Throwable $previous = null, ?string $path = null) { if (null === $message) { if (null === $path) { diff --git a/vendor/symfony/filesystem/Exception/IOException.php b/vendor/symfony/filesystem/Exception/IOException.php index f9b112f27..7097bb26d 100644 --- a/vendor/symfony/filesystem/Exception/IOException.php +++ b/vendor/symfony/filesystem/Exception/IOException.php @@ -20,7 +20,7 @@ class IOException extends \RuntimeException implements IOExceptionInterface { private ?string $path; - public function __construct(string $message, int $code = 0, \Throwable $previous = null, string $path = null) + public function __construct(string $message, int $code = 0, ?\Throwable $previous = null, ?string $path = null) { $this->path = $path; parent::__construct($message, $code, $previous); diff --git a/vendor/symfony/filesystem/Filesystem.php b/vendor/symfony/filesystem/Filesystem.php index 26b52c0fc..838f52716 100644 --- a/vendor/symfony/filesystem/Filesystem.php +++ b/vendor/symfony/filesystem/Filesystem.php @@ -113,7 +113,7 @@ public function exists(string|iterable $files) : bool * * @throws IOException When touch fails */ - public function touch(string|iterable $files, int $time = null, int $atime = null) + public function touch(string|iterable $files, ?int $time = null, ?int $atime = null) { foreach ($this->toIterable($files) as $file) { if (!($time ? self::box('touch', $file, $time, $atime) : self::box('touch', $file))) { @@ -458,7 +458,7 @@ public function makePathRelative(string $endPath, string $startPath) : string * * @throws IOException When file type is unknown */ - public function mirror(string $originDir, string $targetDir, \Traversable $iterator = null, array $options = []) + public function mirror(string $originDir, string $targetDir, ?\Traversable $iterator = null, array $options = []) { $targetDir = \rtrim($targetDir, '/\\'); $originDir = \rtrim($originDir, '/\\'); diff --git a/vendor/symfony/filesystem/Path.php b/vendor/symfony/filesystem/Path.php index abf63f08a..c98edc190 100644 --- a/vendor/symfony/filesystem/Path.php +++ b/vendor/symfony/filesystem/Path.php @@ -220,7 +220,7 @@ public static function getRoot(string $path) : string * @param string|null $extension if specified, only that extension is cut * off (may contain leading dot) */ - public static function getFilenameWithoutExtension(string $path, string $extension = null) : string + public static function getFilenameWithoutExtension(string $path, ?string $extension = null) : string { if ('' === $path) { return ''; diff --git a/vendor/symfony/string/AbstractString.php b/vendor/symfony/string/AbstractString.php index 6d3aafee2..e612577d0 100644 --- a/vendor/symfony/string/AbstractString.php +++ b/vendor/symfony/string/AbstractString.php @@ -306,7 +306,7 @@ public function isEmpty() : bool { return '' === $this->string; } - public abstract function join(array $strings, string $lastGlue = null) : static; + public abstract function join(array $strings, ?string $lastGlue = null) : static; public function jsonSerialize() : string { return $this->string; @@ -337,13 +337,13 @@ public function repeat(int $multiplier) : static public abstract function replace(string $from, string $to) : static; public abstract function replaceMatches(string $fromRegexp, string|callable $to) : static; public abstract function reverse() : static; - public abstract function slice(int $start = 0, int $length = null) : static; + public abstract function slice(int $start = 0, ?int $length = null) : static; public abstract function snake() : static; - public abstract function splice(string $replacement, int $start = 0, int $length = null) : static; + public abstract function splice(string $replacement, int $start = 0, ?int $length = null) : static; /** * @return static[] */ - public function split(string $delimiter, int $limit = null, int $flags = null) : array + public function split(string $delimiter, ?int $limit = null, ?int $flags = null) : array { if (null === $flags) { throw new \TypeError('Split behavior when $flags is null must be implemented by child classes.'); @@ -389,7 +389,7 @@ public function startsWith(string|iterable $prefix) : bool return \false; } public abstract function title(bool $allWords = \false) : static; - public function toByteString(string $toEncoding = null) : ByteString + public function toByteString(?string $toEncoding = null) : ByteString { $b = new ByteString(); $toEncoding = \in_array($toEncoding, ['utf8', 'utf-8', 'UTF8'], \true) ? 'UTF-8' : $toEncoding; diff --git a/vendor/symfony/string/AbstractUnicodeString.php b/vendor/symfony/string/AbstractUnicodeString.php index 6d4b58f3f..fbc86b426 100644 --- a/vendor/symfony/string/AbstractUnicodeString.php +++ b/vendor/symfony/string/AbstractUnicodeString.php @@ -164,7 +164,7 @@ public function folded(bool $compat = \true) : static } return $str; } - public function join(array $strings, string $lastGlue = null) : static + public function join(array $strings, ?string $lastGlue = null) : static { $str = clone $this; $tail = null !== $lastGlue && 1 < \count($strings) ? $lastGlue . \array_pop($strings) : ''; diff --git a/vendor/symfony/string/ByteString.php b/vendor/symfony/string/ByteString.php index 13f531e1a..2fab8fed0 100644 --- a/vendor/symfony/string/ByteString.php +++ b/vendor/symfony/string/ByteString.php @@ -37,7 +37,7 @@ public function __construct(string $string = '') * * Copyright (c) 2004-2020, Facebook, Inc. (https://www.facebook.com/) */ - public static function fromRandom(int $length = 16, string $alphabet = null) : self + public static function fromRandom(int $length = 16, ?string $alphabet = null) : self { if ($length <= 0) { throw new InvalidArgumentException(\sprintf('A strictly positive length is expected, "%d" given.', $length)); @@ -167,7 +167,7 @@ public function isUtf8() : bool { return '' === $this->string || \preg_match('//u', $this->string); } - public function join(array $strings, string $lastGlue = null) : static + public function join(array $strings, ?string $lastGlue = null) : static { $str = clone $this; $tail = null !== $lastGlue && 1 < \count($strings) ? $lastGlue . \array_pop($strings) : ''; @@ -262,7 +262,7 @@ public function reverse() : static $str->string = \strrev($str->string); return $str; } - public function slice(int $start = 0, int $length = null) : static + public function slice(int $start = 0, ?int $length = null) : static { $str = clone $this; $str->string = (string) \substr($this->string, $start, $length ?? \PHP_INT_MAX); @@ -274,13 +274,13 @@ public function snake() : static $str->string = \strtolower(\preg_replace(['/([A-Z]+)([A-Z][a-z])/', '/([a-z\\d])([A-Z])/'], 'DEPTRAC_202402\\1_\\2', $str->string)); return $str; } - public function splice(string $replacement, int $start = 0, int $length = null) : static + public function splice(string $replacement, int $start = 0, ?int $length = null) : static { $str = clone $this; $str->string = \substr_replace($this->string, $replacement, $start, $length ?? \PHP_INT_MAX); return $str; } - public function split(string $delimiter, int $limit = null, int $flags = null) : array + public function split(string $delimiter, ?int $limit = null, ?int $flags = null) : array { if (1 > ($limit ??= \PHP_INT_MAX)) { throw new InvalidArgumentException('Split limit must be a positive integer.'); @@ -314,11 +314,11 @@ public function title(bool $allWords = \false) : static $str->string = $allWords ? \ucwords($str->string) : \ucfirst($str->string); return $str; } - public function toUnicodeString(string $fromEncoding = null) : UnicodeString + public function toUnicodeString(?string $fromEncoding = null) : UnicodeString { return new UnicodeString($this->toCodePointString($fromEncoding)->string); } - public function toCodePointString(string $fromEncoding = null) : CodePointString + public function toCodePointString(?string $fromEncoding = null) : CodePointString { $u = new CodePointString(); if (\in_array($fromEncoding, [null, 'utf8', 'utf-8', 'UTF8', 'UTF-8'], \true) && \preg_match('//u', $this->string)) { diff --git a/vendor/symfony/string/CodePointString.php b/vendor/symfony/string/CodePointString.php index bd27d3ec9..e32c66808 100644 --- a/vendor/symfony/string/CodePointString.php +++ b/vendor/symfony/string/CodePointString.php @@ -147,13 +147,13 @@ public function replace(string $from, string $to) : static } return $str; } - public function slice(int $start = 0, int $length = null) : static + public function slice(int $start = 0, ?int $length = null) : static { $str = clone $this; $str->string = \mb_substr($this->string, $start, $length, 'UTF-8'); return $str; } - public function splice(string $replacement, int $start = 0, int $length = null) : static + public function splice(string $replacement, int $start = 0, ?int $length = null) : static { if (!\preg_match('//u', $replacement)) { throw new InvalidArgumentException('Invalid UTF-8 string.'); @@ -164,7 +164,7 @@ public function splice(string $replacement, int $start = 0, int $length = null) $str->string = \substr_replace($this->string, $replacement, $start, $length ?? \PHP_INT_MAX); return $str; } - public function split(string $delimiter, int $limit = null, int $flags = null) : array + public function split(string $delimiter, ?int $limit = null, ?int $flags = null) : array { if (1 > ($limit ??= \PHP_INT_MAX)) { throw new InvalidArgumentException('Split limit must be a positive integer.'); diff --git a/vendor/symfony/string/Inflector/EnglishInflector.php b/vendor/symfony/string/Inflector/EnglishInflector.php index 067df8d90..8907940ef 100644 --- a/vendor/symfony/string/Inflector/EnglishInflector.php +++ b/vendor/symfony/string/Inflector/EnglishInflector.php @@ -122,6 +122,8 @@ final class EnglishInflector implements InflectorInterface // Third entry: Whether the suffix may succeed a vowel // Fourth entry: Whether the suffix may succeed a consonant // Fifth entry: plural suffix, normal + // axes (axis) + ['sixa', 4, \false, \false, 'axes'], // criterion (criteria) ['airetirc', 8, \false, \false, 'criterion'], // nebulae (nebula) @@ -270,6 +272,8 @@ final class EnglishInflector implements InflectorInterface 'seiceps', // traffic 'ciffart', + // aircraft + 'tfarcria', ]; public function singularize(string $plural) : array { diff --git a/vendor/symfony/string/LazyString.php b/vendor/symfony/string/LazyString.php index 19906db2d..fd26e4448 100644 --- a/vendor/symfony/string/LazyString.php +++ b/vendor/symfony/string/LazyString.php @@ -35,7 +35,7 @@ public static function fromCallable(callable|array $callback, mixed ...$argument $callback[1] ??= '__invoke'; } $value = $callback(...$arguments); - $callback = self::getPrettyName($callback); + $callback = !\is_scalar($value) && !$value instanceof \Stringable ? self::getPrettyName($callback) : 'callable'; $arguments = null; } return $value ?? ''; diff --git a/vendor/symfony/string/Slugger/AsciiSlugger.php b/vendor/symfony/string/Slugger/AsciiSlugger.php index 5583f4868..45bcc3c50 100644 --- a/vendor/symfony/string/Slugger/AsciiSlugger.php +++ b/vendor/symfony/string/Slugger/AsciiSlugger.php @@ -32,7 +32,7 @@ class AsciiSlugger implements SluggerInterface, LocaleAwareInterface * @var \Transliterator[] */ private array $transliterators = []; - public function __construct(string $defaultLocale = null, array|\Closure $symbolsMap = null) + public function __construct(?string $defaultLocale = null, array|\Closure|null $symbolsMap = null) { $this->defaultLocale = $defaultLocale; $this->symbolsMap = $symbolsMap ?? $this->symbolsMap; @@ -62,7 +62,7 @@ public function withEmoji(bool|string $emoji = \true) : static $new->emoji = $emoji; return $new; } - public function slug(string $string, string $separator = '-', string $locale = null) : AbstractUnicodeString + public function slug(string $string, string $separator = '-', ?string $locale = null) : AbstractUnicodeString { $locale ??= $this->defaultLocale; $transliterator = []; diff --git a/vendor/symfony/string/Slugger/SluggerInterface.php b/vendor/symfony/string/Slugger/SluggerInterface.php index b32056af3..8b99efb61 100644 --- a/vendor/symfony/string/Slugger/SluggerInterface.php +++ b/vendor/symfony/string/Slugger/SluggerInterface.php @@ -21,5 +21,5 @@ interface SluggerInterface /** * Creates a slug for the given string and locale, using appropriate transliteration when needed. */ - public function slug(string $string, string $separator = '-', string $locale = null) : AbstractUnicodeString; + public function slug(string $string, string $separator = '-', ?string $locale = null) : AbstractUnicodeString; } diff --git a/vendor/symfony/string/UnicodeString.php b/vendor/symfony/string/UnicodeString.php index f90ae774e..39a5e2da0 100644 --- a/vendor/symfony/string/UnicodeString.php +++ b/vendor/symfony/string/UnicodeString.php @@ -148,7 +148,7 @@ public function indexOfLast(string|iterable|AbstractString $needle, int $offset $i = $this->ignoreCase ? \grapheme_strripos($string, $needle, $offset) : \grapheme_strrpos($string, $needle, $offset); return \false === $i ? null : $i; } - public function join(array $strings, string $lastGlue = null) : static + public function join(array $strings, ?string $lastGlue = null) : static { $str = parent::join($strings, $lastGlue); \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); @@ -214,13 +214,13 @@ public function replaceMatches(string $fromRegexp, string|callable $to) : static \normalizer_is_normalized($str->string) ?: ($str->string = \normalizer_normalize($str->string)); return $str; } - public function slice(int $start = 0, int $length = null) : static + public function slice(int $start = 0, ?int $length = null) : static { $str = clone $this; $str->string = (string) \grapheme_substr($this->string, $start, $length ?? 2147483647); return $str; } - public function splice(string $replacement, int $start = 0, int $length = null) : static + public function splice(string $replacement, int $start = 0, ?int $length = null) : static { $str = clone $this; $start = $start ? \strlen(\grapheme_substr($this->string, 0, $start)) : 0; @@ -235,7 +235,7 @@ public function splice(string $replacement, int $start = 0, int $length = null) $str->string = $string; return $str; } - public function split(string $delimiter, int $limit = null, int $flags = null) : array + public function split(string $delimiter, ?int $limit = null, ?int $flags = null) : array { if (1 > ($limit ??= 2147483647)) { throw new InvalidArgumentException('Split limit must be a positive integer.');